Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by PixelNinja

  1. Alembic particles to C4D

    I spent a fair bit of time trying to figure this out today so I figured I'd post a quick tutorial for posterity. The only other guides and info I could find were specific to getting pscale and Cd into C4d for Redshift. Nothing on orientation or other attributes generally. Long story short: - Unless your attribute is explicitly typed (i.e. Vector, Quaternion, Matrix instead of 3flt, 4flt, 9flt) C4d will read it as a float (or "Real") - Orientation is handled by the "Alignment" TP channel, so you need to convert your @orient to a matrix3 before export Hope this saves someone else some time.
  2. You'll need to bake the texture. There's a bake texture rop, as well as a bake texture sop in the labs tools. I recommend the latter as it's much easier to set up and use.
  3. The only thing I can think of is to copy some geo (like a sphere or a box) onto the points and then export to fbx. That should export all of the transforms, you'd just have to hide the geo though.
  4. FBX to Unreal

    I recently ran into a bunch of issues in getting fbx animation out of houdini and into unreal so I thought I'd share the process so that hopefully noone else needs to run into the same issues. Quick version: Use the ROP FBX Output in sops, don't bother with the labs RBD to FBX ROP Turn on "build heirarchy from path" on the FBX Output All intrinsic pivots should be zero
  5. I think the simplest way would be to simply join the three paths into one.
  6. I looks like the copy sop is set to rotate the copy by 180 degrees on the y axis. This would make the copied wheel rotate in the wrong direction. Here are three approaches: 1- Transform sop to control the wheel rotation, then mirror sop to create the other wheel. 2- Transform sop to control the wheel rotation then copy sop set to scale -1 in the X axis to create a the other wheel 3- Copy the wheel so that you have two packed copies and then use a mops transform modifier to rotate the packed primitives. I used method 3 for a simple sops based car rig recently and it worked really well. I had a single mops transform handling auto rotation (based on travel distance) for all 4 wheels.
  7. Alembic particles to C4D

    Yeah most of the time pscale and age are all you need. I recently had to deal with instancing with orientation though and it took me a fair bit of frustration trying to figure it out. Glad you found it helpful!
  8. Object Propulsion

    I'm trying to recreate the effect of small pieces of dry ice propelling themselves across the surface of water. First step was to figure out the propulsion. Thought I'd post my solution in case anyone was interested. The basic approach is to take a number of points on the surface of an object and use their normals as propulsion vectors to move and rotate the object in a (somewhat) physically accurate way. The points and normals can vary over time to create more random behaviour. This can probably be incorporated into dops somehow but haven't looked at that yet. It is also entirely likely that this is trivial to do in some other way and I've wasted my time. If so, please let me know. mt__propulsion__1_0.hdalc
  9. Made a cute little render with this technique toy_train_cam03_v001.mp4
  10. Using Erode layers as a mask

    The Heightfield Scatter sop has the option to use a mask layer for scattering
  11. Vellum "attach to geo" based on animated Cd not working

    Add the noise to the constraint geometry, then set the third input on the constraint property dop to second context geometry in order to reference the value in the vexpression. vellum_animated_constraint_v001.hiplc
  12. More accurate version. Also supports a length attribute for varying carriage lengths. I left a toggle for the simple calculation as that might be desired in certain circumstances. train_align_v003.hiplc
  13. Here's a quick approach I came up with. It assumes all carriages are the same length. I also measure carriage length along the curve, rather than in world space, so it becomes more inaccurate the less straight the track. This should do fine for most purposes, but if I find the time I'll see if I can implement a more accurate measure. train_align_v001.hiplc
  14. Vellum export alembic

    To export separate meshes as alembic you want to check "build heirarchy from attribute" on the alembic rop. It will separate each packed primitive into separate objects based on the path attribute.
  15. OpenGL Tags for UV scale/offset

    Anyone know how to get uv tiling and offset to display in the viewport with opengl tags? I'm trying to build a shader asset to speed up my workflow. I've implemented the opengl tags to correctly display the diffuse, roughness, metallic and normals. However I just can't seem to get tiling and offsets to work. I apply the uv translate and uv scale tags (and set the uv layer number), but no effect.
  16. Redshift Substance Shader

    I haven't heard of that trick. I'll check it out though. Cheers. Allegorithmic has said they'll be updating the substance integration for Houdini so hopefully this won't even be necessary soon. It would be great to be able to properly load procedural sbsar files directly.
  17. Redshift Substance Shader

    I've made this to save time loading shaders from Substance Source, but should work for any substance material. Just select the parent folder of the texture you want. Figured some others might find it useful too. It has proper viewport handling of Base Colour, Roughness, Metallic, Normal, Emission and Displacement. Not 100% perfect, but pretty damn close. Hdalc for now. Tried to upload to orbolt but kept getting an error (Invalid node type name). Don't think it likes redshift nodes. If anyone has any experience with this let me know! MT_RSSubstance_1.0.hdalc
  18. Before I go ahead and try an overcomplicated approach using raycasting I thought I'd check to see if anyone here has a simple solution to this problem. I have a model from maya, that has had many sections mirrored, thus creating sections with primitive normals facing inward rather than outward. Is there a simple method of making all normals face outward? All of the poly shells are enclosed as well, so no open surfaces to worry about.
  19. area difference

    Interesting. I haven't actually checked that out, but according to this they should be the same. https://qiita.com/AokTky_dori/items/de2007716a6a19f26668
  20. Since it's a foreach primitive there should only be one prim, so I would just use: prim(0, "attribute", 0)
  21. Maybe try converting the packed prims into bounding box geometry, then Boolean against the collision geometry in detect mode. That will give you groups/attrs on each box that intersects the geo.
  22. Meshing Lidar Data on the Farm

    You could try taking a look at meshlab. There's a houdini sop built to integrate it here: https://github.com/teared/meshlab-in-houdini/blob/master/README.md
  23. Read values from variables in spreadsheet

    Do you mean vex variables? No, the geometry spreadsheet will only display attributes (as far as I'm aware). I usually just create temporary attributes if I need to check variables as I go.
  24. HDA | PolyExpandPlus

    Houdini tool that expands on the functionality of polyexpand2d. Allows you to create detailed bevel profiles from polylines with clean, non-intersecting topology. I built it while trying to create a procedural gothic tracery system. I liked the topology created by polyexpand2d, but the divisions parameter and edgedist attribute just wouldn't let me get detailed enough bevel profiles. It would be great if sidefx could wrap something like this up into the polyexpand2d node itself as a third output option (eg. offset curves | offset surfaces | bevelled). I hope someone finds it useful mt_polyExpandPlus_1.0.hda