Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by anim

  1. I guess you'll have to be more specific as since you are able to generate uncolored 3D model from pointcloud and if your point cloud contains color information then you should be able to then transfer color from point cloud to generated geo using AttribTransfer or VEX if however your main problem is to get the color from your pointcloud data which you are reading from an external file, then it would help to know what file type you are trying to read etc. Lidar Import SOP can read color data, however it has to be encoded in the file
  2. Proper scale for FLIP

    for speed compensation you usually just want to scale your forces like gravity -9.81 for m scale and -98.1 for dm scale, of course you may need to increase substeps as the "smaller" the things are the bigger distances they travel relative to their scale (at least for default FLIP, when is ignoring some important physical aspects like drag, etc..)
  3. while for triggering at various conditions you may need CHOPs or solver in your example you are simply playing back the animation at certain time intervals so for that you can just do this: float phase = chf("phase") / $FPS; f@bleep = chf("bleep", @Time % phase ); VexTriggeredAnimation_mod.hipnc
  4. Pop orient from source geo each frame

    it depends on whether your pieces are only transforming or actually deforming, for deforming ones you'll need to replace the geo every frame for transforming you could use following (if you also bind input 0 to Myself) matrix3 xform = primintrinsic(1, "transform", @primnum); setprimintrinsic(0, "transform", @primnum, xform); @P = point(1, "P", @ptnum); you can also just use RBD Packed Object and Bullet Solver to bring your pieces in as Animated Static or Deforming Static Objects which will update them for you or if your particles don't have packed prims attached, you can store it as orient matrix3 xform = primintrinsic(1, "transform", @ptnum); p@orient = quaternion(xform); @P = point(1, "P", @ptnum); it's a bit difficult to guess without a hip file
  5. I'd suggest creating an HDA as then you can have the script self contained and easily update the code for all the instances if you decide to do so (to for example update list of presets, or even read presets from external file , etc...) parameter callback script: hou.phm().loadPreset(kwargs) HDA module: def loadPreset(kwargs): presets = [{ "voxelsize": 0.04, "voxeloffset": 1, "percentage": 50 }, { "voxelsize": 0.05, "voxeloffset": 1, "percentage": 30 }, { "voxelsize": 0.06, "voxeloffset": 1, "percentage": 10 } ] node = kwargs['node'] parm = kwargs['parm'] i = parm.eval() node.setParms(presets[i]) DropdownToChangeValues_hda.hipnc
  6. if you don't plan to cache the substeps and there is no other solver than FLIP then by setting Flip Solver substeps to 2,4 for example you should get comparable results to DopNet substeps 2 and flip substeps 1,2 etc... the most important is that your collision geo is accessible and correct at each substep
  7. Constraint don't follow object

    with deforming you need to attach to geo points (@anchor_type and @anchor_id) instead of just an object however you don't need to have your object set to deforming, transforming packed objects count as animated geo, so just don't unpack your original packed rbd geo for use in the new sim
  8. Vellum SOP - update pin group over time

    there is couple of ways, but since it seems you only need hard pin contraints update and you are already basing everything off of a group here is the easiest way for your case 1. set Pin Type to Stopped, which will use @stopped attribute to define what's pinned instead of zero @mass, this makes it easier to unpin stuff as the actual @mass is not lost for pinned points 2. inside of the solver subnet, add POP Wrangle for example, bind first input to First Input Geo and use: i@stopped = inpointgroup(0, "pin", @ptnum); vellum_update_pinConstraint_HELP_fix.hipnc
  9. Random File to Point

    Packed Disk or Packed Disk Sequence primitives (or packed Alembic) are the way to go, the attributes are not lost, they are just packed inside, renderer will be able to use them for shading if you need them inside Houdini, just unpack your geo, however that can get heavy
  10. on top of simpler and faster workflow and lot's of built in features (that you'd have to assemble yourself in DOP net workflow) the big advantage is that you don't need FX license to use them, unless you want to customize the internal editable dop subnet those 2+ reasons seem more than enough for me to justify SOP level wrappers EDIT: but even if it was only for simplicity, that's already a big one, don't forget it all started with Solver SOP, how many people do you think use Dopnet with Empty Object, SOP Geometry DOP and SOP Solver DOP to achieve the same thing these days?
  11. Procedural Roof

    not sure what you are referring to as potentially sophisticated decision making, as far as I can see he didn't make any decisions that differ from the standard procedural approach using straight skeleton (PolyExpand2D)
  12. in your resample2 node check Tangent Attribute and name it: up then just rotate your "stitch" geo before copying by 90 in Z
  13. scatter on thin geometry

    you can also switch your Scatter generate parm to In Texture Space, which depending on your uvs may solve your issue
  14. Hollow Octahedron

    either add some thickness to it (PolyExtrude with Output Front/Back on , Output Side off) or use as is in static object DOP and check Invert Sign in it's collision volume representation
  15. Constraint don't follow object

    glue should work too
  16. Constraint don't follow object

    my point was that by using deforming geometry the transform of the object is not updating, just the geometry, therefore the constraints, that are moved by object transform will not update unless you are attaching the constraints directly to object's points so either attach them to the points if your geometry is truly deforming, or use transforming (animated) rbds
  17. you can use Poly Draw procedurally if you never commit any edits which may mean that you do the edits using the parameter pane instead if using viewport state which I think always commits the edits alternatively you can use other tools like Skin SOP, or just build your geo using Poly Draw interactively once and then live Attrib Copy P from the curves, etc... live_polydraw.hip
  18. Motion Blur on Switcher Cameras

    you can also make sure your keyframes have constant() interpolation and if that does't help shift your shutter
  19. Constraint don't follow object

    use another rbdpacked object (for your animated pieces from previous sim) and set it to Animated Static instead of using Static Object you can also control this behavior using point attributes if you want to import all pieces using single rbdpacked object
  20. [SOLVED]Group name to string

    some info about this can be found here
  21. Animation Editor - Linear keys

    as you can see in top-left corner it says: Low Level Of Detail which means they are drawn as linear (Settings/Curve Quality/Straight Lines) so change it to any other options of Settings/Curve Quality
  22. Poly Carve SOP

    the extreme amounts of points were actually just to get some complexity not a requirement as otherwise it's super fast, it'd cut at any interopolated value even on very sparse curves/meshes
  23. Poly Carve SOP

    thanks for testing, maybe it's time for sidefx to optimize Clip SOP and Poly Cut SOP as both more or less can be used in this way, but it's not nice to be paying speed penalty over more custom VEX solutions
  24. Poly Carve SOP

    here is a simple example ts_carve_by_clip.hip