0
$\begingroup$

I'm using Hair Particles to spawn grass on hills. Unfortunately I cannot convert more than 10 000 grass particles to mesh because every single particle gets converted into a separate object. Any more than 10-20k and blender will crash or take extremely long. Is there way to Convert all the Particles into a single Object or just somehow reduce the Object count? The Poly count is not high at all.

enter image description here

$\endgroup$
  • $\begingroup$ Does joining them together afterwards with Ctrl J do what you want? From my experience, Blender struggles with selecting large numbers of objects, but a single object with the exact same detail is fine. Otherwise grouping the converted objects and then linking them to a new file as a group will treat them all as one object. $\endgroup$ – Brenticus Feb 11 at 16:02
  • $\begingroup$ Yes joining them together with Ctrl J is what I do. However I can only do 10 000 objects at once and that already takes 30 seconds. I have scenes with 200 000 Grass Planes. So for half an hour I do nothing but Convert to Mesh and Join over and over until the desired density is reached. $\endgroup$ – AzulShiva Feb 11 at 16:18
  • $\begingroup$ How long does grouping take? Try Ctrl G. If that works, just save the file and link the group into a new file and go from there. What's your end goal here? Why won't leaving them as particles work? $\endgroup$ – Brenticus Feb 11 at 16:43
  • $\begingroup$ I need to export them as fbx. Joining is not the problem. Converting them to Mesh is what takes very long. $\endgroup$ – AzulShiva Feb 11 at 16:55
  • $\begingroup$ OK. I don't have blender in front of me right now, but on a hunch, try enabling Only Render in the properties panel. This way blender won't draw all the origins and selection outlines so it should be way faster. $\endgroup$ – Brenticus Feb 11 at 21:55
3
+50
$\begingroup$

The solution is to use Particle Instance Modifier to instantiate the grass object, instead of Dupli Object option found in the particle system settings. https://docs.blender.org/manual/en/latest/modeling/modifiers/simulate/particle_instance.html

enter image description here

Benefits of using the modifier to instantiate an object:

  • much better viewport performance (especially in 2.79)
  • no need of pre-rotating the models to use random Z rotation (useful for vegetation)
  • fast conversion to a single mesh by AltC -> Mesh

How to:

  1. Select your (single) grass model and hit AltG to move it to 0,0,0
  2. Add Particle Instance Modifier to this grass model
  3. In the modifier's options, pick the ground object and it's particle system
  4. The grass should now be instantiated similarly like using Dupli Object (if not, check if your particles are alive, or just tick all of these checkboxes under Show Particles When)
  5. To convert the instantiated grass to single mesh, make sure you have the grass selected and press AltC -> Mesh

There are also some disadvantages though, like using vertex groups for particle size (length) doesn't seem to work (maybe there are some more, but nothing important for me - you will have to find out).

$\endgroup$
1
$\begingroup$

This is actually easy. Thank you for stating your question clearly. 1) Select your ground. Duplicate it. (The later is to have a copy of your originalin case something fails) Enter EDIT mode. Switch to vertex mode. 2) Select vertex in your ground similar to: enter image description here

You will want to make different Vertex Groups, because... 3) On your particle system go to DENSITY. And choose (first) Vertex group A: Then your particles will be "FILTERED" only to the selected vertices of VERTEX GROUP A. enter image description here

Once the vertex group A area only contains your particles, you can convert them to objects without Blender Crashing on you (because now there are fewer particles on viewport). Remember the dubbed ground mesh? Select it again, duplicate it again (and since it still contains group vertex B,C,D) you will repeat step 3, selecting Vertex group B. Filter your particles, convert them to objects.

Repeat the same for all other vertex groups until you have all your particles converted to objects.

ALSO: Please: When you convert your particles to objects, send them to a different layer so they will not all be existing into 1 single layer at a single time. You´ll slow down the viewport performance. While using this method (convert, switch to other layers) will allow you to only show the portion where you need to work.

Thank you if you vote me for answer. Happy Blending.

$\endgroup$

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.