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

Olivier Jeannel facialdeluxe at gmail.com
Wed Nov 29 04:44:18 EST 2017


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/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