You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Concisely describe the proposed feature
I'd like to intergrate Taichi into Blender's Python scripting module so that people could play with their customized Taichi physics engine in Blender.
What we want is to create animation in Blender. For example, a ball falls down on to the surface of a cloth, the cloth breaks violently.
The cloth will encounter deformations and even mesh breaks, that means we must treat each frame as a different mesh.
Describe the solution you'd like (if any)
Solution 1
What I know about how to treat each frame as a different mesh is the Stop-motion-OBJ plugin by @neverhood311. Currently it is able to load a mesh sequence into Blender and play, with each frame a different mesh.
However, it seems to be not yet able to create a mesh without reading from disk. I asked @neverhood311 if we could create a mesh sequence from Python in neverhood311/Stop-motion-OBJ#104, inputs are welcome!
Before neverhood311/Stop-motion-OBJ#104 is resolved, I used some tricks to make it possible to create a mesh sequence from Python:
First, create a empty mesh sequence of length 250:
Serious memory leakage, it seems to be filling up all my 16GB memory with ~20 replay.
Cannot reload the generated meshes after reopening .blend file, it is stationary at the current frame.
Can't do other things during the rendering process, the Blender is stucked until the Python script is done.
Solution 2
It seems to me that Blender already have several built-in physics solver.
Is that possible to make taichi a blender plugin and become one of these solvers, like taichi_elements did? @PavelBlend Would you share some insights on how to add a user-written solver (instead of our specific MPMSolver) to Blender?
It should be not only able to do the particle simulations, but also mesh cloth simulations like mentioned above.
I think that you can create one mesh object and update its geometry when the frame changes.
To do this, just add a function to update the geometry in handlers:
Concisely describe the proposed feature
I'd like to intergrate Taichi into Blender's Python scripting module so that people could play with their customized Taichi physics engine in Blender.
What we want is to create animation in Blender. For example, a ball falls down on to the surface of a cloth, the cloth breaks violently.
The cloth will encounter deformations and even mesh breaks, that means we must treat each frame as a different mesh.
Describe the solution you'd like (if any)
Solution 1
What I know about how to treat each frame as a different mesh is the Stop-motion-OBJ plugin by @neverhood311. Currently it is able to load a mesh sequence into Blender and play, with each frame a different mesh.
However, it seems to be not yet able to create a mesh without reading from disk. I asked @neverhood311 if we could create a mesh sequence from Python in neverhood311/Stop-motion-OBJ#104, inputs are welcome!
Before neverhood311/Stop-motion-OBJ#104 is resolved, I used some tricks to make it possible to create a mesh sequence from Python:
First, create a empty mesh sequence of length 250:
Then, import it into Blender via Stop-motion-OBJ.
Then, iterate through the mesh sequence, and change the current frame mesh name one by one:
However, this solution seems to have 3 downside:
.blend
file, it is stationary at the current frame.Solution 2
It seems to me that Blender already have several built-in physics solver.
Is that possible to make
taichi
a blender plugin and become one of these solvers, liketaichi_elements
did?@PavelBlend Would you share some insights on how to add a user-written solver (instead of our specific
MPMSolver
) to Blender?It should be not only able to do the particle simulations, but also mesh cloth simulations like mentioned above.
Additional context
@PavelBlend @neverhood311 @yuanming-hu What's your opinion on these solutions? Inputs are welcome!
The text was updated successfully, but these errors were encountered: