Tech Experiments

   410   4   1
User Avatar
Member
3 posts
Joined: Dec. 2017
Offline
Hi there,

I am new around here but i would like to start posting some of the latest stuff i've been doing with houdini.



First an experiment doing a procedural tentacle (procedural model and animation). This one was done by using a path deform i made as well with vex (more details about the path deform in this video: https://vimeo.com/247656989)

This tentacle was done in 3 steps:

First step, the tentacle movement made with only points, a vex wrangler was used for that using some neat sin equations.

Second step, the geometry of the tentacle was made using segments that can be copied several times, then they are merged and the thickness is changed along the axis with a ramp.

Third and final step, the vex path deform was used to deform the tentacle geo along the tentacle curve that was created using the points of the first step.

Hip File to Download:
http://www.joleanes.com/uploads/3/0/6/8/30680865/tentacle_001.hip [www.joleanes.com]

If you want to know more about how i design tools, i am using a similar process used in “System Development Life Cycle” which is the process used for software development, at the end of the day doing stuff in Houdini is the same as programming, but with nodes and scripting.

So before i even open Houdini i write a document with the requirements and design of the tool. Then after that i make the implementation in Houdini. I have found that is the fastest and most organized way to develop tools because you are not wondering around in the middle of the process in Houdini to know what to do next, because everything is already planned from the beginning. If something big need to be changed in the middle of the implementation or afterwards it's better to go back to the design document and make the change there.

Here is the Requirements & Design document for the tentacle tool:
http://www.joleanes.com/uploads/3/0/6/8/30680865/tentacle_requirements_design.pdf [www.joleanes.com]

Here a wikipedia link with some info about “System Development Life Cycle”:
https://en.wikipedia.org/wiki/Systems_development_life_cycle [en.wikipedia.org]
User Avatar
Member
164 posts
Joined: Feb. 2013
Offline
Wow, lovely work. Thank you for sharing.

For some reason the attribute wrangle “tentacle_points” fails to compile in 16.5.330 because of the line
float PI = 3.1415926535897932384;
Seems to work normally upon changing the variable name.

But that's the same way it's defined in the expression cookbook. Anyway, I'm going to have to spend some more time playing around with this neat system you've designed.
User Avatar
Staff
2764 posts
Joined: July 2005
Offline
cool stuff!

why not just use PI?
it's a predefined variable see -> Edit Aliases and Variables
Michael Goldfarb | www.odforce.net
Senior Technical Director
SideFX
www.sidefx.com
User Avatar
Member
3 posts
Joined: Dec. 2017
Offline
Hi guys thanks for commenting!

Actually i was not using that PI in the code anymore but i forgot to remove it. And yeah now i can see i can use it like this: $PI, instead of defining a variable.

I did that first because i saw an example in the houdini help using the variable definition, but yeah that looks ugly.

Thanks for the tip!
User Avatar
Member
3 posts
Joined: Dec. 2017
Offline

Now the next step of the experiments, put some collisions!. I got some cool advice from Hernan Llano to setup the constraints https://vimeo.com/hernanllano [vimeo.com]

the next step was setting up the RBD sim, creating some hard and spring constraints, and then i made a sop solver with vex to inherit the movements of the animation.

No stretch behaviour for now, maybe later.

Good exercise for practicing encapsulation!, with that i mean a concept used a lot in object oriented programming, really good way to keep the scene neat, clean and organized:
https://en.wikipedia.org/wiki/Encapsulation_(computer_programming)
Edited by joleanes - Dec. 31, 2017 14:29:29
  • Quick Links