Posts Tagged ‘Realism’

SimplyCube beta first independent review

March 15, 2010

When we launched our beta a little more than a month ago, one of our main expectations was to see how people will review and comment our product. We’ve received recently a first in depth review of the beta by a PhD student at the Department of Computing of the Imperial College of London. To let you judge by yourself here is the conclusion of the review:

“The tool claims to be “The easiest tool to create real-time 3d software”, this beta release is a first step at this. It provides a good SDK for a rendering engine with physics. This provides some novel features such as the support for multiple physics engines in the same application and a nice Day/Night lighting system. The SDK looks like a good stepping stone to an intuitive user interface. Which is due in a future release. The engine is meant to support robotics and simulations however the beta currently gives limited intuition on how will it fulfils this role.

In summary this is an interesting product since it leverages and extends a number technically competent products from Microsoft namely the .Net framework in C#, Microsoft’s Robotics Studio and the XNA Games Studio. This provides a good starting point and it will be interesting to see how this product develops.”

SimplySim beta review

Click to read the full report (PDF)

This first independent review comes as a support for our SimplyCube, because although only a fraction of the final product has been tested (the editors are not yet available in the beta), the strong points highlighted by the review are the one we’ve been working for:

  • An easy to use 3D real time simulation SDK
  • A multi-physics engine, physics simulation
  • Advanced 3D rendering with post processing and lightning effects

The product continues to evolve, and as I said in last week’s post the next step is a series of demos showing a more advanced use of the engine. Of course, if you want to get a better idea of what our product is worth, register for the beta and test the product by yourself! And if you make your own review of our product, we’ll be glad to post it here.

SimplyCube, a complete real time 3D solution

January 29, 2010

In the first post of this blog we’ve introduced briefly our simulation engine. Now we are moving closer to the release of the first beta version of this engine and it’s time start talking about what’s coming next. And this is the SimplyCube.

SimplyCube logo

The SimplyCube

The SimplyCube is the real commercial name of our product offer; it is composed of two elements: the simulation engine, and a set of editors. The SimplyEngine is for software developers, and though we’ve made it as simple and easy to use as possible, creating a full simulation scene is always much easier with graphical edition tools. Each of these editors addresses a specific aspect of creating a 3D application. Used independently they allow precise tuning and customization of each element of a real time 3D scene. Used together they allow quick editing of a complete simulation scene, with no specific knowledge of 3D software development. Today we’ll present the first four editors we’ll release:

SimplyEdit

The SimplyEdit

The SimplyEdit, is our 3D scene editor. This is the central tool where you can set up the 3D scene. From the definition of the basic setting of the scene (ground, water, sky) to arranging objects and light sources in the scene to finally setting up the last details before importing the scene in your application.

Here’s a quick list of things you can use in this tool to define the scene:

  • Terrain (ground, water, underwater, sky)
  • Objects (we can import any model created by Autodesk software, more detail in “asset compiler”)
  • Lights and shadows (several lights and shadow type available)
  • Sounds (2D or 3D sound sources)
  • Post processing effect (for advanced rendering)

The edition possibilities of SimplyEdit are however kept simple, to keep the user interface understandable, pleasant and easy to use. For most of the simulation elements, you’ll simply have to choose between different options in a list. For example the 3D model are not created or modified by the SimplyEdit, you can just choose which model to import and where to set them up in the scene. Of course we leave you the possibility to control and edit things more in depth, but this is done separately in the other editors (to keep our example, to define in detail how a specific 3D model should look, how it should react to lights, you’ll have to use the SimplyShader editor).

Asset Compiler

The Asset Compiler

The Asset Compiler is an essential tool to import assets in our simulation engine (a first version of the Asset Compiler will be available in the beta of the Simulation Engine). It can process any 3D model file in the .FBX file format, which mean you can import any 3D model created by Autodesk 3D edition tools (Maya, 3DS Max …). We are also compatible with the .X file format so you can import any XNA compatible 3D model. The asset compiler can also import textures files (images in BMP, JPG, DDS…) and shaders (.fx) created by FX Composer (Nvidia) or Render Monkey. This ensures two important things:

  • You can rely on the high quality creation tools of other software editors (Autodesk, Nvidia, AMD…)
  • If you have already existing libraries of 3D models, you can easily import them in our tools.

SimplyPhysics

The SimplyPhysics

The SimplyPhysics editor is a unique tool to define every physic property of a 3D object. As we’ve seen before, accurate physic simulation is essential, as it guarantee the realistic behavior of objects in a 3D scene. To ensure this accurate physic simulation, it is essential to define the properties of every 3D objects. With the SimplyPhysics, you can define:

  • The mass/or density of any object
  • Simple collision shapes for accurate and efficient physic collisions
  • The physics properties of objects (damping, inertia, force and torque)
  • The material properties of objects (friction, elasticity)
  • Joints (to create complex physics objects)

It is important to note that thanks to our multi physic engine support, the properties of the objects are defined for every physic engine in a single editor. Of course, the 3D models we provide with our simulations are already set up with correct physic settings, so if you’re a novice user you can create simulation without having to bother about physic concepts.

SimplyShader

The SimplyShader

The SimplyShader is an edition tool where you can define and configure the “shaders” that affects a 3D object. “Shaders” are advanced 3D graphics techniques that enable very realistic 3D rendering in real time. In the SimplyShader you can add details and texture to an existing 3D model, set up the way the object react to light, or the reflection of an object. Here is a list of the type of “Shader” you can define in this editor:

  • Multi layered surface
  • Normal and Parallax mapping (add relief to an object)
  • Self illumination (for object that are also light sources)
  • Reflections
  • Specular mapping (define the way the object react to light)

Upcoming editors

We have several other editors planned for 2010, 2011 and 2012, they will bring new easy edition capabilities and give you more control on the simulation. We’ll announce them on this blog.

Real time 3D simulation scene created with the SimplyCube

Real time 3D simulation scene created with the SimplyCube


More about our UAV simulation

November 27, 2009

Today, Loïc Morvan, who created the UAV  simulation (UAV stands for unmanned aerial vehicle). I have presented in a video last week, is going to tell us more about his work.

SimplySim UAV Simulation

Loïc, what is exactly behind this UAV simulation?

Well, this is a real physic 3D real-time simulation that you see here. It is based on Microsoft XNA for 3D rendering, and on different physic engines for physics. The simulated drone which is flying here has real physic attributes such as its mass, inertia, collision shapes… and it behaves realistically to torques and forces we apply to it. The physic equations are solved by precise discrete solvers, which make the drone having a behavior close to reality.

How did you build that simulated drone, and how long did that take?

The whole construction of the simulated drone did not take more than a few days.

First, we need the 3D model of the drone. That part of the work is done by our 3D designers, and it is actually the longer (1 or 2 days).

Then, we have to define the physic shapes of the drones, and physic constraints (mass, dynamic friction, static friction…). As the physic shapes are defined independently from the 3D model, we can choose our degree of complexity by using more or less accurate physic shapes.

Once the 3D model and physic properties are defined, I have attached some sensors, like the camera and the inclinometers.

Finally, I have added the rotors which are generic objects composed by a rotor blade and an engine (mechanic joint), so that the drone flying algorithm can be implemented.

That was over. The next step was to implement the drone control algorithms to test its behavior.

The simulated drone is supposed to behave like the real one, but you use generic objects, how can you explain that?

Generic objects such as the rotors have many parameters so that you can customize them to create your precise item. Here I have set particular max rotation speed and max torque for my rotors, but we could imagine setting other values for another drone.

What about the drone sensors (camera, inclinometers…)?

We also use generic elements. If you want to create a particular simulated motion camera, you just have to take our generic one and modify the parameters: size and quality of the pictures, number of frames per second, additional noise… That’s it!

Could you tell us more about how the wind is simulated?

The simulated wind is pre-generated considering the static objects (buildings…) which compose the simulation. This generation produces a 2D or 3D map which contains the wind information in each 3D point of the environment. Some of the algorithms we use for that come from the world of image processing.

The map is then inserted into the simulation and the wind is applied to every physic object.

You talk about “multi physic engine compatibility”, could you explain what it is exactly?

A physic engine is the program which computes the physic calculations. It contains the discrete solver used to integrate the equations. There are many physic engines available on the market: PhysX, Newton Game Dynamics, Havok, ODE…

Today, most of simulations are compatible with only one of these physic engines. What we do at SimplySim, is to provide the ability to be compatible with any of them, thanks to a technology that we have called SimplyDynamics. This is why we can talk about “multi physic engine compatibility”.

When you create a 3D simulation, do you only need the SimplyEngine?

No, I also need the 3D models of what I want to simulate. For the drone, we have modeled the drone and the 3D environment with 3D modeling tools which our not created by SimplySim. After that, we worked with the SimplyEngine and with our own edition tools.

Can you tell us a bit more about these edition tools ?

These edition tools represent an easy and graphic way to create the different parts of a simulation. For instance, we have one editor to design the physic properties, which is more user-friendly than typing code! There are a lot of other editors we prepare, some of them will be released in 2010, the goal is really to ease as much as possible the process of creating a 3D simulation.

ENTVKX3SPZDZ


Drone in city center video

November 20, 2009

Today we introduce a first video of the SimplyEngine (our new 3D simulation engine). This video shows a demo we created around the use case of a UAV (unmanned aerial vehicle) simulation in a city center.

If you want to learn more about our drone simulation, check out this page. We’ll also make a longer post here in the following weeks to give you a more detailed view of our work on this simulation. By the way if you have questions or comments, feel free to ask 😉


Introducing our « 3D simulation engine » : the SimplyEngine

November 18, 2009

Since the beginning of 2009, we’ve been busy working on a new product to increase dramatically the realism of real time 3D simulations. I think it is now time to start showing the first preview of this new product… In today’s post we’ll talk about the driving ideas behind the product, why we created it, and the early conception choices we have made.

3D urban environment by SimplySim

Realism is more than just nice looking 3D

Since we have launched our company, our mission has been to bring the most realistic 3D simulations to our customers. 3D simulation consists of creating a virtual model of a real life (or hypothetical) situation, usually to study it (there are other uses of 3D simulation technologies that we will discuss in another post). Realism is of course the goal of anyone who develops or uses a simulation.

3D graphic realism can be stunning nowadays but it represents only one element of realism. 3D is only a tool, which should be made as useful as possible for the real aims of the software application. When we decided to create our simulation engine, we had of course graphic realism in mind (and I think the screenshots tells enough of what we have done on that point) but more importantly we had identified other essential aspects of realism for our product.

The SimplyEngine is what we like to call a “3D simulation engine”, that is the core software on which any real time 3D simulation can be built. We decided to call it a “simulation engine”, because it is not only a nice looking 3D engine, but it includes important elements for physic realism and for software and hardware interactions.

Physic simulation

Our first 3D simulations were made for robotic simulation. Testing and validating the behavior of a robot in a 3D software application is a challenging task. One essential aspect of this challenge is physics realism: creating a simulation where objects behave realistically, where they are liable to physic laws.

When we created our product, physic realism was one of the key priorities. We have created a full software library dedicated to it, with among other thing the ability to use any of the physic engines available on the market (NVidia PhysX, Newton Game Dynamics, Havok, ODE…).

Interactions with software and hardware

As I was saying above, we really consider that 3D technologies should be a tool. A tool that can be applied to many problems and that therefore should have the ability to interact easily with many other elements (software, hardware or human beings) to create a solution.

Our 3D simulation engine is based on a service oriented software architecture that has been designed to make every part of our product easily compatible with any other software application. We’ll discuss in an upcoming post the benefits of our service oriented software architecture.

Ease of use

Finally, we believe that the user should always be the main focus of any software application. That’s why our developments are focused on the ease of use of our products. Our goal is that any software developer should be able to use 3D technologies in his applications, and in ways relevant to his business needs, without any specific formation. Again it will take another post to tell you more about the efforts we made on the ease of use… stay tuned! 🙂