2
$\begingroup$

How can I identify and map (or otherwise ID) areas of intersection among differing objects? I'd like to use these areas to add or subtract particle-driven object placement.

In the sample below, how can I generate a map or target on the ground plane, to which I would either add additional particles or exclude particles?

The need is to be able to stuff trash up against the intersection of a sidewalk and a building ... or to clear grass from the immediate root crown of a tree. Sort of an AO treatment with particles where two kinds of objects meet....

enter image description here

$\endgroup$

2 Answers 2

3
$\begingroup$

During the creation of Sintel the "Grease Scatter Objects" addon was created and is included in every blender release since, you just need to enable it. You can watch a video of it in use with some more explanation and download an example blend if you wish.

  • create a variety of objects you want to scatter
  • add them all to the same group ⎈ CtrlG
  • draw some grease pencil strokes on your ground. Ensure your stroke is attached to the object surface not the scene.

enter image description here

  • select your ground mesh
  • select Add->Mesh->Grease Pencil Scatter and fill in your group name.
$\endgroup$
3
  • $\begingroup$ Outstanding... I was not aware of this -- but of course Blender usually has the features I want somewhere! Thank you! $\endgroup$
    – rcgauer
    Dec 2, 2015 at 15:46
  • $\begingroup$ Although I wonder if there is an issue with 2.76.... Get errors and unreliable behavior, even when using the sample file from your linnk.... $\endgroup$
    – rcgauer
    Dec 2, 2015 at 17:01
  • $\begingroup$ My bad... For this to work, the object to which you add grease scatter must be a single object... At least as I am testing it now... So for my tree sample, I made proxy low-res trees and joined them to a proxy groundform... scattered the particles, deleted the proxies and unhid the groundplace. If someone can improve my understanding, all input welcome... $\endgroup$
    – rcgauer
    Dec 2, 2015 at 17:52
1
$\begingroup$

You can make an emitter mesh in the shape of the area around the base of the tree, and then use a Shrinkwrap Modifier to make it conform to the shape of the terrain.

If you parent this emitter object to the tree object it will conveniently move with it if re-positioned.

A tree parent and emitter mesh child, and their linked duplicates

A tree parent and grass emitter mesh child, and their linked duplicates

Creating Group Instances won't work because modifiers will not be re-calculated, meaning the particles won't snap to the ground in the location of the group instance - they will still be snapping to the shape of the terrain in the original tree's location. However, you can create Linked Duplicates instead of Group Instances and in these the modifiers will be re-calculated because they are separate objects, using the same mesh data.

The image below shows what the emitter mesh looks like (with modifiers disabled). Some distance is kept between the emitter mesh and the tree base to reduce the likelihood of grass particles intersecting with the tree mesh.

Emitter mesh with modifiers disabled

You can examine the .blend file for details of the particle system and modifier settings. The roots of the trees also use a Shrinkwrap Modifier to stay planted on the ground.

$\endgroup$
1
  • $\begingroup$ Thanks... this is a good solution, too, and like the first gives me some new skills... Although in both cases what I was really hoping for was a way to generate weightmaps or comparable, because there are so many things I could use intersection information for... but specific to trees/buildings/edges, these are both great fixes! $\endgroup$
    – rcgauer
    Dec 3, 2015 at 16:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .