Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Everything posted by agelosc

  1. inverskin rotation offset

    Thats actually perfect. Much easier than expected. Thank you.
  2. Hi, I'm trying to create a spine with custom twist control. Naturally I've set up my bones to follow a curve, and I've created my custom twist attributes on the same curve. Each point of the curve coresponds to a bone. Inversekin chop has taken over the rotation of the bones so I'm assuming I need to filter through the channels of the inversekin and add an offset to only the rx channel for example. The offset number will finally need to be queried from the curve points. Can you point me to the direction of how I can go about doing something like this? Or something else entirely if you think I'm approaching this all wrong. Thanks in advance.
  3. parameter value relative offset

    Well, yes exactly. Awesome, thank you.
  4. Hi, Is there a way to set a parameter value to the result of an math operation using the current value. In maya for example, in the channel editor you can set the value to "+=10" or "*=2". This will add 10 or multiple by 2 the current value. This makes sense when multiple objects are selected and you want a common relative offset and not an absolute value or an expression. Thanks in advance
  5. parameter value relative offset

    Thank you, I was hoping for a parameter interface feature I might have missed but thanks either way.
  6. 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
  7. 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");
  8. RBD size/scale change during simulation

    That's perfect, thank you.
  9. 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
  10. 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
  11. 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
  12. flip interior emitter and velocity

    That's good to know, thank you.
  13. 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.
  14. 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.
  15. 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.
  16. 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?
  17. 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.
  18. Hi all, Is there a way to paint wire capture weights? The paint capture layer node has a wire option but as far as I can understand it can only remove weights from capture areas. Is there a way to adjust weights so that a point of the curve has influence on any point of the deforming geometry?
  19. 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.
  20. 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,
  21. 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
  22. Hi all, I'm trying to create a spiral orange peel setup (like this) but I've been going about it in circles. I've managed to create the seams on a sphere and it's all nice and tidy but I'd like to see how I could go about and animate it. This is only a case study so there is no specific animation in mind, only something that will make the peel visible. One solution is to create a wire deformer with the original curve but the weights will need to be adjusted manually. Does the CaptureLayerPaint work with wire captures? There is a wire capture type on the node but I can't find how to to assign weights to specific points like one would do with bones. Another solution would be to transfer the u parameter of the curve on the surface. This "twisted" u parameter on the surface can then be used with a funky attributeWrangle to move points varied by this attribute or what not. However since the curve works as the seam there needs to be an offset on the attribute transfer so that points on one side of the seam have the weight closest to the curve and points in the same position but "below" the seam should have the weight of the curve lower on the lattitude (or longitude?) of the orange. Haven't managed to create this attribute along the curve in this manner. Instead I tried to create the seams after the attribute transfer based on the u threshold. PrimitiveSplit and PolyCut seem to do this but not without creating gaps. Is there a way to create a new curve based on this threshold and maybe then I can use that curve for the seams. Last but not least running a cloth sim on the geometry will reveal the peel as needed but the original orange geometry is no good for a cloth sim so I'm having the same problems with the first solution where the cloth capture weights need be adjusted manually because of the seams but not sure if that's possible. I've attached a test file with the three solutions, at least as far as I managed to go. I might be going at this all wrong but please let me know if you have any suggestions at the solutions mentioned or something completely new. Thanks in advance. OrangePeel.hipnc
  23. Hi all, I'm bringing in large alembic files for rendering with Mantra PBR. One of the primitive attributes within the alembic is imported in the shader to switch between two surface model outputs. One for opaque and one for transparent objects. I also have two lights, one for each type of object. If the alembic is imported as houdini geometry, all is good. I can group the transparent objects and with the objectMerge node use light masking on the geometry node. Easy peasy. However if I were to import the almebic as delayed load primitives, I can no longer use groups and objectMerge nodes. Is there any other way to make this light masking with delayed load primitives? Possibly within the shader, or maybe fake the reflections/refraction model since my "transparent" light is just an environment map? If you could point me in the right direction it would be great help, Thanks in advance.
  24. If anyone is interested I think I solved this using the light contribution flags on the lights. I deactivated the refraction component on my main light (for solid objects) I used Ray Tracing Background rendering mode on the other light (for transparent objects). Finally on my shader I deactivated reflect lights on the surface model node for the transparent objects leaving only reflect objects on. Using Ray Tracing Background on the appropriate light seemed to be key in all this. The details of why this works is beyond my understadning but I hope it helps.