Jump to content


  • Posts

  • Joined

  • Last visited

About Pilou

  • Birthday 12/30/1984

Personal Information

  • Name

Pilou's Achievements


Newbie (1/14)



  1. Hey guys, I hope everyone is doing well ! I'm trying to use the houdini alembic API. I want to extract point positions directly with API and store them in detail attribute. I juste need the positions for mathematical opreations and as I'll have to deal with dozens (possibly hundreds) of shapes with millions of points, I want to avoid drawing anything I don't need in the viewport that would end in slowing down the viewport drastically. I'm trying to use this code but I can't find the right name for positions. If someone as an idea, it would be greatly appreciated ! Thanks ! import _alembic_hom_extensions as abc filePath = '/path/to/alembic.abc' objectPath = '/hierarchy/to/myMeshShape' positions = abc.alembicArbGeometry(filePath, objectPath, 'P', 0) # result : ([], False, 'unknown')
  2. Thanks Artem. That's exactly what I was looking for.
  3. Damn ! misClick sorry guys. thanks for letting me know. fruitball.rar
  4. Hey Georgie, You're right. I didn't have the time to do it properly. Here is a file to illustrate a bit more what I have. The fruitball is basically animated and At some point in the animation I want to break the fruitball to make the effect. fruitball.rar
  5. Hello guys, I've been struggling with controlling how RBD packed objects/ RBD fractured object. I can't find anything related to that on the net. It feels so simple but still I can't figure it out. Here is my precise problem. I have a ball composed of multiple fruits. Each fruit is composed by multiple objects (like body - leaf - stem) When I fracture the object the rbd fracture it all and decompose the fruit and that's what I'm not able to control. I want to keep every fruit a whole and basically simulate every whole fruit instead of every pieces of the fruit ball. I managed to have a group for each fruit that contain the objects of the fruit related to the group. So I guess I should use fruit group to tell the rbd object to fracture using those group. But from here I can't figure how to manage that. If anyone got an answer. It would be greatly appreciated. Thanks Pierre
  6. I think you're right Edward. Knowing that the three sides intersect, it could be nice to find the equation of the three straights lines. And you can pose another equation : A - B = 0, B - C = 0 and A - C = 0 with A B and C the equation of the three red straight lines. the only solution of this equation system will give you the intesect point which in that case, is the red point. something like that. I'll think about it on paper. I think it's a better option than al kashi theorem. Just a rough thought. but good point Edward, indeed. I'm wondering Oliver, if you're still here, do all points are in the same plane ? If it's the case then you can get a third equation with an angle which is the sum of the two former angles. The left and right green dot and the red one will give you the triangle.
  7. I would use the formula of the Al Kashi theorem. It's a litlle late to expose it here but I suggest you google it and you'll find it really easily. It the general case used to calculate any angle cosinus in any kind of triangle of the well known formula used in a rectangular triangle : cos(A) = adjacent side / hypothenuse because you already know the angle you just need to get the sides of the triangle you're considering. And because those sides are calculated using the position of the green and red dot you will be able to figure out the position of the red one. I link you the page of the formula with a good picture (sorry it's french - I can't get you the english one ) c² = a² + b² -2ab*cos(gamma) Maybe a bit hard but I think that's how I would do it. Hope this helps
  8. Thanks Remi. that's exactly what I'm looking for. With that being said, A quick other question. I paste what you did on my scene and it doesn't seem to work, like Houdini doesn't want to evaluate it. The attribute channel is red on your file and it's not on mine. Am I doing something wrong by just copy/paste your expression ? Edit : by importing my alembic in your file. it seems to works. I definitly think I did something wrong. But what ! maybe you can tell me ! EDIT 2 : Ok I got it ! for the ones who wanna know. you have to alt + LMB on the parameter to set an expression/key on the string parameter before typing any python stuff in it. Thanks again Remi
  9. Hello guys, I'm struggling with something at this time. My problem is : I have a bunch of geometries all imported into my houdini scene in one alembic cache. I have about a hundred fruits (each one are made of two or three basic objects stored in the alembic) I want to extract them from the alembic cache and combine the basic objects so I can get at the end every single fruit combined. So my idea is to tag every geometry so the rbg fratured object knows how to fracture the hole thing. every basic object of the banana_01 will get the tag banana_01, those of peach_01 will get peach_01 and so on. So I used the object merge node to extract the geometries. From here I activated the create Per Point path option to create a string attribute (wich is called objname by default) that hold the full path of my object. At this point, I get something like that : objname =/obj/fruitball_abc/fruitPack_BDD_cherry_01_cherry_01_hi/fruitPack_BDD_cherry_01_cherry_01_hiShape/fruitPack_BDD_cherry_01_cherry_01_hiShape Now is my question How can I do in the attributeCreate node to get this attribute, split every part that I don't need and reinject it in the freshly new created attribute. created attribute = cherry_01 I tried some expression and python stuff but I'm not really cumfortable with the hou module and houdini expression and I didn't find some string splitting function.It feels quite easy to do I guess but I can't figure it out. If someone have an answer. It will be greatly appreciated. thanks Pierre
  • Create New...