Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


cwhite last won the day on February 17 2016

cwhite had the most liked content!

Community Reputation

45 Excellent

About cwhite

  • Rank

Personal Information

  • Name
  • Location
  1. I think the object would also need to be marked as animated for the solver to fetch the updated value from SOPs
  2. For animated static objects you shouldn't need to do any extra work to transfer velocity: https://www.sidefx.com/changelog/?journal=&categories=&body=inherit+velocity&version=16.0.491&build_0=&build_1=&show_versions=on&items_per_page=1
  3. Cycling animation cycles

    The collision geometry / configure joints tools are never mandatory - they are only needed for ragdolls. Agent primitives support either static shapes (attached to an animated transform) or bone deformation.
  4. glue + RBD solver

    The RBD solver only supports the old style of glue, which is the "Glue to Object" parameter on several of the RBD Object DOPs. There is a deprecated (ophidden) RBD Glue Object DOP that is a wrapper around the RBD Fractured Object DOP for setting that up.
  5. I think right-clicking on the checkbox -> Edit Expression -> $F == 42 should work. Otherwise, it's fairly straightforward to do in a SOP solver. It's just an Attribute Copy SOP where Attribute to Match is "name" - no VEX needed.
  6. Affector matrix with packed

    If both objects are being solved, collisions should be disabled in both directions (otherwise, if A thinks it should collide against B, but B thinks it shouldn't collide against A, what should happen?)
  7. Affector matrix with packed

    I think the solver has Make Objects Mutual Affectors enabled by default, but for packed objects the 'collisionignore' point attribute is generally much easier to work with
  8. If you only need this for convex hulls, just do a shrinkwrap SOP in a foreach loop and transfer any attributes that you need
  9. That attribute only applies when the Bullet solver itself breaks constraints, so that a switchover to the new constraint type can happen instantly. Currently, the only constraint type that the Bullet solver can break for you is glue. If you're manually breaking constraints in a SOP solver, you're also responsible for deciding whether to switch it to a new constraint type or leave it as broken
  10. The tuple size is required to be 2, but the second path is only used if the first one fails to load. This allows you to have a fallback in case your preferred path uses variables that may not necessarily be defined in every situation (or example, you might have a relative path like $HIP/agents/mocapbiped3/shapelib.bgeo so that your setup is portable if you upload it somewhere for rendering). Some applications like geodiff don't have $HIP defined when loading geometry, so the second path could specify the absolute path as a fallback. Shape libraries aren't required to be generated through the agent ROP. But, they are expected to have the same format (collection of packed primitives with a name attribute)
  11. The docs on the 'shapelib_include' attribute were missed when it was backported to 16.0 - tomorrow's build will have some info about it on the /crowds/agents help page (pasted below). It allows the shape library to be split across multiple files on disk
  12. Mocap Biped 2 has a completely different skeleton than Mocap Biped 3, so clips baked out from one cannot easily be used with the other
  13. Yeah, I meant the SOP network where the RBD objects' geometry comes from
  14. Around 10GB of memory usage in the Bullet solver is in the ballpark of what I'd expect for a sim of that size. Is there any indication of what nodes account for the other ~50GB (perhaps SOPs for the simulation's input geometry)?
  15. Yeah, the agent layer SOP can be used to add deforming shapes to a layer - just make sure to point it at the rest geometry (i.e. the input geometry to the Deform SOP). I think the H15 crowds masterclass had some examples of this. To switch an agent's display layer, you can use SOPs like the Agent Edit SOP, or change it in VEX via the setagentcurrentlayer() VEX function.