Jump to content
Sedatyf

Emit RBD objects

Recommended Posts

Hey guys ! 

I recently followed the "Houdini 15+ Particles to Bullet" tutorials from Andrew (https://vimeo.com/179143928) and then the "Emit Bullet from Particles" tutorials from Tim van Helsdingen (https://vimeo.com/179639085) but I've got a weird issue that I can't figured out. I strictly followed what they show on their videos, but, when I'm checking my RBD sim, I have duplicate geometries on my point (as you can see on my screenshot).

Also, the bullet solver warn me by this message : 

Quote

Warning : rbdpackedobject1 - /obj/rbd/bulletrbdsolver1: Object contains duplicate values for the 'name' point attribute. 

Something has changed in the RBD between H15 and H16 ? Am I missing something ? 

Thanks in advance guys,

Gael. 

PS : Here's my file, but it's normally, as we can have in Tim's video.

Sans titre.png

emit_rbd.hip

Edited by Sedatyf

Share this post


Link to post
Share on other sites

The Assemble SOP doesn't know to create pieces with unique names per-frame, so it's always starting over each frame with `piece0`, `piece1`, etc. You need to manually create the name attribute for each piece based on the particle ID, so that every piece is understood as unique. Attached an example for you.

emit_rbd_2.hip

  • Like 1

Share this post


Link to post
Share on other sites

%d is the specifier for an integer value, so sprintf("piece%d", i@id); means that %d will get replace by the id of each particle 
so piece1, piece2, piece3 ...  and so on. That way you get unique names. 

Also you have %s (string) %f (float) and there is more but those are the most useful. 

  • Like 1

Share this post


Link to post
Share on other sites

I'm not sure why it wouldn't be working for you in H16 as opposed to 15, but in general your packed RBDs always need to have unique names in order to function properly. I haven't watched the tutorial you're referencing so I'm not sure if they cover that or not, but you definitely need it either way.

Edited by toadstorm

Share this post


Link to post
Share on other sites

Hey guys, it's me again. 

I found that being able to emit RBD from particles was very convenient to control the behavior of multiple RBDs. So, I tried to transfer velocities on my packed geometries. But the bug comes back. It's the velocity that mess all the things up obviously.

But that I can't understand is exporting velocity properly. As you can see, I have a propper velocity on my point 9 and 10 at frame 12. Then I transfer it on the primitives as the id. And finally, after I packed it, the velocity is correctly transfered on the point. 

So how do I transfer it properly? Why it doesn't work? 

Thanks again guys !

Sans titre.png

Sans titre1.png

Sans titre2.png

Share this post


Link to post
Share on other sites

Im not exactly clear what you are asking. But I believe what you want is transfer v from the particles to the RBD is that correct? if so you can use the pack SOP to transfer the attribute, just add v there as well or any other attribute you might need from POPs. 
You are working with pts not with primitives in the popnet, so you dont need to promote anything. 

Share this post


Link to post
Share on other sites

Yes it's correct @Sepu 
I already did that, but the problem is, if I tranfer my velocity (v) in any ways, I've got the same issue as the beginning of this topic. 

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

×