A patch of grass - and Turbulize Strands visualization?

149 views
Skip to first unread message

Morten Bartholdy

unread,
Mar 21, 2012, 9:15:50 AM3/21/12
to soft...@listproc.autodesk.com

I thought I would share the current result of my endeavour into ICE. I need to work more on variations and especially understand Turbulize Strands better, but the method is solid and quite workable. Here it is:

 

http://dl.dropbox.com/u/763668/ICE/Grass_field_HR_02.mov - 37 MB 1080p rendered with Arnold.

 

Is there a way to spatially vizualize what the Turbulize Strands does? I am thinking a bit like the debugging mode showing velocities in emFluid.

 

Best Regards

Morten Bartholdy
VFX Supervisor/3D Lead
www.gimmickvfx.com

Jeff McFall

unread,
Mar 21, 2012, 10:44:16 AM3/21/12
to Morten Bartholdy, soft...@listproc.autodesk.com

very nice!

Andy Moorer

unread,
Mar 21, 2012, 11:53:39 AM3/21/12
to soft...@listproc.autodesk.com
Morton, 

Nice image! For the film "Barnyard" we did a TON of shots of rolling fields of grass with flowers using the hair tool, back then one of the major challenges was "filling" the frame, the closer you get to camera the more density of grass you had to have. We ended up doing a lot of camera projections of pre-rendered dense patches of grass to fill gaps.

In regards to your question about visualizing vector fields, I've been handling this in a sort of hacky fashion by expression-linking turbulence node properties to a "twin" node in a separate pointcloud, which has a grid of points and visibility set to show the vectors. Rescaling the vector magnitude for easy arrow size adjustments and coloring/transparency by magnitude help.

Simple to set up, and it lets me visually adjust and tune turbulence etc. Frankly it's so useful I really hope devs eventually write a more robust vector field visualization as part of ICE... but in the meantime this does the job, for me at least.

- AM

Inline image 1
visualizeVectorField.jpg

Morten Bartholdy

unread,
Mar 21, 2012, 12:09:24 PM3/21/12
to soft...@listproc.autodesk.com

Yes, filling the front is an issue. I use a weightmap filter to get denser growth close to the camera, but it oviously only works for when the camera is not moving about much. Thankfully ICE allows me to have many strands :)

 

That vector field visualizer is exactly was I was looking for Andy - cool! So you are piping the twin turbulize in to the Pass Through node at the left hand side of the ICE tree, no?!

 

- Morten

Stefano Jannuzzo

unread,
Mar 21, 2012, 12:28:53 PM3/21/12
to soft...@listproc.autodesk.com
Nice! Number of strands? Render time?

Andy Moorer

unread,
Mar 21, 2012, 12:28:34 PM3/21/12
to Morten Bartholdy, soft...@listproc.autodesk.com
Glad it's of use. Yep, whatever vector field you want to visualize is your input.

If you hook it up to a compound which emits a grid of points based on position of a null, you can just leave it in your scene and turn it on whenever you need to view a field, with the null allowing you to position a "bounding-box" to visualize the area of interest.

I suppose you could write whatever the vector field is to a user attribute and read it directly instead of copying a node, I just hate making any changes to my "original" tree on principle.

- AM

Marc-Andre Carbonneau

unread,
Mar 21, 2012, 12:49:45 PM3/21/12
to soft...@listproc.autodesk.com, Morten Bartholdy

Another alternative is iGrass

http://rendering.ru/ru_en/models/igrass-vol1.html

 

you just need to bring them in Soft but they look pretty slick.

Fabricio Chamon

unread,
Mar 21, 2012, 1:27:04 PM3/21/12
to soft...@listproc.autodesk.com
nice!! Arnold ftw!
what's the final strand count ?

regarding vector field visualization, here's another option to Andy's. 

I'm actually drawing the vectors with strands, so you might have some more control if needed. The workflow is pretty much the same though: on another pointcloud drag the compound and plug in a vector field (which can be a copy of the turbulence node from the grass pointcloud).


Fabricio Chamon

unread,
Mar 21, 2012, 1:30:08 PM3/21/12
to soft...@listproc.autodesk.com
...forgot the compound
vectorfield_viewport.jpg
vectorfield_icetree.jpg
Display Vector Field.xsicompound

Andy Moorer

unread,
Mar 21, 2012, 1:52:46 PM3/21/12
to soft...@listproc.autodesk.com, soft...@listproc.autodesk.com
I like that you can adjust the arrow tip width and height Fabricio, very cool! -AM

Sent from my iPad

On Mar 21, 2012, at 1:30 PM, Fabricio Chamon <xsim...@gmail.com> wrote:

> ...forgot the compound
> <vectorfield_viewport.jpg>
> <vectorfield_icetree.jpg>
> <Display Vector Field.xsicompound>

piotrek marczak

unread,
Mar 21, 2012, 2:00:34 PM3/21/12
to soft...@listproc.autodesk.com
these are just static meshes...

Steven Caron

unread,
Mar 21, 2012, 2:04:15 PM3/21/12
to soft...@listproc.autodesk.com
i know, they lead you into thinking its a dynamic tree/plant generator that uses the multi/vrayscatter. but instead i think they are meshes they have made using their scatter tools but the plant models aren't procedural.

Morten Bartholdy

unread,
Mar 22, 2012, 8:41:41 AM3/22/12
to soft...@listproc.autodesk.com

Final strand count is not that high - only 1.159.577 strands. I would have to crank it up anyway if I didn't use textured ground to fill in. In total the instanced grass straws polygon count would be around 164 million total. This is WIP, so I suspect when I have more finalized scenes there will be a lot more in there.

 

Render time is around 18 mins/fr on dual Xeon x5660 2.80GHz at samples 8-1-1-1 a bit of DOF and a Skydome light.

 

- Morten 

 

 

 

 


Den 21. marts 2012 kl. 17:28 skrev Stefano Jannuzzo <ste...@solidangle.com>:

Nice! Number of strands? Render time?

Morten Bartholdy

unread,
Mar 22, 2012, 8:51:46 AM3/22/12
to soft...@listproc.autodesk.com

Big thanks, Andy and Fabricio. This is exactly the kind of visualization I was looking for, and you are right it ought to be built in from factory as a debug node. Nice Turbulence node BTW Andy! I owe you guys!

 

Andy, I tried installing your visualization compound, but when I pick it from the tool tabs (I added the category and exported the compound) it doesn't display anything after piping the box null and the turbulence in. Your scene works fine though :)

 

I can see how stretching the turbulence in one axis can make it look better - now with a visualization of the field it will be much easier to get it right. This far I have been doing captures of a low number of strands to figure out the scaling and speed.

 

- Morten 


Den 21. marts 2012 kl. 18:30 skrev Fabricio Chamon <xsim...@gmail.com>:

...forgot the compound

 

Morten Bartholdy

unread,
Mar 22, 2012, 9:26:53 AM3/22/12
to soft...@listproc.autodesk.com

Sorry Marc-Andre, it was not supposed to go directly to you.

 

I didn't read it as critique either ;) but the goal is to make photoreal grassy fields as digital sets for live action shot on green screen in a studio, so I will have to get real :)

 

There is nothing fancy about the compounds - let me clean it up some, then I will share. Give, and ye shall receive :)

 

- Morten

 

 

 

 


Den 22. marts 2012 kl. 14:09 skrev Marc-Andre Carbonneau <marc-andre...@ubisoft.com>:

Hehe I was not criticizing what you posted. It already looks nice. I just wanted to share these iGrass things because I’ve converted them all for ourselves and although I don’t have dynamics, it looks nice when used with Milan’s Scatter Tools!

Have you shared the compounds you used to create such windy field?

 

Take care,

MAC

 

From: Morten Bartholdy [mailto:x...@colorshopvfx.dk]
Sent: 22 mars 2012 08:54
To: Marc-Andre Carbonneau
Subject: RE: A patch of grass - and Turbulize Strands visualization?

 

Thanks for the link. Yeah they look good - it is next order of things for me to model more varied grass and small plants, so maybe I can save some time here. Bugger it is Max though - I will have to ask someone else here to export them if they don't supply obj or fbx.

 

- Morten

  Den 21. marts 2012 kl. 17:49 skrev Marc-Andre Carbonneau <marc-andre...@ubisoft.com>:

--> -->

Another alternative is iGrass

http://rendering.ru/ru_en/models/igrass-vol1.html

 

you just need to bring them in Soft but they look pretty slick.

 

 

Sent: 21 mars 2012 12:29
To: Morten Bartholdy; soft...@listproc.autodesk.com
Subject: Re: A patch of grass - and Turbulize Strands visualization?

 

Glad it's of use. Yep, whatever vector field you want to visualize is your input.

 

If you hook it up to a compound which emits a grid of points based on position of a null, you can just leave it in your scene and turn it on whenever you need to view a field, with the null allowing you to position a "bounding-box" to visualize the area of interest.

 

I suppose you could write whatever the vector field is to a user attribute and read it directly instead of copying a node, I just hate making any changes to my "original" tree on principle.

 

- AM

Morten Bartholdy

unread,
Mar 22, 2012, 9:46:17 AM3/22/12
to soft...@listproc.autodesk.com

I've hit a snag here with the vector field visualization . I am using Turbulize Strands which has an exec*te output. If I pick the Turbulence inside the compound the visualization seems to be missing some positional or spatial information - can't quite figure it out.


How would you use Turbulize Around Value to deform strands?


- Morten

Andy Moorer

unread,
Mar 22, 2012, 12:07:30 PM3/22/12
to Morten Bartholdy, soft...@listproc.autodesk.com
Ah yes, I should have thought about that. The problem is one of type/context - because the input positions of the turbulize node in the turbulize strands compound rely on a strandposition array, the turbulize node outputs a per-point array. We need a single value per point of our visualize grid to see the field.

It's actually a pretty good example of how data typing and context influence decisions in ICE, I think.

Here's a link to a scene with the problem resolved. I did a few things here to make life simpler, nothing brilliant, just hackery:

  • Modified the "turbulize strands" node to make it non-simulated
  • Made the turbulize strands node apply the turbulence in relation to global XYZ instead of local to each strand
  • Chopped up the resulting nonsimulated turbulize strand node to have identical inputs excepting strand-specific parameters, and placed it in per-point context.
There are probably brighter ways to go about this, but nothing came immediately to mind, so here it is. Enjoy!


(And here's the original scene I sent Morten in case anyone is interested.)

Reply all
Reply to author
Forward
0 new messages