1
$\begingroup$

I'm drawing a 2d city in Grease Pencil. I'm wondering if there is a way to light the city using Shaders? Or should I just use an actual 3d light or lighter-colored brushstrokes to achieve the desired effect? Below are some examples of what I'd like to do. enter image description here

enter image description here

$\endgroup$
4
  • 1
    $\begingroup$ Both ways work (light objects VS manually drawn lighting). Is your question about which method to choose ? $\endgroup$
    – Lutzi
    Commented Mar 10 at 17:34
  • $\begingroup$ Yes. I'm wondering which method would be more effective. $\endgroup$ Commented Mar 10 at 18:23
  • $\begingroup$ Both are effective. It depends on the creative direction you want to take, your skills in each domain, ... I don't think there is a good answer to your question. $\endgroup$
    – Lutzi
    Commented Mar 10 at 18:28
  • $\begingroup$ I'm aiming for a Sci-Fi type kind of city in the background of a drawing. $\endgroup$ Commented Mar 10 at 18:31

1 Answer 1

2
$\begingroup$

Your example images show a very specific kind of glowing effect/vaporwave of lighting that is being suggested in what you want to illustrate. In CGI terminology, this lighting effect is called, Bloom. For Blender, there is one and currently only one method to create this effect.

In your grease pencil object, select the strokes/fills that you want to light up in your scene and move them to a new layer.

enter image description here

With this new layer selected, we will convert it into a mesh by going to Object $\rightarrow$ Convert $\rightarrow$ Bezier Curve. Grease Pencil objects can’t directly convert into meshes so; we must convert them into curves before we can convert them into meshes. Now we can go to Object $\rightarrow$ Convert $\rightarrow$ Polygon Curve. In Edit mode, fill the mesh curves with faces.

enter image description here

Bloom can only be applied to emission materials. Shader materials are different from Grease Pencil materials. Shaders need to be applied to mesh faces to be shown in our renders. Hence, why we had to duplicate our Grease Pencil strokes/fills into mesh faces.

Next, we need to move our newly generated mesh into a new scene. Make sure you have a new separate scene created by going to the top right corner. Go to Object $\rightarrow$ Link/Transfer Data $\rightarrow$ Link Objects to Scene $\rightarrow$ select your new scene; to move your mesh into the newly created scene. You can delete the mesh from your original scene by unlinking the object and deleting the copy.

enter image description here

Now, we can finally apply the bloom. In your new scene, go to Properties -> Render Settings -> and select Bloom. To create a basic emission material, we can use the shader node or switch to emission in the Materials Properties tab. For my example, I copied my grease pencil material HEX color to paste into my emission color and adjusted the emission strength to $30$.

enter image description here

This option only works with the Eevee rendering engine. To show bloom in cycles, we must use the Glare node in the Compositor workspace. Even though, I just mentioned a different method to create bloom, it doesn’t change the fact that we still need the emission material to accomplish this.

In either scene, go into the Compositor workspace. With the Transparent background selected in the properties tab, use an Alpha Over node to place your new scene over your old scene.

enter image description here

The result is as shown. Bloom is considered a post effect within Blender. Likewise, so is Grease Pencil. In case you didn’t know, grease pencil always renders first in front of the camera before any other post effect. Hence, why we had to separate the mesh into a new, different scene and, why we needed the compositor to control the order of post effects rendered.

enter image description here

Additionally, in Object Properties -> Visibility -> I unchecked Use Lights for the grease pencil object to control how the grease pencil renders and I did a little more modeling for the mesh then I had previously demonstrated. For any more additional properties that I could have omitted, below is the blend file of my example.


Blender 4.0.2

$\endgroup$

You must log in to answer this question.

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