Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

rich_lord

Members
  • Content count

    185
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by rich_lord

  1. Hello, I've been finally getting around to learning Houdini constraints and motors. Here's a first set of tests that I've ran. They are all quite simple beginnings, but I've learnt alot, particularly about ways to generate constraints in SOPS and then apply to DOPS, which seems really powerful. Im also using this to have a little peek at mantra, and learn how to set up really simple scenes. Heres the hip files for anyone else trying to work this stuff out. They are a bit disorganised, and alot of them contain ROPS that will need to be rerendered. hip_file hip_file hip_file hip_file hip_file
  2. I love springs, but never attempted to make them in Houdini. I spent a few days making a SOP asset to do it. There's 4 types. 2 with hooks on the ends, 1 terminating in central lines, and another that has no end. There's also ramps for adjusting the radius and the distribution of the coils. All you need to do is feed it two points and it should just work........ The interface is not that great, some parameters dont do anything for certain spring types. Its not the fastest, its mostly made in VEX, and there are no uv's. All the stretching and scaling is also done in VEX that gets slow once there's tons of points. I put the hip here - http://richardlord.tumblr.com/post/159989136826/i-made-a-quick-spring-asset-because-i-love-springs
  3. @mestela Always been amazed that someone could be bothered to hand key that video.
  4. Jiggling the points does make it work. Im sure its a bug, it's happening to me a lot with lots of different types of curve geo. I'll submit it and see what they say. Here's one example of mine: point_bevel_bug.hiplc
  5. I've had the same issue with point bevels on curves. Also wasn't sure if it was a bug or a problem with my geo. File it as a bug I say!
  6. Im not sure exactly what you want as I'm not near Houdini, but to manipulate transforms of packed geo, you dont need to pack and unpack, just use the intrinsic. You also need to force dop's to rebuild the collision hull by setting the id to -1 (I think). Its tricky as you need to keep all the velocity's working. I got all this to work here in this scene. http://richardlord.tumblr.com/post/157573190741/hip-file-example-of-how-to-scale-packed
  7. I do a lot of creating and deleting constraints in VEX, and have also had some issues. I don't think primitive number, or count matters, as the data it needs is on the primitive itself, and unrelated to the order, or the primitive number. I noticed the Object Merge node that brings in the Relationship Geometry was not giving me the data I expected, so I changed the path in there to an explicit path. I was surprised to find that this solved my problems. I changed this stamp expression: `stamps("..", "DATAPATH", chsop("relnode") + ":Relationships/" + chs(chsop("relnode") + "/relname") + "/" + chs(chsop("relnode") + "/relationship/dataname") + "/Geometry")` with this(the path depends on your scene graph of course): /obj/geo1/dopnet1:Relationships/constraintnetwork1/constraintnetwork/Geometry Would love to know if this works for you, or if I'm way off. I was going to file a bug for the specific case I hit, but need to recreate the issue in a less complex file first.
  8. I have a hip file I use a bunch which contains some of the common tricks I always need, but constantly forget how to do. I thought i'd share it. Mostly its VEX/VOPS stuff to manipulate point transforms, a lot of it revolves around creating and using the orient attribute. I'll update it as I go I imagine. When I discover something new, I plan to throw it in here to prevent it eroding from my brain. Must give a shout out to mestela - http://www.tokeru.com/cgwiki/index.php?title=HoudiniVex , f1480187 and anim, who have helped me understand these things a bunch (even if they don't realize it). Thanks chaps! http://richardlord.tumblr.com/post/159277887181/ive-started-collecting-a-bunch-of-tricks-i-use-a
  9. I made some renders using the constraints on impacts setup I made. The sims are pretty crappy, but the basics of the system seems to work solidly enough. It would just be a matter of tweaking all the settings to get a smoother result. Each pair of RBDs gets no more than 1 constraint. I think it might work better if I allowed a few more, as the RBDs can spin around on this constraint, which looks a bit unstable. I posted the hip files for this over here: http://richardlord.tumblr.com/post/159194692191/crappy-sims-of-a-system-that-builds-constraints-at
  10. Very Pain! I assumed creating constraints at the position of the impact would be easy. NOPE! You have to transform each impact point into the rest position(Easy) AND the rest orientation(NOPE!). Luckily i'd done this about 100 years ago and I vaguely remembered how. Here's how to do it. You can get the file here
  11. Recently I wanted to make constraints based on impacts. I finally managed it. Here's the basics of the system. It uses a couple of ForeEach SOPs to step through and delete any constraint between the same two rbd's. Phew! This one was really tricky to work out. The hip file is available here
  12. Ok, Just 2 days to figure this out! I tried so many things, but ended up just using a foreach SOP to step through each constraint and compare it. Its not the fastest...... I also do the same thing on the initial impact points too, which seemed to be a little faster as I cull some points before I even build the constraint. The constraints are currently just made at the center of each rbd, but its easy to shift it to the exact point by using the info in the DOP Impacts. Get the hip here - http://richardlord.tumblr.com/post/158126297816/hipfile-making-collisions-based-on-impacts-is-way
  13. Im making constraints based on impacts in DOP's. I've got it all worked out except for the fact that I get so many impacts, i'm making way too many constraints. I can see that i'm getting sometimes 6 impact points that represent one collision, 3 for one of the objects and 3 for the other. All the impacts are exactly the same except for the impulse attribute. So, I need to find a good way to filter this. I'd like to end up with just one point representing each collision, but I'm not sure how to achieve this. I tried writing a complex nested set of for loops to test for similar collisions, but it got complex and slow. The DOP Impact Analysis doesn't do what I want as I don't want to use a threshold to filter the impacts, I just always want the strongest impact. I'd really appreciate any tricks to deal with this.
  14. Getting servos working has been bugging me for a long time. I want to set exact rotation values for them rather than just setting motor forces. I finally got them working for both packed and unpacked geo. you can get the hip from here :- http://richardlord.tumblr.com/post/157323581986/hipfile-got-servos-working-using-both-normal-geo
  15. I missed the attribute reorient SOP. That works perfectly! Thanks Szymon!
  16. Is there a way to transform other attributes in the way that the @P and @N attributes get transformed when I use the Transform or copy SOPS? I have a bunch of user attribs that i'd like to be transformed through the copy SOP. I can find hacky ways to update them, but i'm hoping there's a way I can make them just work. Thanks!
  17. Thanks for the tip, but I'm not sure I understand this node and there are no example files in the help card. In this scene, I've created an attribute on a point, vector_to_transform. But when I update the pos in the deformation wrangle it doesn't change by the same amount. Also I'd have no idea how to compute rotation in this node. transform_attributes.hiplc
  18. Hmmm. Ok, you got me there. That does indeed do what I wanted! I missed it I think as the Transform SOP does it differently, and the Edit SOP's user page doesn't mention it at all. Nor do the quick start videos on editing points. The right click menus don't have the ' shortcut on it either, despite having all the other handle stuff (that I know of) Thanks for the tip! I'll try again and see if I can model as fast in Houdini as elsewhere. I would love to never have to leave. (edit - Oh dear. I just found that its a checkbox called attach to geometry..... Well, that was obscure to me at least.)
  19. I've been trying to model in Houdini and am finding its still not quite there. (unless I'm missing something of course.) All the new tools are excellent, but the inability to manipulate the pivot in the edit SOP like you can in the Transform SOP, make fast alignment a pain, and slow modelling down too much to make it viable just yet.
  20. Heres an example. This stuff is tricky to do in Houdini, but is really amazing once you wrap your head around it. I create a sphere in SOPS. Pack it and give it a unique name and velocity(v) Then, in DOPS, in a SOP Sover, I bring a new sphere in every so often using an Object Merge. In the same SOP Solver I build a constraint, name each point correctly and set all the attribs up correctly. They go out the OUT_CON null. Then I read that into the Constraint Network There's a million ways to do this, this is the method that works well for me, and has proved most flexible so far. 17_02_27_spawning_constraints_b.hiplc
  21. Oh, maybe you meant you want it to delete 5% each frame. If you want that, you just add in an @Frame attribute like this. rand(@ptnum) < @Frame * 0.05 delete_points_time.hiplc
  22. Yes, just write rand(@ptnum) < 0.05 in the expression field of a delete sop. Heres it is set up. delete_points.hiplc
  23. Atoms tip is great, works really well for packed geo. Also, you can set the PopSteerSeek's attraction type to Points, and pipe in a bunch of points with matching ids to your geo. Really powerful!
  24. Yes its working in H15. I'm not sure that I should share the file though as its partially built from a paid tutorial. I did a simpler version here though, one which doesn't use solvers. Because of that it updates realtime as you drag the bug around. It looks closer to the one you originally posted. It's less elegant than the solver based one, but it works not too bad. If you move the purple transform node - MOVE CREATURE, everything should update reasonably well. Adjust the values in the red node -CTRL, to get different leg lengths, strides, etc. 17_02_05_simple_walk_without_solver.hip
  25. Ohhh, I see. Ok, here is your answer. Its done with some vector math. If you subtract two position vectors from each other, you get a direction pointing from one to the other. Then you normalise that vector to get them all be of length 1. Here it is done with VEX and VOPS. normals_point_away_from_point.hiplc