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

Olivier Jeannel facialdeluxe at gmail.com
Thu Nov 30 06:25:27 EST 2017


I think Jordi proposed a randomize vector by cone (not sure)
The attribute randomizeSOP propose a ton of different randomizations too.



2017-11-30 12:21 GMT+01:00 Olivier Jeannel <facialdeluxe at gmail.com>:

> Sorry, heres a link to my drive
> https://drive.google.com/open?id=13AEKxOVDP72C8S_GtE1YXQbUAmARHucQ
> I forgot that the attached files might be to heavy for the mail list.
>
> 2017-11-30 12:19 GMT+01:00 Olivier Jeannel <facialdeluxe at gmail.com>:
>
>> I think it is working here, check the file :)
>>
>> As long as the target points (input2 of the CopySOP) have "orient"
>> attributes, the copySOP should use it to orient the copy.
>>
>> I made a little tut about "orient" and 3x3matrix.
>> You can see 2 methods for orienting with attributes before the copySOP
>> and after the copySOP
>> https://vimeo.com/207626604
>>
>>
>> 2017-11-30 10:09 GMT+01:00 Thomas Volkmann <listmail.3d at gmail.com>:
>>
>>> 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_Packed
>>> Object",
>>> >> >> "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/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
>>>
>>
>>
>


More information about the Sidefx-houdini-list mailing list