Jump to content
hoknamahn

How To Export Objects From Dops To Sops?

Recommended Posts

For example, I have two objects: obj1 - sphere, obj2 - ground plane. I use this objects for simulation (sphere falls on the plane). And I want to export the "simulated objects" (sphere and ground plane) from DOPs to SOP level (something like the Object Merge SOP can do).

Is it possible?

Share this post


Link to post
Share on other sites
For example, I have two objects: obj1 - sphere, obj2 - ground plane. I use this objects for simulation (sphere falls on the plane). And I want to export the "simulated objects" (sphere and ground plane) from DOPs to SOP level (something like the Object Merge SOP can do).

Is it possible?

20475[/snapback]

Perhaps I'm misunderstanding but you can send your simulation to CHOPs (there's an example file) and then I guess in SOPs you can use an object merge. Will that do what you need?

I don't know if you can send a live Simulation to SOPs. Then I again, I don't have a full grasp of DOPs.

Cheers,

Rick

Share this post


Link to post
Share on other sites
For example, I have two objects: obj1 - sphere, obj2 - ground plane. I use this objects for simulation (sphere falls on the plane). And I want to export the "simulated objects" (sphere and ground plane) from DOPs to SOP level (something like the Object Merge SOP can do).

Is it possible?

20475[/snapback]

Yea use an object merge.

For the path use the path to your dop network...ie

/obj/dopnet1

then use a ":" to specify which DOP object you want....

ie

rbdobject1

then specify what Data you want to object merge...

Geometry

so it becomes

/obj/dopnet1:rbdobject1/Geometry

Share this post


Link to post
Share on other sites

OR if you want to pull in all your objects, just put /obj/dopnet1 in the Object Merge SOP. The object anme and geometry data path are optional. You can also use the DOP Transform SOP if you already have the geometry in a SOP network and just want to move the geometry around based on the transforms of the DOP Objects. This also lets you use proxy geometry for your simulation. There should be an example demonstrating this on the DOP Transform SOP help card.

Mark

Share this post


Link to post
Share on other sites

hey all

i dont know why

but this doesnt work with RBD fractured objects

any idea why not?

thanks in advance

aracid

Share this post


Link to post
Share on other sites

hey mtucker

take a look at this file, under the /obj/fractured_OBJ/object_merge2

when i try merge the glassShard DOP, it doesnt show up

only the forceObj and rbdobject4

test file

so i end up just merging

/obj/breakUpGlass_DOP

and deleting the other obj's

wierd hey?

thanks in advance

aracid :blink:

Share this post


Link to post
Share on other sites

I'm guessing this is just confusion over the format of the string that goes into the Object Merge SOP. You cannot specify the name of a DOP node in that field. You can either specify the name of a DOP Network (/obj/breakUpGlass_DOP), or you can specify a specific set of DOP data to merge in. To do this, you put in a string of the format:

dopnetpath:objects/datapath

So in this case, the glassShard DOP creates objects named groupstamp_1-groupstamp_127. And you want to extract the Geometry data off of each of these objects. So you want to use the string:

/obj/breakUpGlass_DOP:groupstamp*/Geometry

This says extract the data named Geometry from every object that matches the pattern "groupstamp*" from the DOP Network /obj/breakUpGlass_DOP.

I hope this helps clear things up,

Mark

Share this post


Link to post
Share on other sites

There are a bunch of ways to get information out of DOPs:

Object Merge can extract one or many Geometry data.

DOP Transform SOP can extract transform and velocity information from DOPs and apply it to existing SOP geometry (see the help card example).

The dopfield expression (in combination with the other dop expressions - do "help dop" to see them all) can extract basically any information available in the tree that shows up for DOPs in the Details View pane.

Dynamics CHOP can extract pretty much any data available through dopfield expressions, but it can extract a whole bunch of fields at once using wildcards, and can extract the data through the whole simulation to create an animation curve from any data available through dopfield. SEe the help card example file for this CHOP.

SOP expressions can reference DOP geometry data directly.

The Geometry CHOP can reference DOP geometry directly.

The Fetch Object can extract the transform from DOP Position data directly.

POPs that take a SOP path can accept a path to DOP Geometry data.

The Geometry ROP will accept a path to DOP Geometry data.

The Dynamics ROP can save entire simulation states to disk. The File DOP and File Data DOP allow saving and loading of entire simulation states and individual pieces of simulation data respectively.

So thee are lots of ways to extract DOP data. Geometry and Position data have the most specialized OPs to help in that extraction, but then there are the dopfield expression and the Dynamics CHOP to let you get at everything else (it just may not be as elegant).

Mark

Share this post


Link to post
Share on other sites

hey all

this concept works well with geometry that is created on frame 1

but it doesnt pick this up if the object is created later in the animation.

any one know why?

thanks in advance

:blink:

Share this post


Link to post
Share on other sites

problem solved with a active value DOP, figured id just animate that :)

never the less, the problem still exists when loading a specific DOP that is not birthed at frame 1 though a object merge.

:blink:

Share this post


Link to post
Share on other sites

Yep, this is a known issue with a couple of workarounds. One is to have the Object Merge import the whole DOP Network (/obj/dopnet1 instead of /obj/dopnet1:rbdobject1/Geometry). Also have it create groups for the imported objects, then delete all geometry that isn't in the group for the object you want. This will work, but will be slow. Probably a better solution is to use a Switch SOP with a dop expression to test if the object exists, and based on that value either pass through a null SOP or the Object Merge SOP pointing to the specific object you want.

Mark

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×