Jump to content

Search the Community

Showing results for tags 'Rotation'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Lounge/General chat
    • Education
    • Jobs
    • Marketplace
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering + Solaris!
    • Compositing
    • Games
    • Tools (HDA's etc.)
  • Coders Corner
    • HDK : Houdini Development Kit
    • Scripting
    • Shaders
  • Art and Challenges
    • Finished Work
    • Work in Progress
    • VFX Challenge
    • Effects Challenge Archive
  • Systems and Other Applications
    • Other 3d Packages
    • Operating Systems
    • Hardware
    • Pipeline
  • od|force
    • Feedback, Suggestions, Bugs

Product Groups

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Skype


Name


Location


Interests

  1. Hello, I searched the vollume and youtube to find out extract transform and rotation from animated objects I was able to produce the same result with the CG Forge tutorial (www.youtube.com/watch?v=iSiyGr8p0p4&t=326s) But when I applied to my animated object in sop somehow the transform is ok but the rotation failed completely Can anyone point out what I did wrong? Thank you Extract_Rotation_Help.hipnc
  2. Hi I'm fairly new to Houdini, hoping someone can help me understand how to do this. Basically I want to rotate the triangles with a noise in an attribute VOP, however nothing I have tried works and I have a feeling it's because rotation may only work on point normals? (Still pretty confused) I tried using the primitive node to rotate but would ideally like to be able to control random rotation in VOPS Any help would be really appreciated, it's been quite frustrating to figure this out Thanks rotatetriangles.hip
  3. Hi guys, I've been giving VEX a go recently and I've hit a block in something I'm trying to achieve. I'd like to take a set of points from a scatter node and wobble or wiggle each of them randomly on a given axis (Y) over time. As an expression this is as easy as sin(time * #) in the rotation transform for a desired axis. This doesn't work in VEX as everyone knows. I did find a lot of reference on matrix and quaternion functions in VEX and this seems like the way it should be done. It looks pretty complicated though for something as simple as wobbling a point on an axis. I know VEX works with radians only. Anyway, I'm sort of stuck. Any help would be appreciated. Thank you!
  4. Hi guys, I would like to get a way to add more deform to a ribbon. Pathdeform is helping but I would like to add some area to rotate my ribbon. I tried "attribute transfer" to rotate @N without succes.. Any help would be appreciate. Thank you.
  5. hello - attempting to recreate basalt columns. i have created the basic shape and then copied to points with random rotation. however - the next step would be to have random angles on the tops - subtle - not strong. unsure of how to do this. also - is there a way to create a gradient - so they stack from short to tall?
  6. Hello ! I'm trying to get an animation transfer from packed geometry to bone to work. It works when transferring the animation to a geometry (there is no visible problem in the viewport), but in the Animation Editor, the keys are not very clean. See below Here is the nice and tidy one, the source : Here is the result from the script, the baked one : As I said, in the viewport it works, but these keys are not very clean. Why do they look like that ? How to make them cleaner ? (See script and scene below) BUT ! What I really want is to bake the animation on a bone, not on a box. The previous problem still apply to this situation. The position works, but the rotation just fails miserably (with the same code !). The very same rotation is applied to the bone as the previous one that was applied to the test box, but the result in the viewport is not the same at all. The red is the source and the blue is the skinned box (to the visible bone). Why is that ? What am I missing ? Here's the code : node = hou.pwd() obj = hou.node("/obj") def extractEulerRotates(self, rotate_order="xyz"): # Thanks to the Houdini help page for that. But there is a problem here though return hou.Matrix4(self.extractRotationMatrix3()).explode(rotate_order=rotate_order)["rotate"] # The extracted rotation from this function is incorrect. def bakePackedAnim(): # Saving out some time-related variables intialFrame = hou.intFrame() startFrame = int(hou.hscriptExpression("$RFSTART")) # Don't know how to do it in Python endFrame = int(hou.hscriptExpression("$RFEND")) # Don't know how to do it in Python hou.setFrame(startFrame) # ''' # Initial setup : Creates a bone and a box, and then skins the box to the bone with a Capture Proximity. theBone = obj.createNode("bone", "tranformed_bone") # Create only one bone. Would put it in a loop to create multiple. # theBone.moveToGoodPosition() # Easier to work without it. Will uncomment in the end # TO REMOVE... But weirdly with -not a bone- it's working. Hmmm. testGeo = obj.createNode("geo", "test_geo") fileNode = testGeo.allSubChildren()[0] testTransform = testGeo.createNode("xform") testTransform.setFirstInput(fileNode) testTransform.moveToGoodPosition() testTransform.setDisplayFlag(True) testTransform.setRenderFlag(True) # Remove up to here skinnedGeo = obj.createNode("geo", "skinned_geo") # skinnedGeo.moveToGoodPosition() # Easier to work without it. Will uncomment in the end skinnedGeo.deleteItems(skinnedGeo.allSubChildren()) # Removes the file node boxNode = skinnedGeo.createNode("box") captureProximNode = skinnedGeo.createNode("captureproximity") captureProximNode.setFirstInput(boxNode) captureProximNode.moveToGoodPosition() captureProximNode.parm("rootpath").set(str(theBone.path())) deformNode = skinnedGeo.createNode("deform") deformNode.setFirstInput(captureProximNode) deformNode.moveToGoodPosition() #deformNode.setDisplayFlag(True) #deformNode.setRenderFlag(True) # Applying some color to the skinned box attribWrangle = skinnedGeo.createNode("attribwrangle", "color") attribWrangle.setFirstInput(deformNode) attribWrangle.parm("snippet").set("@Cd = {0,0,1};") attribWrangle.moveToGoodPosition() attribWrangle.setDisplayFlag(True) attribWrangle.setRenderFlag(True) # ''' # Transfers the animation from the specified geometry to the bone workingNode = hou.node("/obj/animated_box/OUT_script").geometry() # Gets the geometry of my test scenario for i in xrange(startFrame, endFrame+1): # For some reasons, xrange goes from the correct start value to the end value, minus 1. Strange. hou.setFrame(i) theFullTransform = workingNode.prims()[0].fullTransform() thePosition = workingNode.points()[0].attribValue("P") # This code works only for one object. Would do a loop here through all the pack geo. theRotation = extractEulerRotates(theFullTransform) # Got a problem with how this function extracts the rotation # Position key = hou.Keyframe(thePosition[0]) theBone.parm("tx").setKeyframe(key) testTransform.parm("tx").setKeyframe(key) key = hou.Keyframe(thePosition[1]) theBone.parm("ty").setKeyframe(key) testTransform.parm("ty").setKeyframe(key) key = hou.Keyframe(thePosition[2]) theBone.parm("tz").setKeyframe(key) testTransform.parm("tz").setKeyframe(key) # Rotation key = hou.Keyframe(theRotation[0]) theBone.parm("rx").setKeyframe(key) testTransform.parm("rx").setKeyframe(key) key = hou.Keyframe(theRotation[1]) theBone.parm("ry").setKeyframe(key) testTransform.parm("ry").setKeyframe(key) key = hou.Keyframe(theRotation[2]) theBone.parm("rz").setKeyframe(key) testTransform.parm("rz").setKeyframe(key) hou.setFrame(intialFrame) bakePackedAnim() # Would need to create a UI or a button for convenience, calling this out. And the scene : packed_anim_baker.hip Thanks ! EDIT : P.S. If I copy and paste relative reference from the source's rotation to the bone's rotation, the result is the same : obviously wrong rotation.
  7. I copy the small grids to each point of the grid template and now I would like to rotate them in randomly so they snap to 90/180 and 270-degree intervals in Y-axis. Is there an easy way to solve it in VEX or with VOPS?
  8. Hello Friends, Thank you for your time. I'm sure this is a very easy question, but for the life of me, I'm unable to get the result I want. I'm currently working on a dynamic stone wearing node. I'd like to be able to clip the outside corners with these little cutters. I've got most of what i want working, but I'm unable to get the cutters to have some variance in their alignment to the normals. So while I can have smaller or larger cuts, they always come out oriented to the normal, creating cuts that are equal on all sides. I want them to be more random. I should just be able to add slight randomization, but I can't get an attribute randomize to work, and have also tried an attribute wrangle that spins them around the main object's normals - which is cool, but given there is no detail on the cutter objects currently it doesn't serve any purpose. Does anyone know what I can do to add wobbling variance to the normals that control alignment of these pieces? Thanks again.
  9. Hi; I tried to make some animation using CHOPs based on a tutorial from "Peter Quint" (https://www.youtube.com/watch?v=4tGCG5u1jwI), but I got some problems with the rotation, so as you can see in the image below, my box rotation jumps on some frames, and it's starting rotation is wrong! How can I fix it? Thanks for helping. CHOPs animation_01.hip
  10. Thought I'd share a little primitive center rotation snippet, any comments welcome. Note: Requires connectivity node upstream set to primitive and attrib "class". //Rotate primitive around center and defined axis int points[] = primpoints(0, @primnum); vector axis = set(0,1,0); //define user axis //vector axis = normalize(@N); //if normal axis is required float angle = ch('angle'); matrix3 rotm = ident(); rotate(rotm, radians(angle), axis); //get center (requires connectivity node, set primitime and sttrib "class") string grp = '\@class='+itoa(i@class); vector CenterPivot = getbbox_center(0,grp); vector pos; // move points to origin, rotate, move back foreach(int pt; points) { pos = point(0,"P",pt); pos -= CenterPivot; pos *= rotm; pos += CenterPivot; setpointattrib(0,"P",pt,pos, "set"); }
  11. Hi guys, I'm wondering how to get the best approch for rotating a bottle on border and then stabilize in a realistic way? rotation slowly and then faster to then stibilyze.. Thank you for your help.
  12. I was testing to transfer particles from Houdini to Maya,i use Cortex plugin to go into Maya,since Maya default importer sucks like 3dsmax roadmap So i was triying to get rotations, so far i cant get to work. Anyone tried this? Thanks
  13. 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
  14. I'm trying to create a pipe HDA for Unreal Engine 4 that either calls upon a straight piece or a corner piece and then orients each piece accordingly. I feel like I'm going about it all wrong, but the result I have is so close! As you can see in the first picture, it's KIND OF working, but I think it might fall apart very easily. I've attached a hip file any help would be greatly appreciated. pipeorient.hip
  15. hello guys. ive been bashing my head against the wall and read through way too many forums now. but i couldnt find something similar to my problem. Im trying to create for now a simple setup is to just break my glue constraints. The ball and colliding objects both have animation ( deforming). Now i do realize that my constraints get reconstrainted because of Overwrite with SOP option set to 1. however if i were to set it to 0 to only bring in the constraints on the first frame for the constraints to stay broken, the constraints would not be able to follow according to the animation of the ball, because it is rotating and changing position, leaving it very innacurate. So could anyone help me troubleshoot this? i think i have to somehow update the position and rotation of the constraints but i dont know how. I would provide a scene but it my scene is for a job. ive already tried matching position but there is rotation as well on the sphere, the resulting collision looks inaccurate as if its offseted broken_setup.mov broken_setup_position.mov
  16. Hi there! I made a simple rotation in Houdini in OBJ level and exported it via File/Export as FBX file to import into UE4. The object is rotation 300° over 96 frames. When I import then FBX into UE4 everything looks fine, but the object only rotates for about 60°? The same FBX works fine when I test it in Unity. Is there something I'm missing? Import settings in UE4 look fine - how can it be that the object doesn't do the full rotation? The imported frames are 96 as well - so that's fine. Easy in/out looks correct as well. It just doesn't rotate the full 300° but about 60°. Thanks in advance! Best, Ron
  17. Hi everyone! I made an HDA that generates a level. Got a couple of blueprints in Unreal I need to spawn. This works fine when I use the unreal_instance as point-attribute with the spawn-points. Since I want to rotate the blueprints instances as well, i added a rot point-attribute (also tested with orient) to the points - but this doesn't seem to carry over. Works fine inside Houdini when I test it with proxy geo (e.g. boxes) Every instance of the blueprint Unreal though has the same rotation. Am I doing something wrong here? best, Ron
  18. Hi everyone. I have a RBD sim that falling some geo's. And I wanted to copy some geo's to their centers. But theese geo's has no rotation data. How can I copy the rotation data of sim ? I tried to tranfer orient and w attributes and it doesnt work as well.
  19. Hi there. I am struggling with setting up the following: I have 2 points and I need to create a position/rotation vector from them to attach a new geometry onto the vector. I have got to the point where I have the new object aligned with the vector and I get a correct position and rotation, however I also get a random rotation along the object's own axis. (in an attached file it's the tube which is randomly rotating around it's own X axis. Any help would be appreciated, see the attached set up in the file. Many thanks! Adrianna vector_01.hipnc
  20. hi all i'm trying to add a way to rotate each of my pieces of my burger randomly - but i cannot suss it for love nor money can anyone help please? @mestela - i found a simple wrangle from you to shift all the pieces upwards (burger exported from maya!) ... now i just want to add a little rotation but i cant figure this out tried primitive wrangles and pasting expressions into transform nodes - no idea
  21. Hello peeps, I'm trying to figure out something similar to some sort of ribbon setup in Houdini. Still, lots to do but right now I'm trying to work out rotations, I have twist working by itself such that if I twist the ribbon the bone rotates accordingly and bend working by itself as well, however, if I twist and bend the ribbon at the same time, the rotations become unstable. How can I fix this? Any help is much appreciated!!! Thanks. ribbon_setup_test_01.hip
  22. Good morning dear community As well as we can get a bbox boundaries and centroid using as well $CEX, $CEY, $CEZ or centroid expression, exist the possibility to get "pivot rotation" related to world space? Tried conversion of acos to degrees using dot from Normal Vector but without successfully results. Take in mind it came from point deformed animation with constant shape (Menas bbox remain constant during the whole length animation) Thank you very much
  23. Hey guys, new here, nice to meet y'all! I'm new to Houdini and have been dabbling with VEX recently. It's a love hate thing. Being interested in social insects I got the idea to build a little "ant robot" that could follow a trail. It has a body (point) and three points that serve as sensors. These sensors sample the ground's trail attribute (red, works), compare their values, find the "winner" (works) and then the whole thing should rotate accordingly and move along a vector that goes from the body to the best sensor point to stay on track. (Works not so well). That's the status and at least it's doing some following the path, but I can't get the robot thing to rotate around a custom position. Instead, the matrix rotation always uses the world origin as a pivot which looks increasingly bad with distance and at a certain stage just breaks. Also, the body promptly severs itself from the rest, which is a tad unfortunate, as I wanted it to follow the sensors (stay attached) and serve as a the pivot for the rotate(). I know this is a little messy but maybe one of you would like to have a look at the hip and point me to the obvious mistakes I made. Much appreciated! Cheers, Felix Robot_movement_issue.hiplc
  24. Hello guys ! I need a little help. I have a curve and I am trying to get secondary curves around it. And finally to convert it to geometry with polywire. I don't want my curves to interpenetrate or to twist. I scatter points into a circle. I give an individual attribute to each point. I copy them to the points of the curve. I tried polyframe and vex code to keep the orientation of the points along the curve. I manage to get it but now I see that my secondary curves twist at some points. I think that I should use quaternion as orient before the copy but I don't know how to use it. For the moment, I've got this in my wrangle before the copy : v@N = v@N ; vector tangentu = v@tangentu; vector up = set(0,1,0); vector side = cross(tangentu, up) ; v@up = side; v@side = side ; v@N = tangentu ; // p@orient = set(@tangentu.x, @tangentu.y , @tangentu.z, radians(90) ); At the end, I will use a polywire (and I don't want them to twist around my main curve). Do you have some ideas of how I can do this ? I join the scene to explain. epe_copyWithRotationAlongCurve.hipnc
  25. Hi everyone, I'm trying to create a delay effector style effect on some copied boxes, but I've chosen the option to pack primitives before copying and now in CHOPS I want to know how to make say a Spring CHOP pick up the rotation of a packed prim. Here is an example scene file below. Thanks to anyone who can help. C4D_mograph_rebuilding_01.hip
×
×
  • Create New...