Christian Schnellhammer . TD Blog

Houdini Ocean Toolkit for Houdini

Just ported my multithreaded version of the Houdini Ocean Toolkit to Houdini 12.

Just check the “Threaded” parameter of the SOP deformer to switch to multithreaded calculation. Got speedup up to 100% on larger oceans.
Had no time for in-depth testing…so please let me know if you have any problems.

Here you can find the source an win64 binaries:
(This version works for Windows. Did not try if this version works for other platforms)

Win64 binaries:

Houdini 13
HOcean_HOT_H13.0.343_win_x64.zip (VC9)

Houdini 12.5
HOcean_HOT_H12.5.377_win_x64.zip

Houdini 12.1
HOcean_HOT_H12.1.125_win_x64.zip
HOcean_HOT_H12.1.77_win_x64.zip
HOcean_HOT_H12.1.33_win_x64.zip

Houdini 12.0
HOcean_HOT_H12.0.581_win_x64.zip
HOcean_HOT_H12.0.543.9_win_x64.zip

Sources for Houdini 12: HOcean_HOT_H12_src.zip

Written by schnelli

March 6th, 2012 at 12:10 pm

Posted in 3d, downloads, houdini

Training Video For Houdini Flocking Systems on cmiVFX

cmiVFX just releases my flocking tutorial:
store.cmivfx.com/tutorials/view/330/Houdini+Flocking+Systems

Check it out. I hope you’ll enjoy it!

This training focuses on a basic concept of flocking simulations: steering behaviors. The algorithms created by Craig Reynolds can be used to simulate the movements seen in flocks of birds or fish.

This step-by-step training video introduces how steering behaviors work and how one can create complex simulations just by combining simple behaviors. The viewer will learn the common behaviors like “separation” or “cohesion” and how they interact with the agent’s mind.

As a bonus this tutorial comes with a powerful library of a multi-agent system which you can use to create flocking and crowd simulations.

Written by schnelli

November 23rd, 2011 at 11:10 am

Posted in houdini

Houdini Closest Primitive VEX Function

This Houdini 11 plugin extends VEX with a function to retrieve the closest primitive to a given point.

Usage:

prim = csClosestPrimitive(file, pos, maxDistance, &closestPoint, &closestPrimNormal, &primU, &primV);

Parameter:

prim the primitive number of closest primitive. -1 if no primitive found
file path to geometry in op:/ notation (e.g. op:/obj/box1 Currently no external File supported!!)
maxDistance the maximum search distance. -1 for no limitation
closestPoint contains the closest point on the primitive
closestPrimNormal contains the normal of the primitive
primU the primitive’s U coordinate of the closest point
primV the primitive’s V coordinate of the closest point

There is also a VOP node available:

Download source:
csVEXClosestPrimitive_src.zip

Binaries:
csVEXClosestPrimitive_H11_win_x64.zip

Thanks to Martin Matzeder for some great inputs.

Written by schnelli

August 23rd, 2011 at 11:23 am

Posted in downloads, houdini

Showreel 2011

We are a collaborative of independent media professionals working on asking questions and finding answers.

Coming from as many backgrounds as there are members to the group – ranging from graphic design to software development -we collaborate on projects deploying an interdisciplinary approach. While the majority of our work consists of visual effects projects for feature films and commercials we constantly try to widen our horizons and look for new challenges.

This showreel demonstrates a selection of our work.

Stefan Galleithner
Nils Engler
Martin Saechsinger
Christian Schnellhammer

Projects shown:

Feature Films:
2012, We are the Night, John Rabe, Krabat, Vicky the Viking, Dungeon Siege, Gaping Abyss A Christmoose Carol

Commercials:
Lamborghini Aventador, Skoda „Curriculum Vitae“, Piraeus Bank „Origami“, Continental „Stop the Ball“, T-Com „Rain of Flowers“, Aditya Birla Group „Let’s reach for the Sun“, Qatar Foundation, GNP „Click“, Illy „Beauty has a taste“

Written by schnelli

July 8th, 2011 at 5:35 pm

Paperworld for “Skoda – Curriculum Vitae”

Check out this spot we have worked on in collaboration with weareflink, Hamburg, Germany.

The Munich team consists of Martin Sächsinger, Nils Engler, Stefan Galleithner and me.
Check out the vimeo page to see full credits: http://vimeo.com/25073794

But how to create a Paperworld? One of the greatest challenge was to create animations where pages of paper should fold to different geometrical objects. So we developed some “PaperTools” in Softimage ICE, simplifying this task.

I want to show you some tools we made for this projekt:

The following video shows a tech demo of an ICE compound where you can bend/fold a paper on any arbitrary position:

The next video shows an extension of the paper bending compound. You can place a null and a compound for each folding. Connecting a single scalar value to each of the folding compounds let you animate the whole folding process with just one slider:

We developed a shape blender allowing us to blend between a set of geometry shapes via spline interpolation. It’s only necessary to create a group of geometry forming the key-deformation of the folding process. The compound is able to interpolate in-between shapes for a smooth animation. It uses a spline interpolation to get nearly “round” folding paths.
The video shows the interpolation between 13 geometry shapes:

Written by schnelli

June 15th, 2011 at 9:27 am

Posted in ICE, work, xsi

Houdini Bird Flock

This video shows a bird flock simulation created in Houdini. It uses Craig Reynold’s steering behaviors technique.
I created a VOP POP node in Houdini implementing the flocking behavior. The general movement of the bird crowd can be controlled by one ore more leading birds.

This sample has two bird crowds with mutual interaction.
I copied a simple bird geometry on the simulations points and rendered with Mantra.

Visit my other page for more information regarding steering behaviors:
www.steeringbehaviors.de

Written by schnelli

June 13th, 2011 at 12:22 pm

Posted in houdini

Water Foam Generation Tests

Some years ago I implemented a watersurface toolset for Maya needed for a projekt I was working on. The toolsets consists of a tessendorf ocean deformer, a mentalray ocean displacement shader and and a IWave simulation solver for interactive water (See paper by Jerry Tessendorf on his website) . As base for the tessendorf ocean I used the HOT (Houdini Ocean Toolkit) by Drew Whitehouse. I just used this tool internally for projects. Now, at this time, there are also some public HOT ocean implementations for Maya available.

To create realistic water surfaces, I  turned great attention on the foam generation of the water surfaces. Since I did not found any good solutions in the web, I started my own implementation. The main part of this foam tool is  just a mentalray shader. The foam generation is based on the color per vertex attributes of Maya. No particles or fluid are needed. The foam is shaded with some different noise layers, combined and animated by the values of the CPV data. And I got a nice behaviour of the foam in the simulation.

I want to show you some tests I did with the foam shader. This videos only focuses the foam generation and simulation.

The first video shows a simple test of the ocean deformer combined with the Iwave solver and a interactive foam generation.

The second video shows the skills of my foam generation tool in combination with the tessendorf ocean.

By the way, my multithreading implementation of the Houdini Ocean Toolkit was born at the time I created this toolset for Maya in 2008. Later, I also created a Softimage ICE version of this toolset. For more details take a look at my other blog posts.

Written by schnelli

October 23rd, 2010 at 11:11 am

Steering Behaviors and Crowd Simulations

I just want to refer to an old and dusty website of mine describing “steering behaviors”. It was a diploma theses of my studies in computer science years ago. Together with a fellow student I did some research of the technique described by Craig Reynolds and Robin Greene.  “Steering Behaviors” is the base idea of creating crowd simulations and since it is very fast it is often used in game development.

You can download a free  GPL based implementation in Java. There is also a paper available describing the implementation.

Unfortunately the english version of the paper is not fully complete.

Just take a look: www.steeringbehaviors.de

Written by schnelli

June 14th, 2010 at 9:23 am

Posted in other

Multithreading for Houdini Ocean Toolkit

With some small modifications, the Houdini Ocean Toolkit source code can be used in multithreaded environments.

I created OpenMP variant of the HOT ocean SOP node. On a multicore machine the HOT becomes appreciable faster.

To use the compiled binaries you need the OpenMP libraries (vcomp90.dll) shipped with the Microsoft Visual C++ 2008 Redistributable Package. You can download it from the Microsoft site.

Note: To compile the source with OpenMP enabled you have to turn on the /openmp  compiler flag in Visual Studio. Use -fopenmp if you are compiling with the gnu compiler.

Downloads:

Win32 binaries hocean_bin_hot1.0rc8_win32_H10.0.554.zip

Win64 binaries hocean_bin_hot1.0rc8_win64_H10.0.528.zip

Sources hocean_src_hot1.0rc8_openMP.zip

Written by schnelli

June 11th, 2010 at 9:37 am

Posted in downloads, houdini

XOcean – A XSI ICE Node using the Houdini Ocean Toolkit

Another project of mine was to create an ICE Node using the HOT (Houdini Ocean Toolkit). The HOT is a very stable implementation of the Tessendorf algorithm for ocean waves.

The Xocean node  can be used as a deformer (by using a non-simulated ICETree on geometry objects) or for creating interesting particle simulations. The node outputs the displacement values as well as the eigenvectors and eigenvalues for each point in world space.

The advantage using an ICE Node is that the outputs can be combined and reused in the ICE Tree (e.g. colorize foam or emitting particles where foam occures)

Download the x64 build for Softimage 2012: xocean_XSI2012_x64.zip
The node outputs the displacement vectors as well as the eigenvalues and eigenvectors per point.

Here are some pictures of Xocean in action:

Written by schnelli

June 11th, 2010 at 9:37 am

Posted in xsi

Tagged with