Jump to content

Sandman


mightcouldb1

Recommended Posts

I am trying to recreate the Sandman from Spiderman 3.

I'd really appreciate any feedback you guys can give me as I progress.

I have posted the first round of progress on my blog:

http://blog.naturetheory.net/

This is a pretty hard project. I know that a lot of custom tools were written.

Here is the way I am planning on going about things:

  • Emitting ODE spheres from an object - taking that velocity to drive particles.
  • Layering more particles on top of that.
  • Using a particle based method of erosion, to erode my animated sandman geometry.
  • Creating an fog volume of a mound of sand and the sandman at a high resolution per frame.
  • Scatter points inside of that to be point source for particles or simply render the points.
  • delete all scattered points towards the end of the animation so that the remaining particles collapse.
  • layer tons of delayed load sims together and make everything happy.

There could be flaws in my method, or things that I haven't figured out just yet, which is why I'd like some input feedback if someone can provide it. :)

It would be cool to use an isosurface/volume method of erosion that Daniel Ferreira used in the movie, but it would be a big time commitment to start to go that route.

More stuff soon.

Jason

Link to comment
Share on other sites

Hi mightcouldb1,

I'm a newbie with Houdini, so I cannot say nothing useful about what you have to do with it, but I admire you because sandman is really an interesting project.

What I can say to you for sure is more about your first video.

The first thought is sand looks good, maybe adjust the color variation with some more darker grain.

About animation, well, it seems more wet sand falling down instead of dryed sand, I mean, actual it seems mud that falls, or icecream, I don't know how to explain, but the animation/simulation is far to make me think it's sand.

There are videos if you make a search, where Sony Pictures shows how they reach the effect making a comparison between real falling sand and simulated CG sand and they were impressing: little grains of sand run away from the center, while little mountain is growing like yours and the source is more thin than yours, it's like the sand falling from hourglass and if you find videos about hourglass, I think you'll be in the right path for animation/simulation.

For example, I expect that little grain that fall on the sides of your sorce will jump away and will run very fast from the mountain: instead you make them falling and sticking in the mountain, which I consider wrong.

I'll follow your progress, because the complex and interesting project.

Link to comment
Share on other sites

-> layer tons of delayed load sims together and make everything happy.

This will make or break your effect I think. Rendering tons of delayed load really does require a dso (unless you want to dump a lot of delayed loads in your scene (perhaps partitioning them with python and some sops... but it gets slow at that point) - but even then your ifd generation will be slow.). It will not be enough to just render the sims, you will also need to store the particles in an optimized data format like an octree. That way only tiny boxes filled with particles are required to be rendered. Eetu shows part of this in his Eet's lab thread.

Writing a dso that does this is not too hard and if you combine the provided example files you are almost there. For the optimized data format, you could look into: http://www.cs.umd.edu/~mount/ANN/

I hope at some point in the future to create a tutorial in which I show how to write your own dso that does "copy/stamping" with delayed loads. But that's at least a couple of months away for now.

Link to comment
Share on other sites

thinkinmonkey: Great observation, I will be correcting this. I believe it's because the friction/angular velocity constraints are making my spheres stick together too much. Possibly even creating a simulation with more spheres would help. Thanks!

pclaes: Ah, I read in the "Rendering tons of Sand" paper that they did just this. Very good Idea, I'm going to look into this. Looking forward to the tutorial.

Thanks for the feedback and advice, it will serve me well. :)

Jason

Edited by mightcouldb1
Link to comment
Share on other sites

Have you looked at Mark Story's plugin?

I have, but it doesn't seem to do "copy stamping" with multiple files, just with a single file - or am I missing something? For this sand that would be enough though. It generates clusters of similar type of geometry, which for sand is fine. But if you wanted to render a whole variety of high detailed trees you need more input files. I am not very experienced with cvex, so maybe that is his hook into the geometry - Although if it is similar to ordinary vex it is more of a modifier than a generator of geometry.

Link to comment
Share on other sites

I did a bit more testing...

In the last sequence, I am combing the normals on my ground geo, and then using that as velocity in pops via attribute transfer. I have the particles colliding(slide) with the ground, but they still interpenetrate. Is there a better method to get this flowing effect?

http://img651.imageshack.us/img651/8398/particles.mp4

Feedback is appreciated as always. :)

Link to comment
Share on other sites

Guest xionmark

I have, but it doesn't seem to do "copy stamping" with multiple files, just with a single file - or am I missing something? For this sand that would be enough though. It generates clusters of similar type of geometry, which for sand is fine. But if you wanted to render a whole variety of high detailed trees you need more input files. I am not very experienced with cvex, so maybe that is his hook into the geometry - Although if it is similar to ordinary vex it is more of a modifier than a generator of geometry.

Hello,

Yes, in it's current state the clusterThis DSO will instance a single file, but I just finished a project where I use multiple files for variety of models, LOD and simple animation. I might be able to include some of this sort of thing in the next version. For instance, I could add an attribute with the string of the file to instance ... let me look into this a bit, I might be able to include this too.

Mark

Link to comment
Share on other sites

The tests so far looking cool! How did you do the stacking of particles in the falling sand example? Did u do it with having ODE spheres as base for the particles or did u write some collision rules for the particles?

In the last sequence, I am combing the normals on my ground geo, and then using that as velocity in pops via attribute transfer. I have the particles colliding(slide) with the ground, but they still interpenetrate. Is there a better method to get this flowing effect?

Have you tested with the creep sop/pop and control the direction of flow with u/v? I haven´t tested it too much myself but in theory it should work.

Looking very promising man! :)

Link to comment
Share on other sites

Macha: Thanks, I'm going to take it a bit farther with pops. I am just grouping chunks. I am trying doing it with some SDF fancy stuff, so that I can erode it smoothly instead of all at once.

Magnus: I am not using any kind of advection for the falling sand, just force and curl noise. It should definitely pile more. I was trying to use the creep pop for a while, then figured out that it doesn't like polygons... So I'm reading through a few posts here to figure out how to use it better. Thanks for the comments. :)

Almatea: I was thinking of using bullet, but since ODE was already implemented in Houdini I figured I'd give it a try. I'd like to use bullet, but I have to finish a shot by next week, and I'm not too dissatisfied with the look of the ODE stuff. I just need to lower the friction and up the amount rigid bodies. Did you use cubes for all of your sims? Nice vids on youtube, I've seen some of them on vimeo before.

Thanks for all the input.

Jason

Link to comment
Share on other sites

So I haven't done much particle work for the final shot, but I locked down a camera move. It was certainly an interesting experience dealing with CHOPs to get some realistic movement. I usually use maya for all of that kind of stuff. I even modeled the head in Houdini. Although it isn't a great model, it doesn't need to be too fancy since it will be made of sand. :)

Here is the video:

http://img684.imageshack.us/img684/7764/cameravis.mp4

EDIT: I found out that I interpreted my footage at 30 fps instead of 24 fps, so this is sped up slightly.

Edited by mightcouldb1
Link to comment
Share on other sites

I experimented with an erosion effect. I am using a volume to control the erosion and grouping particles from the areas that have been eroded. I wanted to use the volume sample from file in a VOP POP but I went with a really really lame SOP work around. :)

Here's the video:

http://img246.imageshack.us/img246/7218/fullsize.mp4

By the way, there is no "Source Group:" input on the Curl Noise POP. Does anyone know how I can make it affect a source group?

Link to comment
Share on other sites

I experimented with an erosion effect.

Just an idea: How about creating a volume that you mix and perhaps animate with another noisy volume, then use sdf to offset its distance and use the magnitude of the velocity to drive particle emission rates.

Link to comment
Share on other sites

By the way, there is no "Source Group:" input on the Curl Noise POP. Does anyone know how I can make it affect a source group?

You can allow editing of contents of the curl noise pop and dive into it and there you will find a voppop which got a source group. I have made a copy of the asset and added the source group parameter to be in the top node too and just have it in a otl scanpath directory so its always loaded in as the current definition of the curl noise. Or you could just save over the original one if u feel like brave :P

/Magnus

Edited by Magnus Pettersson
Link to comment
Share on other sites

Macha: This is an interesting idea, but I'm confused as to how that would work with an object that is composed entirely of points. My idea was to scatter the points once and then emit those on frame 1, which I could then use groups to apply force in the eroded areas. I'm a still a little new to dealing with the volume stuff.

Magnus: Thank you for that!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...