surface force
#1
Hi Ya,

I'm just playing around with spawning particles on a teapot making them flow around its surface and then adding from their movements. I'm using a b/w bitmap to control the flow. 

I'm wondering if there any way to use the same bitmap to control the spawn location (say only the black areas) and have the particles flow only on those. 
I'm using the gradient ascent and gradient trace in the surface force, and it might be working. However, because it's spawning all over, I can't tell.  

Thanks


Attached Files Thumbnail(s)
   
  Reply
#2
To spawn on a bitmap:

Use a Position Object operator and set the density to be controlled by texmap...drag in your map and it should work Smile

Gradient ascent/trace won't work with pure blacks/whites. It's basically forming a UV-space vector by examining color value differences in a small sampling of texture points. Imagine your bitmap used as a displacement map on a mesh...the gradient modes are basically trying to find the direction of a slope created by your bitmap. Pure black/white areas have no slope and thus won't return a meaningful vector.
  Reply
#3
Thanks for that. Spawning now works ?. Heres a question, if I take a greyscale map and clamp the values in the bitmap node to create just b/w map, will those translate back into the object operator/ or whatever operator i plug the map into? Or do the values need to set in the loaded map to reflect the clamped values in say photoshop?
  Reply
#4
Unfortunately the "output" rollout of a texmap does not affect the value returned by a texmap when a 3rd party plugin queries it using the SDK. I was actually looking into this the other day because it's kind of a lame limitation of the SDK, but I wasn't able to find a way around it. So for now, you have to bake that in.
  Reply
#5
This might seem like a stupid question (now that I'm typing it out I feel the answer is no.) Can you spawn an event based on render time events? Be it say from render time AO or a curvature map.

(04-02-2019, 12:17 PM)tyFlow Wrote: To spawn on a bitmap:

Use a Position Object operator and set the density to be controlled by texmap...drag in your map and it should work Smile

Gradient ascent/trace won't work with pure blacks/whites. It's basically forming a UV-space vector by examining color value differences in a small sampling of texture points. Imagine your bitmap used as a displacement map on a mesh...the gradient modes are basically trying to find the direction of a slope created by your bitmap. Pure black/white areas have no slope and thus won't return a meaningful vector.

I'll see if I can find a way to make them only flow on the areas I want tomorrow. So far this event has been pretty stable, no crashes yet.


Attached Files Thumbnail(s)
   
  Reply
#6
No, unfortunately things like AO maps cannot be sampled for points in the usual way. At some point I may add my own scatter-by-occlusion-based density option.
  Reply


Forum Jump: