Jump to content


  • Content count

  • Joined

  • Last visited

Community Reputation

3 Neutral

About agelosc

  • Rank

Personal Information

  • Name
  • Location
    Athens, Greece
  1. Extracting the rotation this way worked great. Thank you. Here's the vex code in case someone is looking to something similar, note that the intrinsic attribute is a 3x3 matrix with only the rotation and scale, just ignore the last row and column from the examples above. matrix3 m = primintrinsic(0, "transform", @ptnum); // extract scale float s[]; for(int i=0; i<3; i++) { vector r = set( getcomp(m, 0, i), getcomp(m, 1, i), getcomp(m, 2, i) ); s[i] = length( r ); } // extract rotation for(int row=0; row<3; row++) for(int col=0; col<3; col++) { float val = getcomp(m, row, col); setcomp(m, val/s[col], row, col); } float scale = 0.5; matrix3 mm = ident(); scale(mm, set(scale, scale, scale)); mm*=m; setprimintrinsic(0, "transform", @ptnum, mm, "set");
  2. Hi, I needed to scale down the objects of my RBD sim and the way to do this is well covered in an entagma turorial. In short, a geometry wrangle node connected in the pre-solve input of the solver, gets then modifies and then sets the transform matrix of the packed primitives using the primintrinsic functions. I need to control the scale with an animated value but to do so I need to set the absolute value of the scale. The way it is now the transformation is relative. For example if the input value is a constant 0.5, applying this scale to the input matrix modifies the modified matrix and is quickly solved to a scale of 0. What I want is to keep the scale constant at 0.5. I was under the impression that a 3x3 (as well as 4x4) matrix has its scale values diagonal at row 0 column 0, row 1 column 1 and row 2 column 2. If that was the case I could just set these values. However when the object is rotated by the solver it looks like the rotation is solved as a skew/scale combination. Modifiing the values above gives a different result from the expected. Is there a way to extract the rotation from the matrix and then create a new matrix with my absolute scale and appy the rotation only to it? Or is there any other way I can achieve this? I've attached an example scene. absoluteScale.hipnc
  3. RBD size/scale change during simulation

    That's perfect, thank you.
  4. Hi, Is there a way to change the size/scale of the rigid bodies during the simulation? I guess it can be done after the simulation but I'm wondering if this can be achieved during so the collisions are consistent. Thanks
  5. Hi, Is there a way to change the size/scale of the rigid bodies during the simulation? I guess it can be done after the simulation but I'm wondering if this can be achieved during so the collisions are consistent. Thanks
  6. flip interior emitter and velocity

    That's good to know, thank you.
  7. flip interior emitter and velocity

    I thought that Volume Source was sourcing a volume from the Fluid Source node but I think I'm still confused about what an SDF is and how it works. While we're on the subject, I ended up using PointsFromVolume after the isooffset and set the FluidSource method to Stamp Points. I found that this way is simpler if you want to set custom velocities on the points and pass them through the same SourceVolume in DOPs. Hope this helps someone.
  8. flip interior emitter and velocity

    In case someone else is looking for this, I've managed to emit from a volume instead of the surface by using the "Sample Volumes" Method on the Fluid Souce node and using an isooffset in between my geo and fluidsource. I'm still not sure about the reasoning of this but it seems to work.
  9. flip interior emitter and velocity

    Hi all, How can I emit from the interior of an object into a flip object with sop level velocity. The shelf tool "Emit Particle Fluid" creates a Fluid Source SOP and a SourceVolume combo but I can't find if I can set it to emit from the interior instead of just the surface. I know I can create a volume of particles through the intial data tab on the FlipObject node but I want to constantly emit, not just on the first frame and I'm not sure how to inject velocities using this method. Thanks
  10. houdini redshift error crash

    Have you checked if the redshift for Houdini version is exact the same number as your currently installed houdini version? I've had this error before where I could create redshift nodes but when I clicked render it crashed. Problem was the version inconsistency.
  11. Attribute to Texture Map

    Hi, thanks for your reply. I was looking for a way to create the texture on the fly and not by baking. In theory it doesn't sound difficult so I'm sure there is a way of going about this. I've got what I'm looking for working on a flat grid by tranfering the attribute on a flat volume and then importing the volume in cop using sopImport. Then I can reference the result using the "op:" trick in my displacement texture input. However I'm still trying to get this working on arbitrary geometry by transfering the attribute on a flat grid using the UVs of my original geometry. I'll post an example scene if I can get this to work but please let me know if you have any suggestions on this.
  12. Hi all, Is there a way to create a texture from an attribute on the fly? For example say we've scattered some geometry on a grid and wanted to create a bulge or a small deformation around the borders of our scattered geometry on our grid. If we up the subdivisions of the grid really high then we can achive this directly in sop with an attribute transfer and a pointWrangle but the grid is no longer managable. Is there a way to create a diplsacement map from the static high resolution grid relative to its UVs and use it on the original grid?
  13. Wire deformer capture weights

    Hi Michael, I agree this should be easier but it works great. Thanks for your help. I haven't had the pleasure of acquainting myself with CaptureAttributeUnpack-Pack. It's not something I would like to use frequenty but glad to know it exists and how it works. Thanks again.
  14. In case anyone finds this useful, The way I solved this was by adding any measured data from the unpacked geometry to a primitive attribute on the packed geometry via a primitive wrangle. The class attribute value created by a connectivity sop corresponds to the primitive id after the assemble so I could compare the class attriute with the primnum. I've attached a simple example file. If however someone has a different solution I would still like to know difrerent ways of approaching something like this. PackedPrimitiveMeasure.hipnc
  15. Hi all, I have a fractured geometry and I need to calculate a mass, size or area attribute for each piece. I'm using an assemble sop to create packed geometry and I animate each piece with a vex expression using the intrinsic transforms of the pieces. However I'd like the animation to be varied by an attribute that holds a relative size value. I know the measure sop calculates area, volume etc but how can I "promote" this value to the packed primitives? A brute approach would be to get the number of points for each packed primitve. Is there any way to get that info from the packed primitive? Thanks,