Lightmapping
Bake beautiful lighting for optimal web performance
Bake realistic lighting and shadows directly in Blender and export them to the web for stunning visuals with excellent performance.
What is Lightmapping?
Lightmapping is the process of pre-calculating lighting and baking it into textures. This gives you:
Benefits:
✨ Photorealistic lighting - Bake complex lighting calculations once
⚡ Great performance - No real-time lighting calculations needed
🎨 Artistic control - Fine-tune lighting in Blender
📦 Small file sizes - Compressed lightmap textures
🔄 Multiple instances - Each instance can have unique lightmaps
Use Cases:
Architectural visualization
Product showcases with dramatic lighting
Art galleries and museum experiences
Any scene with static lighting
Requirements
Before you start:
At least one light in your scene
Objects marked as
Lightmappedin the Needle Object panelBlender's lighting set up the way you want it
:::tip Download Example Get the complete lightmapping example to learn from: lightmaps.blend :::
Quick Start
Step 1: Mark Objects for Lightmapping
For Mesh Objects:
Select your mesh object
Open the Needle Object panel (Object Properties tab)
Enable the
Lightmappedcheckbox
For Lights:
Select your light
Open the Needle Object panel
Enable
Lightmappedto include it in baking
:::tip What to Lightmap
Mark static geometry (buildings, furniture, environments)
Mark lights that should affect lightmaps
Don't mark dynamic objects that move :::
Step 2: Configure Settings
You can configure lightmapping from two places:
Option A: Scene Panel (Quick Access)
Open the Needle tab in the 3D viewport's sidebar (press N to toggle).
Option B: Render Properties (Full Settings)
Go to Render Properties tab and find the Lightmapping panel.
Step 3: Bake Lightmaps
Click the Bake button (in either panel)
Wait for baking to complete (progress shows in Blender)
Lightmaps are automatically exported with your scene
What Happens:
Needle Engine generates lightmap UVs automatically (no manual UV unwrapping needed!)
Blender bakes lighting into textures
Textures are saved in your project
Export includes lightmap data
Lightmap Settings Explained
Resolution
Lightmap Resolution - Texels per unit
Higher = better quality, larger files
Lower = faster baking, smaller files
Recommended: 10-50 for most scenes
Quality
Samples - Render samples for baking
More samples = cleaner results, slower baking
Fewer samples = faster but noisier
Recommended: 128-512 for production
Denoise - Remove noise from baked lightmaps
Enable for cleaner results
Requires Blender's denoiser
Advanced
Max Lightmap Size - Maximum texture size
Limits memory usage
Recommended: 2048 or 4096
Pack Margin - Padding between UV islands
Prevents light bleeding between objects
Recommended: 4-16 pixels
Automatic UV Generation
Needle Engine's lightmapping plugin automatically generates lightmap UVs - no manual unwrapping required!
How it works:
Analyzes your geometry
Creates optimal UV layouts
Packs efficiently into texture space
Handles multiple instances intelligently
This means:
✅ No second UV channel needed
✅ Works with complex models
✅ Supports instanced objects with unique lighting
Best Practices
Scene Setup
Lighting:
Use area lights for soft, natural lighting
Combine sun light with fill lights for outdoor scenes
Add rim lights to highlight edges
Consider color temperature (warm/cool)
Geometry:
Ensure clean topology (no overlapping faces)
Lightmap static architecture, not characters
Use separate objects for elements that need different lightmap resolution
Performance:
Only lightmap objects that benefit from it
Use lower resolution for background elements
Compress textures in production builds
Troubleshooting
Black or dark lightmaps:
Check that lights are marked as
LightmappedIncrease render samples
Verify normals are correct (consistent face orientation)
Seams or artifacts:
Increase
Pack MarginsettingCheck for overlapping UV islands
Ensure geometry is watertight (no gaps)
Too slow:
Reduce lightmap resolution
Reduce render samples
Bake in sections (bake one object at a time)
File too large:
Lower lightmap resolution
Reduce
Max Lightmap SizeEnable texture compression in production builds
Workflow Tips
Iterative Baking
While developing:
Use lower resolution and fewer samples for fast iteration
Mark only key objects as lightmapped initially
Test in browser frequently
Increase quality for final bake
Combining with Real-Time Lighting
You can mix lightmaps with dynamic lights:
Use lightmaps for static ambient lighting
Add dynamic point lights for moving elements
Result: Beautiful base lighting + interactive highlights
Multiple Lightmap Scenarios
Bake different lighting conditions:
Day/night versions
Different seasons
Dramatic vs. natural lighting
Switch between them at runtime
Exporting Lightmaps
Lightmaps are exported automatically when you:
Save your
.blendfile (if auto-export is enabled)Click
Exportin the Needle Project panelRun
Build: Production
Output:
Lightmap textures saved in your project's
assetsfolderGLB file includes lightmap data
Ready to use on the web - no additional setup needed
Advanced: Runtime Control
You can control lightmaps from TypeScript:
Experimental Feature Notice
:::warning Lightmapping is Experimental The lightmapping plugin is currently experimental. We recommend:
Creating backups of your
.blendfiles before bakingTesting thoroughly before production use
Reporting issues you encounter
Your feedback helps us improve the feature! :::
Next Steps
Texture Compression - Optimize lightmap file sizes
Deployment Guide - Publish your lightmapped scenes
Components Overview - Add interactivity to lit scenes
Need Help?
Discord Community - Ask about lightmapping workflows
Forum - Share your lightmapped scenes
Download Example - Working lightmap sample
Last updated