1
$\begingroup$

I'm using a metaball as particle object, and want to exclude the original object from the render. none of the solutions mentioned in Hiding source of particle instancing (move to separate layer, transparent object material) are working. at least not in the the version of blender that I'm using (2.78.5).

obviously all particles are instances of the original object and therefore also affected...

blend file

$\endgroup$
  • $\begingroup$ Can you upload the blend file? $\endgroup$ – Striar Jul 14 '17 at 12:15
  • $\begingroup$ @Aoradon I added the file $\endgroup$ – kindoflike Jul 14 '17 at 13:00
  • $\begingroup$ Just create a new scene in the blend file, move tge object there, and then erase it from the original scene $\endgroup$ – Duarte Farrajota Ramos Jul 14 '17 at 13:48
  • $\begingroup$ @DuarteFarrajotaRamos referencing an object from a different scene does not work either. the particle system lets me select the object, but doesn't display anything. $\endgroup$ – kindoflike Jul 14 '17 at 14:16
  • $\begingroup$ Using the proper terms will help. This is not a particle system, that is a dupli system and in that case this is a known limitation of the current system, no way around it. Use an actual particle system instead. $\endgroup$ – Duarte Farrajota Ramos Jul 14 '17 at 14:26
3
$\begingroup$

While you can't 'hide' the object used to render the particles you can make it invisible by setting it's material to be transparent.

For non-meta objects you can use the Particle Info node to detect which 'objects' are particles and use this to mix between the actual shader and a transparent shader to 'hide' the 'original' object - eg, by using a math Greater Than node to distinguish between those particles with a Lifetime greater than 0 (the particles) and that with Lifetime of zero (the 'original' object).

For Meta objects this is difference since the whole collection of particles and the 'original' object is rendered as a single combined surface so the Particle Info node is not applicable. In this case you can use the location of each rendered point to determine whether to render that surface or not. For example, positioning the 'original' object above the particle system you can use the Object texture coordinates to make the object transparent while leaving the particles rendered :

hide object

Adjust the Greater Than node so that the original object is hidden but the particles are not.

| improve this answer | |
$\endgroup$
  • $\begingroup$ I deleted my previous comment; upon further experimentation, it turned out to be wrong. However, for anyone else who is curious: the first trick mentioned (checking if lifetime is greater than zero) works for hair particles as well. This is because a hair particle's lifetime is (somewhat arbitrarily) defined as 100. From the blender documentation, "A hair is as long as the particle path would be for a particle with a lifetime of 100 frames." This provides something of an "explanation" as to why a hair particle has a nonzero lifetime, if you can call it that. $\endgroup$ – Nerdizzle Jun 28 at 1:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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