Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Keithtron last won the day on July 24 2018

Keithtron had the most liked content!

Community Reputation

14 Good

1 Follower

About Keithtron

  • Rank

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location
    London, UK
  1. Houdini Alembic export to Maya, with instancing

    Has anyone figured out any workarounds to get instanced packed pieces out to Alembic and into Maya? It seems to have been a consistent problem for quite a while, and I've still not seen any decent ways of handling it. In many cases these caches are being passed off to lighters that don't want to or can't mess with Houdini Engine, and I assume the cloud rendering services that lighters are likely to use won't support Engine either. I suppose one could potentially get the points into Maya via Engine, then do an nCache and add instances to that, but that's a painfully awful workflow. And that's without factoring in the headache of converting Houdini's per point matrix or orient to an Euler rotation that (I think) Maya expects, and comparing back and forth to make sure your instancing in Maya matches your instancing in Houdini. I seem to remember there being a way to export point particles to Alembic if you add a particle system primitive in Houdini before exporting. You can do this with an Add SOP with 'Add Particle System' turned on. In the quick test I ran, the resulting alembic creates a Maya particle system on import, and seems to recognize all my custom attributes from Houdini, but doesn't seem to actually contain any points. Maybe there's a simple step I'm missing to get that to work? Also, if you really do need to build Euler rotations from a quaternion, you can try this painful bit of VEX code from my library of snippets. In this case I was getting the rotation based on a normal vector direction, but you could directly use @orient instead of the dihedral thing. vector4 q = dihedral( {0,1,0}, @N ); v@rot = {0,0,0} ; @rot.x = degrees( atan2(2*(q.w*q.x+q.y*q.z), (1-2*(q.x*q.x+q.y*q.y))) ); @rot.y = degrees( asin(2*(q.w*q.y-q.z*q.y)) ); @rot.z = degrees( atan2(2*(q.w*q.z+q.x*q.y), (1-2*(q.y*q.y+q.z*q.z))) );
  2. how to customize rop alembic output

    I've always used the 'path' attribute for the 'Build Hierarchy from Attribute' option. Try creating values with slashes ('/') to represent a Maya-style hierarchy. For example, use values like "/fx/box/box_shape" & "/fx/sphere/sphere_shape" & etc. I believe the 2 layers of uniqueness in those hierarchy strings may be important, with 1 part specifying the geom name (transform) and the other naming the shape node. Not positive though, since I almost never need to open up my caches in Maya. Not sure if this would affect your crashes at all, but good luck! :-)
  3. H17 breaking soft constraints

    I've not looked at that specific example, but to break constraints I typically do it in a SOP Solver wired into the Constraint Network DOP. Then in the SOP Solver, connect the relationship_geometry > Primitive Wrangle > Output SOP. In the Primitive Wrangle you can set @group_broken=1; based on some condition. It's worked fine for me in my Soft Constraint tests. :-)
  4. edge fracture

    Hi roberttt! I did that specific fracture before the Houdini 16+ booleans were available, using a custom voronoi cutters technique. Basically, I used boolean-style cutter geometry to guide a voronoi fracture. 1) Scattered lots of points on the cutter geo, point-jitter them for width, and create cluster attributes on those points to create small clumps 2) Create a band of voronoi points a bit further from the cutter geometry, to define the large chunks. These points all get the same cluster value, and make sure that cluster value isn't used in the small-chunks clusters. 3) Run the fracture with clustering.... although the new H17 voronoi fracture doesn't seem to have clustering built in. So I believe you need to do the clustering post-fracture in H17, which unfortunately doesn't have an option to remove the unnecessary internal faces, so the geom can be a bit heavy with the new workflow. (Unless I'm missing something obvious!) I don't think I've used this voronoi fracture workflow at all since the H16+ booleans were released, and I've removed that technique from my CGMA destruction class. Nowadays I would handle this in one of these ways: - Running a primary boolean fracture to define the main chunks, and then running a secondary pass where I generate additional fragments on the edges of the main pieces. There are various ways to generate those secondary boolean edge cuts, and it's always a bit experimental. - Fracture everything at once into lots of small pieces, and use noise or geometry-grouping to define the larger shapes from the smaller fracture. Then once those large chunks are defined, use constraints or the name attribute or double-packing to get them to behave as individual large pieces. Hope this helps! :-)
  5. Mastering Destruction in Houdini - CGSociety/CGMA

    Hi again! There's a new session starting up this week, and still some spots available. Late signups are fine, I think registration is open for another week or so. Feel free to get in touch if you have any questions about it. Also, I'll be presenting for SideFX at SIGGRAPH this year, so if anyone here will be going, feel free to keep an eye out for the schedule and drop by! :-)
  6. Hi everyone! I'm an FX artist at Double Negative (London), and currently a Sequence FX Lead for the new Pacific Rim movie. In the past I've also worked at ILM, Blue Sky Studios, Tippett Studio, & Framestore NY. A new session of my destruction course starts in 2 weeks, and there are still some seats left. I've updated the description/video & added some student feedback. Feel free to share with anyone that might be interested. And if you have any questions about it, feel free to send me a message here or on LinkedIn or etc. :-) https://vimeo.com/keithkamholz/cgma-destruction http://www.cgsociety.org/training/course/mastering-destruction-in-houdini
  7. I know this is an old thread, but is there any way to get the convex hull geo with the per-piece name attributes intact? The convex hulls seem a bit useless without the name attr info, for most scenarios.