[Sidefx-houdini-list] How to control RigidBody instances

Thomas Volkmann listmail.3d at gmail.com
Thu Nov 30 04:09:51 EST 2017


Alright...still havent figured it out.

So if we take your example as a basis, I want to create a new Geometry
object, merge in your cube animation and replace the cubes with something
else.

My approach would be:
MergeObject(Cubeanim)->add(deleteGeo)->copytopoints(input2)   and
sphere->(copytopoints(input1)
Works fine, except I don't get the rotations... :(


On Thu, Nov 30, 2017 at 9:15 AM Thomas Volkmann <listmail.3d at gmail.com>
wrote:

> Thanks a ton Olivier! Some initial confusion and instant enlightenment
> going on here :)
> You gotta love the fact that you can just look at the generated VEX code
> from your attribute-vop.
> Extractxform translates to cracktransform... this is probably what I am
> looking for.
> Great seeing the randomize-value-by-range nodes! I think I did these on my
> last project, too. And a randomize-vector-by-cone. Wasn't there a thread
> somewhere with people building ICE compounds in Houdini? I'll have to look
> for it again.
>
> On Wed, Nov 29, 2017 at 10:40 PM Olivier Jeannel <facialdeluxe at gmail.com>
> wrote:
>
>> Here is the setup, I added some comments.
>> https://drive.google.com/open?id=1swFzpbJ34b4mT9cJxneFa6gZuDZZmx20
>>
>> It shows 2 methods
>> 1/ pointVOP creates classic P and Orient and then turn these into
>> IntrinsicTransform
>> 2/ pure VOP Intrinsic
>>
>> I often use these setups,  (once get used to) they are very similar to how
>> we animated stuff in ice.
>>
>>
>>
>>
>> 2017-11-29 21:16 GMT+01:00 Olivier Jeannel <facialdeluxe at gmail.com>:
>>
>> > I have a setup in vop to intrinsic transform. I can share it if you want
>> > to have a look.
>> >
>> > 2017-11-29 16:25 GMT+01:00 Thomas Volkmann <listmail.3d at gmail.com>:
>> >
>> >> Thanks Olivier, I think I stumbled upon that video during a former
>> Houdini
>> >> project. Definitely makes the SI to Houdini transition easier...
>> >> But now to the latest problem....
>> >> I want to replace the rigidbodies with some other object after the
>> >> simulation.
>> >> So I merge the sim-object, use "add" to delete the geo and just keep
>> the
>> >> points (very intuitive) and then I want to use a "copy to points" node.
>> >> By default everything goes haywire, but when I disable "transform using
>> >> point orientations" hte objects end up in the right positions but have
>> a
>> >> static rotation.
>> >> I guess I have to get the intrinsic transforms and apply them to the
>> point
>> >> orientation (or similar) before the copy, but I really can't figure it
>> out
>> >> atm....
>> >> Any ideas?
>> >>
>> >> On Wed, Nov 29, 2017 at 10:44 AM Olivier Jeannel <
>> facialdeluxe at gmail.com>
>> >> wrote:
>> >>
>> >> > If triggers for sims is you're thing, I enjoyed this tut :
>> >> >
>> >> > http://shortandsweet3d.blogspot.fr/2017/01/xsi-to-houdini-4-
>> >> from-states-to-streams.html
>> >> > If you're in pop or dop and want to play it like in ice State
>> >> > Machine, Mikael Pettersén nailed it.
>> >> >
>> >> > 2017-11-29 10:35 GMT+01:00 Olivier Jeannel <facialdeluxe at gmail.com>:
>> >> >
>> >> > > You can use "Attribute Create" if you're in sop.
>> >> > > Otherwise in Vop, "Bind Export".
>> >> > > Checking with the Geometry Spreadsheet to insure every attributes
>> are
>> >> > > there, or hit "x" and click a node to create a temporary
>> vizualizer.
>> >> > >
>> >> > > 2017-11-29 9:29 GMT+01:00 Thomas Volkmann <listmail.3d at gmail.com>:
>> >> > >
>> >> > >> Yep, I found merging and then referencing the input to be the most
>> >> > >> straight
>> >> > >> forward for me. I had the intention to do as much as I can in
>> code,
>> >> but
>> >> > >> obviously my skills are still limited :)
>> >> > >> But on another note:
>> >> > >> Where would you store some global variables that should be
>> >> referenced by
>> >> > >> some other objects (eg. a frame number that should act as a
>> trigger)?
>> >> > >> Atm I just have an object that holds an attribute-wrangle which is
>> >> > working
>> >> > >> fine. Just curious on other approaches...
>> >> > >> The Null-OUT workflow will be incorporated, thanks Michael!
>> >> > >>
>> >> > >> cheers,
>> >> > >> Thomas
>> >> > >>
>> >> > >> On Tue, Nov 28, 2017 at 6:39 PM Ciaran Moloney <
>> >> > moloney.ciaran at gmail.com>
>> >> > >> wrote:
>> >> > >>
>> >> > >> > If you're working in a wrangle node, you could just reference
>> the
>> >> > input
>> >> > >> > port and be done with it.
>> >> > >> >
>> >> > >> > On Tue, Nov 28, 2017 at 4:59 PM, Michael Dunkley <
>> >> mdunkley at gmail.com>
>> >> > >> > wrote:
>> >> > >> >
>> >> > >> > > Hey Thomas - the null thing i mentioned isn't required per se,
>> >> just
>> >> > >> > > best practice and a very common houdini pattern.  Basically
>> the
>> >> idea
>> >> > >> > > is you usually want to reference paths from nulls, if
>> >> appropriate,
>> >> > so
>> >> > >> > > that if your network graph changes (ie you add more relevant
>> >> > >> > > operations after your wrangle), you don't have to change the
>> >> > >> > > expression.  I guess the idea is that it makes your logic more
>> >> > >> > > agnostic and less reliant on specific nodes.  My personal
>> >> approach
>> >> > is
>> >> > >> > > to label the nulls in ways that describe the state of the
>> >> network at
>> >> > >> > > that point (eg OUT_sim).   Again, not strictly necessary,
>> just a
>> >> > >> > > little cleaner than referencing workhorse nodes, and also
>> works
>> >> > better
>> >> > >> > > in cases where, for instance, you decide you want to cache the
>> >> > output
>> >> > >> > > of your dop network before referencing it.
>> >> > >> > > For your case i think the network would look something like
>> >> > >> > > dop_import->null, and you'd then reference that null.
>> >> > >> > >
>> >> > >> > > On Tue, Nov 28, 2017 at 11:14 AM, Thomas Volkmann <
>> >> > >> listmail.3d at gmail.com
>> >> > >> > >
>> >> > >> > > wrote:
>> >> > >> > > > Hi Michael, that works great! The shelf tools seem to do the
>> >> > packing
>> >> > >> > > > automatically (copy stamp node).
>> >> > >> > > > What do you mean by pulling from a null sop?
>> >> > >> > > > So far I can point directly to /DopNetwork or use a merge
>> node
>> >> to
>> >> > >> get
>> >> > >> > it
>> >> > >> > > > inside my Geo where I connect it to the wrangle-node (was
>> just
>> >> > >> about to
>> >> > >> > > > test Oliviers approach when your mail came in...thanks
>> Olivier
>> >> > I'll
>> >> > >> > take
>> >> > >> > > a
>> >> > >> > > > look at that approach in due time).
>> >> > >> > > > It's a lot of these 'best practices' that I'm not aware of
>> >> atm....
>> >> > >> > > >
>> >> > >> > > > cheers,
>> >> > >> > > > Thomas
>> >> > >> > > >
>> >> > >> > > > On Tue, Nov 28, 2017 at 4:32 PM Michael Dunkley <
>> >> > mdunkley at gmail.com
>> >> > >> >
>> >> > >> > > wrote:
>> >> > >> > > >
>> >> > >> > > >> Hey Thomas.  So far as your expression goes - P is usually
>> a
>> >> > point
>> >> > >> > > >> attribute, not a detail, the detail function doesn't
>> require
>> >> "op"
>> >> > >> > > >> syntax, and usually doesn't return an array unless you're
>> >> asking
>> >> > >> for
>> >> > >> > > >> an array attribute.
>> >> > >> > > >> The expression you're looking for is probably more along
>> the
>> >> > lines
>> >> > >> of:
>> >> > >> > > >>
>> >> > >> > > >> vector pos = point("/full_or_relative_path/to_node","P",3)
>> >> > >> > > >>
>> >> > >> > > >> where the path is just a normal houdini path, the
>> attribute is
>> >> > >> > > >> expressed as a string (as you had) and the 3 is simply the
>> >> number
>> >> > >> of
>> >> > >> > > >> the rbd you're trying to access.  This is making the
>> >> assumption
>> >> > >> that
>> >> > >> > > >> you're working with packed rbd's, so that the "point
>> number"
>> >> > you're
>> >> > >> > > >> grabbing actually represents an entire packed piece.
>> Unpacked
>> >> > >> rbd's
>> >> > >> > > >> would be slightly trickier to grab.  Haven't watched that
>> >> Entagma
>> >> > >> vid,
>> >> > >> > > >> so i don't know which you're actually working with.
>> >> > >> > > >> It would also be good practice to pull from a (null) sop if
>> >> > >> possible
>> >> > >> > > >> (as opposed to dops directly - pulling directly from dops
>> is
>> >> > >> certainly
>> >> > >> > > >> possible, though the syntax is a little screwier and
>> generally
>> >> > not
>> >> > >> > > >> ideal).
>> >> > >> > > >>
>> >> > >> > > >>
>> >> > >> > > >>
>> >> > >> > > >> On Tue, Nov 28, 2017 at 9:05 AM, Olivier Jeannel <
>> >> > >> > > facialdeluxe at gmail.com>
>> >> > >> > > >> wrote:
>> >> > >> > > >> > I personnaly go with vop.
>> >> > >> > > >> > Having the points you're working with in the first port.
>> >> > >> > > >> > And the points you're gathering infos from in the second
>> >> port.
>> >> > >> > > >> > You can either use a PcOpen + Pcfilter (P) if you want to
>> >> get
>> >> > >> the P
>> >> > >> > > >> > according to the distance.
>> >> > >> > > >> > Or use the Import Point (P) based on the id number.
>> >> > >> > > >> >
>> >> > >> > > >> > Or go the PrimUV route if you want to gather one
>> attribute
>> >> from
>> >> > >> > > polygon
>> >> > >> > > >> > location (same as UV to Location in ICE)
>> >> > >> > > >> >
>> >> > >> > > >> >
>> >> > >> > > >> > 2017-11-28 13:46 GMT+01:00 Thomas Volkmann <
>> >> > >> listmail.3d at gmail.com>:
>> >> > >> > > >> >
>> >> > >> > > >> >> A small follow-up:
>> >> > >> > > >> >> How do I get the position of a certain RigidBody
>> instance
>> >> in
>> >> > >> > another
>> >> > >> > > >> >> objects pointwrangle?
>> >> > >> > > >> >>
>> >> > >> > > >> >> I'm trying:
>> >> > >> > > >> >> vector pos[] = detail("op:/MyDOP/MyRBD_PackedObject",
>> >> "P");
>> >> > >> > > >> >>
>> >> > >> > > >> >> Any hints?
>> >> > >> > > >> >> Thanks,
>> >> > >> > > >> >> Thomas
>> >> > >> > > >> >>
>> >> > >> > > >> >> On Mon, Nov 27, 2017 at 2:27 PM Thomas Volkmann <
>> >> > >> > > listmail.3d at gmail.com>
>> >> > >> > > >> >> wrote:
>> >> > >> > > >> >>
>> >> > >> > > >> >> > Excellent, Thanks!
>> >> > >> > > >> >> >
>> >> > >> > > >> >> >
>> >> > >> > > >> >> > On Mon, Nov 27, 2017 at 1:29 PM Matt Estela <
>> >> > >> > matt.estela at gmail.com
>> >> > >> > > >
>> >> > >> > > >> >> wrote:
>> >> > >> > > >> >> >
>> >> > >> > > >> >> >> Grow/shrinking is well covered by this entagma
>> tutorial:
>> >> > >> > > >> >> >>
>> >> > >> > > >> >> >>
>> http://www.entagma.com/scaling-the-bullets-dynamically/
>> >> > >> > > >> >> >>
>> >> > >> > > >> >> >>
>> >> > >> > > >> >> >> On 27 November 2017 at 23:10, Thomas Volkmann <
>> >> > >> > > listmail.3d at gmail.com
>> >> > >> > > >> >
>> >> > >> > > >> >> >> wrote:
>> >> > >> > > >> >> >>
>> >> > >> > > >> >> >> > Hi,
>> >> > >> > > >> >> >> >
>> >> > >> > > >> >> >> > I'm taking another dive into Houdini again and I'm
>> >> > having a
>> >> > >> > very
>> >> > >> > > >> slow
>> >> > >> > > >> >> >> start
>> >> > >> > > >> >> >> > at the moment. It seems I have forgotten some of
>> the
>> >> > basic
>> >> > >> > > >> stuff....
>> >> > >> > > >> >> >> > So if someone could help me out and save me a
>> couple
>> >> of
>> >> > >> hours
>> >> > >> > it
>> >> > >> > > >> would
>> >> > >> > > >> >> >> be
>> >> > >> > > >> >> >> > much appreciated.
>> >> > >> > > >> >> >> >
>> >> > >> > > >> >> >> > I have a simple RigidBody simulation from some
>> >> instanced
>> >> > >> > > objects.
>> >> > >> > > >> >> >> > Now I would like to do some stuff with some of
>> these,
>> >> > like
>> >> > >> > > select
>> >> > >> > > >> by
>> >> > >> > > >> >> ID
>> >> > >> > > >> >> >> and
>> >> > >> > > >> >> >> > then putting them to sleep at a certain frame or
>> have
>> >> > them
>> >> > >> > > >> >> >> > growing/shrinking over time.
>> >> > >> > > >> >> >> >
>> >> > >> > > >> >> >> > Can I do that stuff all in the same place (some
>> >> wrangle
>> >> > >> node /
>> >> > >> > > >> where?)
>> >> > >> > > >> >> >> or
>> >> > >> > > >> >> >> > does the scaling has to happen in a sop and the
>> sleep
>> >> in
>> >> > >> the
>> >> > >> > > dop?
>> >> > >> > > >> >> >> > Damn, I really thought I was past that initial
>> >> confusion
>> >> > >> when
>> >> > >> > > >> starting
>> >> > >> > > >> >> >> with
>> >> > >> > > >> >> >> > Houdini, but  a couple of months off seem to be a
>> full
>> >> > >> reset
>> >> > >> > on
>> >> > >> > > my
>> >> > >> > > >> >> >> brain...
>> >> > >> > > >> >> >> >
>> >> > >> > > >> >> >> > Thanks,
>> >> > >> > > >> >> >> > Thomas
>> >> > >> > > >> >> >> > _______________________________________________
>> >> > >> > > >> >> >> > Sidefx-houdini-list mailing list
>> >> > >> > > >> >> >> > Sidefx-houdini-list at sidefx.com
>> >> > >> > > >> >> >> >
>> https://lists.sidefx.com:443/mailman/listinfo/sidefx-
>> >> > >> > > houdini-list
>> >> > >> > > >> >> >> >
>> >> > >> > > >> >> >> _______________________________________________
>> >> > >> > > >> >> >> Sidefx-houdini-list mailing list
>> >> > >> > > >> >> >> Sidefx-houdini-list at sidefx.com
>> >> > >> > > >> >> >>
>> >> > >> >
>> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>> >> > >> > > >> >> >>
>> >> > >> > > >> >> >
>> >> > >> > > >> >> _______________________________________________
>> >> > >> > > >> >> Sidefx-houdini-list mailing list
>> >> > >> > > >> >> Sidefx-houdini-list at sidefx.com
>> >> > >> > > >> >> https://lists.sidefx.com:443/m
>> >> ailman/listinfo/sidefx-houdini
>> >> > >> -list
>> >> > >> > > >> >>
>> >> > >> > > >> > _______________________________________________
>> >> > >> > > >> > Sidefx-houdini-list mailing list
>> >> > >> > > >> > Sidefx-houdini-list at sidefx.com
>> >> > >> > > >> > https://lists.sidefx.com:443/m
>> >> ailman/listinfo/sidefx-houdini
>> >> > >> -list
>> >> > >> > > >> _______________________________________________
>> >> > >> > > >> Sidefx-houdini-list mailing list
>> >> > >> > > >> Sidefx-houdini-list at sidefx.com
>> >> > >> > > >>
>> >> > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>> >> > >> > > >>
>> >> > >> > > > _______________________________________________
>> >> > >> > > > Sidefx-houdini-list mailing list
>> >> > >> > > > Sidefx-houdini-list at sidefx.com
>> >> > >> > > >
>> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini
>> >> -list
>> >> > >> > > _______________________________________________
>> >> > >> > > Sidefx-houdini-list mailing list
>> >> > >> > > Sidefx-houdini-list at sidefx.com
>> >> > >> > > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini
>> >> -list
>> >> > >> > >
>> >> > >> > _______________________________________________
>> >> > >> > Sidefx-houdini-list mailing list
>> >> > >> > Sidefx-houdini-list at sidefx.com
>> >> > >> >
>> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>> >> > >> >
>> >> > >> _______________________________________________
>> >> > >> Sidefx-houdini-list mailing list
>> >> > >> Sidefx-houdini-list at sidefx.com
>> >> > >> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>> >> > >>
>> >> > >
>> >> > >
>> >> > _______________________________________________
>> >> > Sidefx-houdini-list mailing list
>> >> > Sidefx-houdini-list at sidefx.com
>> >> > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>> >> >
>> >> _______________________________________________
>> >> Sidefx-houdini-list mailing list
>> >> Sidefx-houdini-list at sidefx.com
>> >> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>> >>
>> >
>> >
>> _______________________________________________
>> Sidefx-houdini-list mailing list
>> Sidefx-houdini-list at sidefx.com
>> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>>
>


More information about the Sidefx-houdini-list mailing list