Jump to content
emiguel

Houdini for physics-based simulation research

Recommended Posts

Hi! I have been reading some posts here and googled for complex examples using HDK, but still do not have a very clear idea of what HDK can do. Just to give some context, let's say we want to do research on algorithms used to simulate deformable objects such as deformable solids or cloth, at the same time we want to change core functionalities such as collision response to handle cloth self-collisions and flesh-cloth collisions in different ways, and from all these stuff we want to be able to extract the forces at every step, for example if we wanted to externally use a haptic device to "touch" different elements in the scene. My question is, do you think it is possible to do this kind of stuff with HDK in a reasonable amount of time?

Thank you in advance!

Share this post


Link to post
Share on other sites

I'm not sure how you would define "reasonable". :) The HDK is basically the same core development libraries as Houdini itself and so it's extremely powerful. The disadvantage will be that you need to learn how use it's own set of basic algebra and simulation libraries. On top of that, you'll also need to learn enough of Houdini's graph operators to use it as your platform. Without knowing Houdini's technology, it might be hard to make sense of the HDK. Once you know it though, it's fairly good as a high-level platform (but I'm biased).

In terms of research, I know of one recent research project that used Houdini: https://cs.byu.edu/a...tation_proposal

If you want to read some more on HDK, this is your starting point: http://www.sidefx.com/docs/hdk12.1/

For simulation, here's what it looks like to write your own solver for Houdini: http://www.sidefx.co..._simsolver.html

The closest example I can think of is this: http://www.sidefx.co..._c-example.html

Houdini has a very rich data processing paradigm and so it's very easy for your solver to make available any type of data to other parts of the application (for visualization, etc).

There's no built-in support for haptic devices though so you will need to write your own for Houdini. This can either be done directly inside your solver, or exposed as generic data that perhaps a CHOP haptic device driver will use. The nice thing about going though CHOPs is that you can then easily process the signal without writing code (eg. filter it in some way).

Share this post


Link to post
Share on other sites

Here are some video results from the research Edward linked to above: http://vimeo.com/user4132853 Everything Edward said is very true. I'm not a computer scientist/engineer by any means, but even I saw the potential as I watched that guy above use Houdini for his PhD. It's an awesome platform.

And I would add that being able to write tools and operators in Python first was awesome (that's what Seth did), and then move to the HDK in C++ for speed/capabilites/etc... (though inlinecpp is freaking sweet). Some other, non-programming aspects that are awesome for research are things like Wedge tools for testing, and a really excellent rederer in mantra to get good looking research too.

Share this post


Link to post
Share on other sites

Hi! Thank you very much for the replies! I could not find any examples like the one you mentioned, which does look very cool indeed!! I will give it a try!

Share this post


Link to post
Share on other sites

Hi Miguel.

I don´t know a word about modifying the HDK myself, but if you need some Houdini help on the application itself for your research or you got some questions about a feature (such as the Wedge ROP that Chris mentioned) or even some (simple) Python questions, just know I am at a train distance, here in sunny Barcelona.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×