Our aim will be to explain the simulation types and parameters we use in 3d software as much as we can. You can also see it as a kind of simulation dictionary.
RIGID BODY
It means solid, undeformable (at sub-levels like vertex, polygons) body. RBD can be achieved by adding certain physical properties of solid objects to the simple mesh via tag, modifier, fx.
Some universal parameters are as follows.
Type
It determines the motion type of the object.
Dynamic/Rigid - defines as movable object.
Kinematic - Keyframed mesh maintains keys and affects RBD meshes but not affected by them.
Static/Collider - Defines static collider mesh like floor.
Trigger
Defines the conditions under which the simulation of the object will start. There are usually Immediately, On Collision, Velocity Peak, Start On Sleep options.
Immediately - Simulation starts the moment it played.
On Collision/Start on Sleep - Starts the simulation at the moment of collision with another object.
Velocity Peak - Activates simulation when the keyframed object reaches the highest velocity.
By Script Xpresso, It starts by special conditions specified by scripts such as MaxScript or Xpresso.
Custom Initial Velocity / Motion
It adds initial motion, rotational speed and direction in the XYZ axes to the object.
Linear Velocity : Adds an absolute velocity on the XYZ axis.
Angular Velocity : Adds an absolute rotational velocity on the XYZ axis.
Collision
Controls whether it interacts with other RBD objects.
Self Collisions controls whether the object interacts with its own parts. It is more necessary and evident in cloth simulations. It is an important parameter that affects the simulation time.
Density / Mass
It determines the density, mass of the object. The software automatically calculates this according to the volume of the object. Values can be played within detailed simulations.
Bounce / Friction
While bounce increases the movement and bounce of object, friction is opposite, lowers the energy. The point to note here is that these values work when two RBD bodies interact. When you drop a ball on the floor, the floor must also have the RBD feature, and the Bounce/Friction values on both the floor and the ball control the total interaction.
Forces
Determines the forces like Gravity, Wind, Vortex, Turbulence etc. to be included in or excluded from the simulation. We will have detailed Forces posts.
Damping comes standard force in many software. Damping is the reduction of the kinetic energy of the object. For example, if the objects cannot stop in your simulation (which is a very common situation), adding some Linear and Angular damping will solve the problem.
Solver Iteration / Steps per Frame
It determines how many times calculations will be made in each frame. Increasing the value results in more consistent and smooth simulations, but is another important factor affecting the computational speed.
Cache / Bake
Calculates the simulation and stores it in memory. When we play, the stored simulation is played instead of re-calculating. In addition to being able to see our simulation faster in the Viewport, it allows it to be played smoothly from the frame we want. In non-cached simulations, you should always start play from the first frame.
Initial State
We can define any proper simulated frame as our initial starting frame. For example if we think that 200th frame of simulation is appropriate for starting point, we can assign positioning in the 200th frame to the first frame of simulation.
The Clear command clears the Initial State and returns the objects to their pre-simulation positions.
Mesh / Shape
Important one here. In simulations, depending on the complexity of our objects, collision detection is one of the most time-consuming tasks.
This applies to all simulations, liquid or gas.. In RBD simulations, the processing time increases as the complexity of the object increases. To save time, the software provides us imaginary objects that are easy to calculate, surrounding the object. These imaginary objects are created by referencing the outer points of our RBD object and it is called "Bounding Shape".
Box : It is used to calculate cubic shapes.
Sphere : It is used to calculate spherical shapes.
Convex : Calculates convex surfaces. Sphere is also a convex shape.
Concave : It is used to calculate concave surfaces pots, plates, bowl etc. If we had assigned Bounding Shape as Convex instead of Concave below, the ball could not be able to fall into the bowl.
Note that in the teapot above, the ball unable to fall into the concave gap, and in the simulation below, the convex dome in the center unable to be calculated correctly.
Mesh/Original : Object itself used as the Bounding Shape. Concave and Convex calculations are calculated together. It is the most ideal type. It is also the slowest one to compute.
Apart from these, Capsule, Cylinder etc. Bounding Shape types are also available.
If we have an extremely complex object and the simulation becomes incalculable because we use Mesh/Original, we can speed up the simulation by cutting the object from its appropriate inner, convex, cubic, spherical regions and applying a separate Bounding Shape to each region.
One-piece hollow cubic body. Shape Type: Cube The ball can't go through the hole. If we assign Bounding Shape Mesh/Original, the simulation will be extremely slow in more complex shapes, although it is not felt in such simple examples.
The same object, divided into 4 parts. Shape Type: Cube.
Since the Bounding Shape is calculated over the outermost vertices of the RBD object, the ball passes through it since the space between is not a part of the any object.
Another example:
Next article will be on Soft Body and Cloth.
Stay safe.
コメント