0
$\begingroup$

I'm modeling the Dwarf in the Flask and I have tried various methods of emitting particles from the body but they cover the eyes and mouth. This is what it looks like without particles and the image on the left is my source material. Since I'm out of ideas and still learning geometry nodes I figured I'd ask the community how you would create the effect of black particles emitting from the model.

enter image description here

$\endgroup$
3
  • 1
    $\begingroup$ What do you mean you have tried various methods? Have you tried using vertex groups to determine where particles should be emitted? Or duplicating only parts of the mesh which should emit particles and then hiding the emitter in render? $\endgroup$ Commented Aug 5 at 9:36
  • $\begingroup$ I've tried different sizes, and quantity of particles but I can't achieve this effect that it matches the source. $\endgroup$
    – EndZz
    Commented Aug 5 at 23:58
  • $\begingroup$ Size and general quantity do not determine where they are distributed... well, I give two possible methods in my answer below. $\endgroup$ Commented Aug 6 at 7:53

2 Answers 2

4
$\begingroup$

Here's how you create the exact same effect as in the anime:

  1. add a cylinder, delete the top and bottom faces, and scale it down on the Z axis. This will be your emitter object. particles1

  2. parent it to the homunculus body and scale it down until it is just under the surface. particles2 particles3

  3. add a "Tract to" object constraint to the emitter with the camera as the target. You might have to change the axis settings of the constraint to get the desired result. particles4

Of course you might still have to play with the particle settings since the emitter area is now much smaller.

$\endgroup$
3
  • $\begingroup$ My answer was about hair because that's what it looked like in the reference. Would have been nice of @EndZz to explain this anime effect to dummys like me who don't know it and can only judge from what is visible in the question 😆 $\endgroup$ Commented Aug 6 at 19:54
  • $\begingroup$ @GordonBrinkmann The character has a formless, smokey outline, yet at the same time very well defined eye and mouth. I think it's kinda hard to translate into 3D, that's why I adviced the tracking to camera in my answer. $\endgroup$
    – Lynx095
    Commented Aug 6 at 21:16
  • 1
    $\begingroup$ Well, at least my answer still gives some advice on how to emit particles only in certain areas, so it might not be completely useless. $\endgroup$ Commented Aug 6 at 22:06
2
$\begingroup$

There are two main methods that I would usually use when creating hair with the standard particle system. The first is a more convenient "one-object-solution", the second might be a bit "better" or "cleaner" in some cases in my opinion.

1: Vertex Groups

Vertex groups are a good way for example to limit where hair is distributed or the length of the hair. Let's say you have this object and you want hair only on the blue parts, not the eye in the center:

base object

What you can do is, in Edit Mode select all vertices (or faces) which you want to get hair, in the Object Data Properties tab create a new vertex group by clicking on the + button and then click Assign.

vertex group

This assigns a Weight to the vertices. By default this value is 1 but you can adjust it with the Weight value slider below the Assign button to give the vertices a different value. But if you would now go into Weight Paint mode, the object would look like this, the red part has a weight of 1, the blue part a weight of 0.

default weight paint

This weight can now be used in the Particle System settings under Vertex Groups. You can for example choose it for Density (which I did in the following screenshot) or Length, in both cases this will result in the eye part showing no hair because either the density or the hair length there is 0, while on the rest of the mesh it is 1 or 100%.

hair group density

But you do not have to stick to this "on and off" method. When using the group for the Length for example, you can have values between 0 and 1 to change the length of the chair in certain areas (might not be so clearly visble in this shot though):

length gradient from group

And since you can have multiple vertex groups on an object with each of them assigning different weights to vertices, you can of course combine them to manipulate density, length and other options independently from each other.

2: Separate Hair Object

The problem with the aforementioned method in my opinion is that you sometimes get hair where you do not want it even though you are limiting it to certain vertex groups. Especially since vertices/edges usually can be part of a face that should have hair and a face that should not, this can lead to hairs poking out where they should not be.

To avoid this, you can simply make a duplicate of the whole object and delete the faces that should be without hair or take the original object and in Edit Mode select the faces that should have hair, duplicate them with Shift+D and right-click immediately so that the duplicate stays in place, then separate the selected by pressing P > Separate > Selection. Now you have a second object with just the future "hair faces".

separate selection

This is the newly created object, the original one is hidden at the moment. You can now give it a hair particle system without the need to define by vertex groups or anything where the hair should be, since these are only faces that should get hair.

separate hair object

The important thing now is, for this object not to interfere with the original object and avoid weird shading error from Z fighting of overlapping faces etc. that you can disable visibility of the emitter object without having to disable the complete object for viewport or render. In the Particle System settings under Render and Viewport Display you will find the option Show Emitter. If you disable them (especially important for the render later, the viewport might not be so crucial), the base object will no longer be visible and only the hair remains:

hidden emitter

Unhiding the original object now shows everything is how it was supposed to be. The disadvantage of this method is, changes of the original mesh will not automatically change the hair mesh. Also if you want to move the original object, the hair object has to be parented to the original. Or if deformed by an armature pose, both objects need to be parented to the armature in the same way. (You could also work with linked duplicates and masking the mesh etc. but it would extend this already long answer much too much, if you would need something like this you should probably ask a new question.)

combined objects

3: Both methods

Last but not least, a third method if you want to combine the advantages of both main methods, if you think a separate object is good but varying the length with a vertex group is useful too, you can of course use vertex group on a separate hair object as well.

$\endgroup$

You must log in to answer this question.

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