Blender Grease Pencil Not Drawing or Strokes Disappearing Fix
In this tutorial, you'll learn about Blender Grease Pencil Not Drawing or Strokes Disappearing Fix. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.
The Problem
You draw with Grease Pencil but strokes do not appear on the canvas, vanish after you release the mouse, appear in the wrong location, or use the wrong color.
Quick Fix
Step 1: Ensure Grease Pencil object is active
Need GP object and correct mode.
Wrong — drawing in Object Mode:
Add → Grease Pencil → Blank → stays in Object Mode → nothing
Right — enter Draw Mode:
Add → Grease Pencil → Blank
Select GP object → Tab → Draw Mode
Now draw in the viewport
Expected output: Strokes appear as you draw.
Step 2: Check stroke placement settings
Placement affects where strokes appear.
Wrong — Placement: Surface with no surface:
Placement: Surface → draw in empty space → invisible
Right — set correct placement:
Top bar → Stroke Placement
Choose 'Stroke' (on GP layer) or '3D Cursor'
For surfaces: 'Surface' (needs geometry)
Expected output: Strokes appear in expected location.
Step 3: Verify material and color
Material may be hidden or transparent.
Wrong — opacity at 0:
GP material → Opacity: 0 → strokes invisible
Right — set visible material:
Grease Pencil Properties → Materials
Set opacity to 1.0
Stroke color: visible (not same as background)
Expected output: Strokes appear with selected color.
Step 4: Check layer visibility
Layer must be visible.
Grease Pencil Properties → Layers
Check eye icon is open
Check layer opacity is not 0
Expected output: Active layer displays strokes.
Prevention
- Always switch to Draw Mode (Tab) before drawing
- Check Stroke Placement before drawing
- Name layers for different elements
- Keep at least one material with visible stroke color
Common Mistakes with grease pencil
- Placing the wildcard pattern first in case expressions, making all subsequent patterns unreachable
- Using
headandtailinstead of pattern matching, causing runtime errors on empty lists - Forgetting that lazy evaluation defers computation until the value is forced, causing space leaks with unevaluated thunks
These mistakes appear frequently in real-world BLENDER code. DodaTech's contributors have identified these patterns through analysis of open-source projects and production systems.
Practice Exercise
Write a pure function that safely divides two integers using Maybe, then test it with edge cases like division by zero and negative numbers.
This exercise reinforces the concepts covered in this guide. Try implementing it before checking online solutions.
FAQ
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro