Posts: 2
Threads: 1
Joined: Nov 2022
Reputation:
0
02-11-2022, 01:01 PM
Hi, I am a new Obi user and I am trying to use the Obi Softbody package.
Am I bound to use a mesh to generate a volumetric softbody? Or can I somehow build an arbitrary rigged volume without a mesh?
My characters are procedural (editor time) and I wish to write my own render for the volume and thus do not care for any skinned or original mesh.
/Arni
Posts: 6,348
Threads: 24
Joined: Jun 2017
Reputation:
400
Obi Owner:
02-11-2022, 01:21 PM
(This post was last modified: 02-11-2022, 01:32 PM by josemendez.)
Hi Arni,
Using the included blueprint generator yes, you need to use a mesh. This is because it's by far the most straightforward way to define an arbitrarily shaped volume for particle generation, regardless of whether you use a mesh for rendering or not.
Note that rendering and simulation are completely decoupled in Obi, you can use completely different meshes for generating the blueprint and rendering the softbody. Typically you will always use a mesh to generate the blueprint, but using a mesh for rendering is completely optional: just don't add a ObiSoftbodySkinner component to your softbody, and render it some other way.
You could write an entirely custom blueprint generator, but that's probably more complex than just creating a mesh that encloses the volume you wish to generate particles in, and pass that to the included blueprint generator. This depends on how complex it is to create a mesh that encloses your volume is for your use case, though.
kind regards,
Posts: 2
Threads: 1
Joined: Nov 2022
Reputation:
0
04-11-2022, 08:31 PM
(This post was last modified: 06-11-2022, 09:32 AM by ArniA.)
Hi Jose,
I appreciate the quick responds! I see your point and I need to further investigate Obi features and code to figure how to best incoporate Obi into my pipeline.
I am currently exploring writing my own blueprint generator and own actor. And so far so good. However, I am curious as to why it was not until I had added the ConstraintUser interfaces to my custom actor before the constraint defined in the blueprint generator started working?
EDIT: I am asking this because I could not find any reference as to where these interfaces are used other than some Merge method.
Furthermore, assume I have a long Obi rod and I want to vary the stretch compliance accross the particles of the rod; then I can use the index parameter defined in IStretchShearConstraintsUser.GetStretchShearCompliance to return the appropriate complience value depending on that index param?
/ Arni