Ahem. Yes, the group contents should be available in both the simulation tree view and the MMB popup for the Group DOP. For now, the easiest way to do it is using the dopobjectlist expression:
echo `dopobjectlist(“/obj/dopnet1”, “groupname”, 1)`
Bug submitted.
Mark
Found 1023 posts.
Search results Show results as topic list.
Technical Discussion » DOPS: How to see what's in a group?
- mtucker
- 4443 posts
- Offline
Technical Discussion » DOPs: Point SOP type functionality?
- mtucker
- 4443 posts
- Offline
The full path to the “vel” field in the Detail view can be broken down into several parts:
Object Name - table
Data Name - Constraints/Anchor_rbdconstraint1_constraint1_3
Record Name - Options
Field Name - vel
So the Data Name in the Modify Data DOP should be set to the Data Name listed above. The Record Name does not need to be specified because the Modify Data DOP can only work on the record named “Options”. And then you have the Field Name (Valu 0 Name) set correctly. The only other thing you may want to do is change the Group of the Modify Data to “table” so that the Modify Data will only affect the object named table.
The RFE you suggest has already been submitted in a slightly different form. The idea is that DOP objects and DOP data would appear as child branches off the DOP Network in the regular tree browser that the Object Merge already uses.
Mark
Object Name - table
Data Name - Constraints/Anchor_rbdconstraint1_constraint1_3
Record Name - Options
Field Name - vel
So the Data Name in the Modify Data DOP should be set to the Data Name listed above. The Record Name does not need to be specified because the Modify Data DOP can only work on the record named “Options”. And then you have the Field Name (Valu 0 Name) set correctly. The only other thing you may want to do is change the Group of the Modify Data to “table” so that the Modify Data will only affect the object named table.
The RFE you suggest has already been submitted in a slightly different form. The idea is that DOP objects and DOP data would appear as child branches off the DOP Network in the regular tree browser that the Object Merge already uses.
Mark
Technical Discussion » DOPs: Point SOP type functionality?
- mtucker
- 4443 posts
- Offline
Huh, I didn't even know that Velocity value existed in the Constraint data That's part of why I was confused by your first post…
Anyway, since that velocity value has a parameter associated with it on the DOP node that created it (though the parameter is inside a locked subnet), it is probably safe to set it however you see fit. It may produce “unrealistic” results, but if that's the look you're going for then that's a perfectly valid thing to do. I was recently shown a hip file where point velocities on a deforming object were multiplied by ten so that anything hitting the object would act like it had been hit by something moving much faster. In the context of that file, this gave the desired look, even though the “real” physics of it was highly dubious.
Anything you see in the Details View can be modified using a Modify Data DOP or a Script Solver DOP. Being able to hand-tune features of a simulation in a non-realistic way is one of the big strengths of DOPs. So don't be shy about tweaking whatever you want to get the results you want. The RBD solver in particular was designed to be extremely robust in terms of having objects modified in arbitrary ways from one timestep to the next precisely so that you could make these kinds of changes without worrying about “breaking” the simulation.
Mark
Anyway, since that velocity value has a parameter associated with it on the DOP node that created it (though the parameter is inside a locked subnet), it is probably safe to set it however you see fit. It may produce “unrealistic” results, but if that's the look you're going for then that's a perfectly valid thing to do. I was recently shown a hip file where point velocities on a deforming object were multiplied by ten so that anything hitting the object would act like it had been hit by something moving much faster. In the context of that file, this gave the desired look, even though the “real” physics of it was highly dubious.
Anything you see in the Details View can be modified using a Modify Data DOP or a Script Solver DOP. Being able to hand-tune features of a simulation in a non-realistic way is one of the big strengths of DOPs. So don't be shy about tweaking whatever you want to get the results you want. The RBD solver in particular was designed to be extremely robust in terms of having objects modified in arbitrary ways from one timestep to the next precisely so that you could make these kinds of changes without worrying about “breaking” the simulation.
Mark
Technical Discussion » DOPs: Point SOP type functionality?
- mtucker
- 4443 posts
- Offline
I don't understand what you want to do with the Veocity information? Where is th velocity information coming from and what would you like to apply it to? Is this all within DOPs? Do you want to modify the velocity point attributes of the table geometry within a DOP simulation? If so you can use a SOP Solver on the table and dop expressions to access the velocity from the person (using the dopvelatpos expression). But it doesn't sound to me like this is what you want to do…
Mark
Mark
Houdini Lounge » creating objects that are held together until broken (vase)
- mtucker
- 4443 posts
- Offline
There is also a Breaking Rock example file that comes with Houdini 8 (linked from one of the help cards, probably RBD Glue Object) that includes the SOPs for breaking up the rock. Probably very similar to the bunny file, but it always helps to have more examples…
Mark
Mark
Technical Discussion » RBD without volumes
- mtucker
- 4443 posts
- Offline
There is nothing wrong with your hip file. It really is just luck that Craig's example works and your doesn't. There is a randomization of object order when solving RBD, and the resulting order indirectly determines whether the file is going to work or not. This is because of a bug which should be fixed in the next version or two of H8. Thanks for bringing this rather important issue to our attention.
Going back to rolling/sliding, if you find that an object doesn't roll smoothly down a surface, you can always increase the number of divisions in the SDF, just as you can increase the number of polygons to make your geometry smoother (and thus roll more smoothly). Note that if you turn off volume based collision detection, we convert the surface to triangles to do the direct surface-surface collision detection, so there is always not discretization of the collision detection. But you really don't need too much detail to get a surface with behavior that is visually indistinguishable from a truly smooth object (depending on how close you look, of course).
Mark
Going back to rolling/sliding, if you find that an object doesn't roll smoothly down a surface, you can always increase the number of divisions in the SDF, just as you can increase the number of polygons to make your geometry smoother (and thus roll more smoothly). Note that if you turn off volume based collision detection, we convert the surface to triangles to do the direct surface-surface collision detection, so there is always not discretization of the collision detection. But you really don't need too much detail to get a surface with behavior that is visually indistinguishable from a truly smooth object (depending on how close you look, of course).
Mark
Technical Discussion » DOPS Details view RFE
- mtucker
- 4443 posts
- Offline
Here is the deafening silence Peter refers to:
http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=3899 [sidefx.com]
Not that this is a solution to the lack of details view documentation, but each branch in that view (not the leaves of the tree, but any branch) will show you the name of the DOP node that created that piece of data. So to learn all about that data, you can go to the DOP node that created it and look at its help card. That shold at least explain what each piece of data is for. The Options branch off any piece of data will generally contain values that are equal to the parameter values set on the creator DOP node, so the help for any particular piece of data (or option on the data) can currently be found on the DOP node help card.
Obviously we will continue to work on the DOPs documentation, but for now if you have any specific questions, don't hesitate to ask here. We'll try not to ignore you the way we do Peter
As for the RFE that started this thread, it has been submitted. Thanks Peter.
Mark
http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=3899 [sidefx.com]
Not that this is a solution to the lack of details view documentation, but each branch in that view (not the leaves of the tree, but any branch) will show you the name of the DOP node that created that piece of data. So to learn all about that data, you can go to the DOP node that created it and look at its help card. That shold at least explain what each piece of data is for. The Options branch off any piece of data will generally contain values that are equal to the parameter values set on the creator DOP node, so the help for any particular piece of data (or option on the data) can currently be found on the DOP node help card.
Obviously we will continue to work on the DOPs documentation, but for now if you have any specific questions, don't hesitate to ask here. We'll try not to ignore you the way we do Peter
As for the RFE that started this thread, it has been submitted. Thanks Peter.
Mark
Technical Discussion » RBD without volumes
- mtucker
- 4443 posts
- Offline
Yes, there do seem to be some problems with the software in this area. We'll look into them.
As for sliding/rolling, that is entirely dictated by friction, and has nothing to do with the collision detection method used (assuming that the collision detection is working of course). Just create a simple ball with initial x velocity and throw it onto a ground plane (using SDFs for both the ball and the ground), and it will start to roll when it hits the ground. If you adjust the friction of the ball to 0, it will slide when it hits the ground instead of rolling.
Thanks for the hip file,
Mark
As for sliding/rolling, that is entirely dictated by friction, and has nothing to do with the collision detection method used (assuming that the collision detection is working of course). Just create a simple ball with initial x velocity and throw it onto a ground plane (using SDFs for both the ball and the ground), and it will start to roll when it hits the ground. If you adjust the friction of the ball to 0, it will slide when it hits the ground instead of rolling.
Thanks for the hip file,
Mark
Technical Discussion » BUG: VOP String Parameters
- mtucker
- 4443 posts
- Offline
Technical Discussion » BUG: VOP String Parameters
- mtucker
- 4443 posts
- Offline
Ah, my mistake. Far too much overloading of the term “parameter”. Thanks for the example. I've submitted a bug for this.
Thanks,
Mark
Thanks,
Mark
Technical Discussion » RBD without volumes
- mtucker
- 4443 posts
- Offline
Actually, you can do RBD simulations on geometry that are not closed volumes. The key, as you found, is the “Use Volume Based Collision Detection” toggle. I'm not sure about what problems you may be seeing in your specifici case, but there is a help card example files which uses this feature (the Shatter Glass example on the RBD Glue Object help card). I'd appreciate it if you could post your failing hip file (or email it to support@sidefx.com) so we can try to figure out what the problem is.
Thanks,
Mark
Thanks,
Mark
Technical Discussion » BUG: VOP String Parameters
- mtucker
- 4443 posts
- Offline
I couldn't replicate this problem. I put down a VEX Surface VOPNET, put a Parameter VOP inside set to type String, with a default value of Hello. In the Vex code, the word Hello was enclosed in quotes. I then made the Parameter invisible and the word Hello was still enclosed in quotes. This was in 8.0.383 and my latest build. Is there more to duplicating this issue? Or am I misunderstanding completely?
Thanks,
Mark
Thanks,
Mark
Technical Discussion » Overcooked?
- mtucker
- 4443 posts
- Offline
I'm not sure how you are checking the value of the tx parameter, because even a single cook of the node will evaluate the tx parameter twice, so the value should increase by two for each time the null object cook shows up in the performance monitor. The rest of the parameters evaluations are likely caused by parameter dialogs for the Null object evaluating the parameter to show you its current value. So even trying to find out the current value is going to change the value. So I'm not sure I would call this overcooking (or over-evaluation).
Try taking parameter dialogs out of the equation (by making sure none are pointed at the Null), and put “$T” in ty to make it cook every frame, and play for 100 frames. In this situation I got a tx value of 208, which isn't too bad (200 caused by 100 cooks of the Null, plus a few evlautions at frame 1 and frame 101 because I had to open a parm dialog to set the value and to check the value). Trying the same thing with a parm dialog open, I got a value of 304. Which is 200 for the cooks, 100 to evaluate and display the value 100 times in the parm dialog, and a few extra for when I actually set the expression (which I guess causes a couple of extra evaluations of the parm value). Overall I think that's a pretty good job of keeping cooking/evalautions to a minimum…
Mark
Try taking parameter dialogs out of the equation (by making sure none are pointed at the Null), and put “$T” in ty to make it cook every frame, and play for 100 frames. In this situation I got a tx value of 208, which isn't too bad (200 caused by 100 cooks of the Null, plus a few evlautions at frame 1 and frame 101 because I had to open a parm dialog to set the value and to check the value). Trying the same thing with a parm dialog open, I got a value of 304. Which is 200 for the cooks, 100 to evaluate and display the value 100 times in the parm dialog, and a few extra for when I actually set the expression (which I guess causes a couple of extra evaluations of the parm value). Overall I think that's a pretty good job of keeping cooking/evalautions to a minimum…
Mark
Technical Discussion » Dynamics Quickstart tutorial: small problem
- mtucker
- 4443 posts
- Offline
You have to type the string specified in the tutorial into the Object Merge SOP manually. DOP objects do not appear in those node browser trees (because DOP Objects are not nodes). There is already an RFE to add DOP objects to that browser, but we didn't get around to it in time for the H8 release.
Mark
Mark
Technical Discussion » Create new operator type in ver 8
- mtucker
- 4443 posts
- Offline
Houdini Lounge » BUG: HIPNAME not correct in 456.cmd
- mtucker
- 4443 posts
- Offline
I put “echo $HIP\n$HIPNAME” as my 456.cmd file. When I load a hip file, the directory and name of the newly loaded hip file are shown in a message box. Is this not the behavior you get with this setup? Any idea what might be different about your 456.cmd? I tried this in the production release, 8.0.383, as well as my current baseline. Both behaved exactly the same… Any other clues on how to reproduce this? How are you opening the files?
Mark
Mark
Technical Discussion » Q: The Cloth Constraint and the object name
- mtucker
- 4443 posts
- Offline
Yes, there is definitely some inconsistency there. RBD and Cloth Stitch have it, but Cloth and Wire Glue don't have it. This is just one of those details that fell through the cracks. The reason for having this parameter is so that you can constrain two objects to each other (A to B _and_ B to A) with a single node. I guess in our development of these nodes we generally were using a Cloth Constraint to constrain a piece of cloth to a point in space or to an RBD object (in which case the A to B _and_ B to A relationship doesn't work). Similarly for th Wire Glue constraint, we never encountered situations where we wanted to glue one wire object to another wire object.
Rather than having an RFE to make these assets more consistent though, I'll say that there is already an RFE to make constraints more powerful, useful, and easier to set up. In which case the whole notion of needing to specify either object by name should become a thing of the past. Though this is obviously a project for the next release.
Mark
Rather than having an RFE to make these assets more consistent though, I'll say that there is already an RFE to make constraints more powerful, useful, and easier to set up. In which case the whole notion of needing to specify either object by name should become a thing of the past. Though this is obviously a project for the next release.
Mark
Technical Discussion » Q: Wire Constraints can't be Spring?
- mtucker
- 4443 posts
- Offline
This is currently a limitation of the Wire Solver. There is an RFE to add this ability.
Thanks for noticing
Mark
Thanks for noticing
Mark
Technical Discussion » How to GLue? and other Q
- mtucker
- 4443 posts
- Offline
Second Answer: The RBD Glue Object DOP creates a separate RBD Object for each primitive group in the source SOP. If you have no primitive groups, you'll get no objects.
Mark
Mark
Technical Discussion » collision events
- mtucker
- 4443 posts
- Offline
My first suggestion would be to check out the help card examples. Look at the Dynamics CHOP (which shows how to extract transform datainto CHOPs, but that just scratches the surface - pretty much any data generated by DOPs can be grabbed by that CHOP). The SOP Solver and Script Solver examples use some of the DOP expression functions to extract impact information, which you can use to do all kinds of fun stuff (not only can you find out if the object has collided, but you can see the position, normal, and impulse size of every collision for that timestep). There are also lots of other DOP expression functions (try exhelp dop to see them all).
If you have more specific questions, please post them to the 8.0 feedback forum for now (until H8 is released).
I hope this helps get you started.
Mark
If you have more specific questions, please post them to the 8.0 feedback forum for now (until H8 is released).
I hope this helps get you started.
Mark
-
- Quick Links