Compiled by Cristóbal Vila - Latest update: August 29, 2025
COLLECTIONS, HIERARCHY & OUTLINER
GENERAL - MISC [ TOP ]
️
Tool System - Blender 4.2 Manual
Operators - Blender 4.2 Manual
---------------------------------------------------------------------------------------------------------
Blender crashes at startup? Delete the default startup.blend file! - YouTube
Groups in Blender and confusion with Collections
How Blender Keymap Presets Works (Saved on disk - Discord link, by Xen Wildman)
How To Install or Reset Blender (The Right Way) - YouTube
Make And Change Hotkeys In Blender
Theres More to Blender's Custom Startup Saves Than You Realize
Understanding Blend1 Files: Do You Really Need Them? - CG Cookie
You can still move the old Preferences to your new Version by hand
Zenplates - New File Templates Made Easy
Application Templates - Blender 4.3 Manual
---------------------------------------------------------------------------------------------------------
Upgrade Blender without losing anything:
How to Update Blender Without Losing Settings and Add-Ons
1. Open the previous version one last time. File > Defaults > Save Startup File
2. Install new version and (ATTENTION) in the presentation image click on “Import Blender 4.x Preferences” (the previous version, if this appears)
---------------------------------------------------------------------------------------------------------
Routes for config, datafiles, extensions, nodes & scripts
Mac:
/Users/cristobal/Library/Application Support/Blender/4.3
Windows:
cristobal › AppData* › Roaming Blender Foundation › Blender › 4.3
(*) To locate this in Windows go to Search field (bottom-left), write “Execute” (Ejecutar) and then write “%appdata%”
---------------------------------------------------------------------------------------------------------
To open a second instance of Blender in Mac (for example to copy-paste objects from Scene A to Scene B):
Open Terminal and Enter the following command:
open -n /Applications/Blender.app
ALTERNATE: You can wrap that command in an AppleScript and save it as an app to launch it with a double-click:
Open Script Editor (it comes with macOS). Type:
do shell script "open -n /Applications/Blender.app"
In “File Format” choose Application. Give it a name, for example: Blender Second Instance.app.
You can now open this app like any other program, and it will launch another instance of Blender.
---------------------------------------------------------------------------------------------------------
To test something with TEMPORAL Factory Settings (disable add-ons, etc):
• Open Blender
• Select File -> Defaults -> Load Factory Settings to temporarily load factory settings
• Open your file and see if it's there.
• IMPORTANT: When you next open Blender, all your add-ons and personal settings will be reloaded and if the issue is related to a addon, then the issue will return.
---------------------------------------------------------------------------------------------------------
The workspaces are saved in the blend-file. When you open a file, enabling Load UI in the File Browser (small gear top-right) indicates that Blender should use the file’s screen layout rather than the current one.
---------------------------------------------------------------------------------------------------------
Splitting & Joining Viewport Areas
Dragging from an area corner inward will split the area. You define the split direction by dragging either horizontally or vertically.
Dragging from an area corner outward will join two areas. The area that will be closed shows a dark overlay. You can select which area will be closed by moving the mouse over it. Release the LMB to complete the join. If you press Esc or RMB before releasing the mouse, the operation will be canceled.
---------------------------------------------------------------------------------------------------------
DIFFERENCES BETWEEN 'HIDE IN VIEWPORT' VS 'DISABLE IN VIEWPORT'
By default they function the same, however, you can have multiple 3D viewports open. In each 3D viewport you can enable "local collection" in "[N] sidebar">"View Tab">"Collections Section".
Now "Hide in Viewport" will disable visibility in all 3D viewports that do not have "local collections" enabled. While "Disable in Viewport" will overwrite even 3D viewports with "local collections" enabled.
If you disable something, the animation, collision, etc. wont work affect anything. With hiding, it can still be a collider
It's essentially the difference between "object is invisible" and "object no longer exists."
Hide in Viewport (Eye icon) Outliner → Eye icon 👁️
Temporarily hides the object from view in the 3D viewport.
The object is still active in the scene, meaning it will still:
Participate in modifiers.
Affect simulations (e.g., collisions).
Be evaluated by the dependency graph.
Still visible in renders (unless also hidden from render).
Use case: When you just want to hide something visually for clarity.
Disable in Viewport (Monitor icon) Outliner → Monitor icon 🖥️ (you may need to enable it from the filter options)
Disables the object entirely in the viewport.
The object is excluded from the dependency graph, so:
Modifiers, constraints, physics, and drivers are not evaluated.
It does not affect other objects (e.g., collisions, booleans).
It behaves as if it doesn't exist in the scene at all (for viewport purposes).
Still rendered unless you also disable it for rendering.
Use case: For performance optimization or to prevent interference with other objects (e.g., when debugging simulations or modifiers).
---------------------------------------------------------------------------------------------------------
Report and Missing Files
File > External Data > Report Missing Files, will report all missing files, but it only show a single line at bottom of interface. To see ALL missing ones, open an Info viewport (clean it deleting all, first of all)
Then, with File > External Data > Find Missing Files, you can catch all those directories where your missing data is stored
---------------------------------------------------------------------------------------------------------
FAKE USER - CAUTION!!!
Summary: caution with all those Materials, Node Groups, etc which was created but NOT assigned to any Object. If that is the case, the Material, NodeGroup, etc, could be deleted on your next save
Automatic Fake User - Blender Market
Data Blocks, Fake Users & External Files Explained | Brandon 3D
What does "users" means in term of datablocks? - Blender Stack Exchange
---------------------------------------------------------------------------------------------------------
ABOUT ASSETS (Link / Append / Append Reuse Data)
Discussion from Discord Erindale.xyz
I have an GN Asset Group, that I have imported in the Scene, and modified, and renamed.
When I try to add the original Asset, Blender adds the one I have modified. Is there any way to prevent this? I want to add the original version.
If I drag it to Scene, it doesn't add the original, from the Asset Browser, but the one I have in the scene, which I have edited.
If I add it to empty scene, it works as expected.
Top of the asset menu changes how the assets are linked / append: if you change it to Append it should append a whole new datablock rather than re-using. Otherwise you could also mark the modified group no longer as an asset
(that's why I always suggest to use link. append and reuse is so evil)
If I use Linked, will the Asset change if I edit it in Library file?
If so, does it update automatically, or do I have to refresh it somehow?
Why they are evil?
Asking because that is what I need now. Is there something that I should be aweare of?
Blender assets currently is hard-coded "append and reuse" (AAR), such as the hair node groups.
There was a mistake in the hair node group. BF fixrd it. However because it's using AAR, even if you update your blender, the original broken node group will be used.
And because it's AAR preventing a second duplicate copy, the group node you pull from the asset library will remain broken too
This means: the bug fixed in the node group blender side can't be transferred to your file.
You have to manually import the asset somehow to create a duplicate besides the broken one (LINK)
From where I can find this preference setting?
Where you set the asset library folder.
you can decide whether to use either method for each folder
Note: the benefit of "link":
It saves blender size, because data is from another blender file.
You can choose to localize it if you want.
Bug fix/improvements in the original file can be updated through link.
The downside:
becaude asset is not local inside the blender file, if you use render farm, you will have to localize them first. It's an easy process in the outliner though
BF is currently designing "embedding" which is a midpoint between link and append to solve previously mentioned issue
You can also decide when you drag it in or per session at the top of the asset browser.
---------------------------------------------------------------------------------------------------------
Link & Append - Blender 4.4 Manual
These functions help you reuse objects, materials and other data-blocks from another blend-file. You can build libraries of common content and share them across multiple referencing files.
When to link external blend files - Support / Modeling - Blender Artists Community
Best way/workflow to link between scenes - Support / Technical Support - Blender Artists Community
---------------------------------------------------------------------------------------------------------
CLEANING [ TOP ]
Operations to do after importing geometry (specially for FBX from Modo)
---------------------------------------------------------------------------------------------------------
RENAME UVS OF ALL SELECTED OBJECTS TO THE STANDARD “UVMap”
import bpy
for obj in bpy.context.selected_objects:
try:
obj.data.uv_layers.data.uv_layer_stencil.name = 'UVMap'
except:
continue
---------------------------------------------------------------------------------------------------------
CLEAR custom_normal ATTRIBUTES ON ALL SELECTED OBJECTS
import bpy
selection = bpy.context.selected_objects
for o in selection:
bpy.context.view_layer.objects.active = o
bpy.ops.mesh.customdata_custom_splitnormals_clear()
---------------------------------------------------------------------------------------------------------
CLEAR sharp_edge ATTRIBUTES ON ALL SELECTED OBJECTS
import bpy
import bmesh
selection = bpy.context.selected_objects
for obj in selection:
if obj.type == 'MESH':
mesh = obj.data
bm = bmesh.new()
bm.from_mesh(mesh)
for edge in bm.edges:
edge.smooth = True # Remove sharp flag
bm.to_mesh(mesh)
bm.free()
---------------------------------------------------------------------------------------------------------
MODELING [ TOP ]
TO REMOVE A (SDS) MODIFIER FROM MULTIPLE OBJECTS IN BLENDER
Various methods:
1. NEW: Use my own addon etr_remove_subdivision_modifiers, in N-Panel > Tools
2. Or instead of removing modifier you can disable its effect via e.g. m.show_render = False
3. Another approach, without script:
How to add/remove modifiers from multiple objects at once - Blender Stack Exchange
You can select the objects you wish to add/remove all modifiers from, then select an object with no modifiers, hit Cmd+L, and Copy the Modifiers. This will get rid of all of them on all of the objects.
4. Also, a simpler/better/clean option: select all objects with a SDS Modifier, press Alt and Delete a SDS Modifier (it will delete all SDS Modifiers in all objects)
---------------------------------------------------------------------------------------------------------
CLEAN DELTAS WITHOUT “APPLY” (to avoid breaking instance dependencies)
Source: Deltas to transform — Right-Click Select
NEW: use my own addon etr_transforms_deltas, in N-Panel > Tools
---------------------------------------------------------------------------------------------------------
Symmetrize (in QuickMenu) vs Mirror (Ctrl-M)
---------------------------------------------------------------------------------------------------------
Quickly Switch Between Different Objects in Edit, Sculpt, Weight or Draw Mode
Just place you mouse over the other object and press Alt-Q
---------------------------------------------------------------------------------------------------------
Quick cut, slice, boolean, carver objects
Use Bool Tool Addon - In object mode > N > Edit > Auto Boolean
CAUTION: carver tools, inside Tools, seems to freeze the app, at least in Mac…
---------------------------------------------------------------------------------------------------------
To change the ACTIVE ISLAND when in EDIT mode: (between several “islands” of elements, meshes or curves)
Deselect all.
Select an ELEMENT of the ISLAND that you want to make active.
Press TAB twice, to convert to Object Mode and then to Edit Mode.
---------------------------------------------------------------------------------------------------------
How to directly draw a handmade Curve onto a mesh with the Draw tool
Add Curve object, switch to Edit mode, Delete curve, take Draw tool (free-hand pen), under Tool properties (N) switch to Surface, draw a shape over your model
Be sure Curve object is set to 3D type
Also, to project a premade curve (any kind) to a surface
Select all points on the path,
Navigate to a POV where you’re looking past the curve to the object,
Turn on Snap,
Enable Face Project
Press G and Enter
Also, consider using Shrinkwrap Modifier, for a live projection
---------------------------------------------------------------------------------------------------------
Manual linear (array) copy of mesh islands with snap to vertices
It seems that the Quick Snap Tool addon does not work in combination with Shift-R (repeat last action). So to move with copy and snape to mesh islands vertices we can do:
Adjust 3D cursor to the vertex that serves as anchor.
Transform Pivot Point: 3D Cursor
Snap Base Center / Snap Vertex
Duplicate island with Shift-D and move the copy while snapping.
---------------------------------------------------------------------------------------------------------
Some tips from a Blender veteran (Discord) about changing units and scale to take in consideration, just in case, since it really seems that Blender is not good working with small units:
(NOW I DOUBT ABOUT THIS ADVICE - SUBJECT TO FURTHER STUDY AND ANALYSIS) Don't change units at all, and don't change scale - you will run into problems.
In fact, it's probably best to avoid metric system and just use pure units. The reason for that is that then you can easily copy-paste values without worrying about units.
For exporting and compatibility with other projects assume base metric units (this means kg for weight, otherwise the units without prefixes)
And if you really want a fine-tuned sliding, use a "multiply 0.001" node or something to similar effect
In any case, take a look to this other tutorial, if working in mm or cm is mandatory: Blender 3.0, Working in Millimeters for modeling small items - YouTube
Scene / Units / Length / Millimeters
Scene / Units / Unit Scale / 0.001
3D Viewport Overlays / Scale / 0.01
N Panel / View / Clip Start / 0.001 mm
N Panel / View / Clip End / 10000 mm
Camera Data / Lens / Clip End / 10000 mm
UPDATE: doing those steps described in previous tutorial, it seems that all is working fine (to further study)
TO-DO: reunite all those glitches that occurs here and there by using Millimeters instead of Meters as units, to send as a well documented bug report. Because all this is a PITA.
UPDATE: not so many issues, if doing all correctly (using previous steps)
---------------------------------------------------------------------------------------------------------
Set the origin of an object to the center of it´s bounding box
1. Change the transform pivot point to Bounding Box Center
2. Object > Set Origin > Origin to Geometry
---------------------------------------------------------------------------------------------------------
To manage custom Attributes for elements (verts, edges, faces…)
1. Go to Attributes panel, press the “+” icon to add a new custom empty Attribute. Choose Name, Domain and Data Type. Typically, Edge/Float, for example)
2. Go to your geometry in Edit mode, select a loop of edges, press SpaceBar for “Search” and choose Mesh > Set Attribute
3. Assign whatever amount you need, typically, 1.0
You can later select again your desired Attribute, select more geometry and Set different amounts
This can be useful for LOTS of areas in the app. For example to modulate a Bevel Modifier. Or to choose that Named Attribute inside Geometry Nodes to work with.
---------------------------------------------------------------------------------------------------------
Solving the issue with “Apply Object Transformations - Warning: Multiple objects share the same data. Make single user and then apply transformations?”
In theory, the newest versions —since 3.2— lets you apply transform on linked objects and there’s no more warning message. But I received this message… sometimes, not ever…
And, in any case (and I have suffered this in 4.4): some times, even if it works, it also fails, leaving objects with 180º or +-90º rotations. In those cases:
1. Select/linked or cmd+l and then chose object data
2. Object/Relationship/make single user/object and data
3. Now you can apply the transform or what ever you want (cmd+a)
4. To take it back: Object/Link/Link Object Data (Note that of course scaling of instances was undo in the step before. May be a problem with negative scaling)
---------------------------------------------------------------------------------------------------------
Add Image > Reference VS Add Image > Background
(I think it doesn’t matter too much what to use, since you can change settings once added to change to “Reference” or “Background”)
Reference Image
Purpose: Used as a visual guide for modeling (e.g., blueprints, sketches, anatomy charts).
Always visible in orthographic and perspective views.
Selectable and manipulable like any other object (you can move, rotate, scale, etc.).
Can appear in front or behind geometry, depending on its settings.
Useful when you want to model using the image as a visual reference from multiple angles.
Background Image
Purpose: Used primarily as a background aid for modeling or layout in orthographic views (e.g., front/side view).
Only visible in orthographic viewports (like Front, Side, or Top — not in perspective).
Not selectable in the 3D Viewport (less intrusive).
Stays fixed in the background and doesn’t get in the way of your modeling.
Best used when you want to trace over an image or use it as a static modeling aid.
Use Reference if you want the image to behave like a regular object (move/rotate/scale it, render it optionally).
Use Background if you want a static image that doesn’t get in your way while modeling in orthographic views.
---------------------------------------------------------------------------------------------------------
Select edges with same bevel weight
If you have edges with different bevel weights, e.g. 1.0, 0.5 and 0.25 while some have 0, and you want to select all with some bevel weight, whatever high it may be, you could try to select one with i.e. 0.5 and then use Select > Select Similar > Bevel.
To select all edges with a bevel weight > 0, select one which has 0, then Select > Select Similar > Bevel. Now all edges with bevel weight = 0 are selected. Then press Ctrl+I to invert the selection. Now all edges with a weight above 0 are selected.
---------------------------------------------------------------------------------------------------------
To convert a Blender loop to a circle, use the Loop Tools add-on's Circle function. Select the edge loop, access the Loop Tools menu (usually through the N-panel or by right-clicking and selecting LoopTools), and choose "Circle". This will transform the selected edge loop into a circular shape.
Steps:
1. Select the Edge Loop
2. Access Loop Tools: Either press the 'N' key to open the side panel, navigate to the "Edit" tab, and find the Loop Tools section, or right-click in the 3D viewport and select "LoopTools".
3. Choose Circle
4. Adjust if Needed
---------------------------------------------------------------------------------------------------------
100+ Tips to Boost Modeling in Blender - REALLY GREAT TIPS HERE!!!
3 ways to Slice Objects : r/BlenderSecrets
5 minutes of N-Gons to Quads tips
All 54 Modifiers in Blender Explained in 10 Minutes - YouTube
Boolean modeling and SDS without ngons - Useful for non extremely complex shapes
Connect two objects using the Data Transfer modifier - by Christopher 3D
Draw in 3D with Grease Pencil (part 1) and (part 2) - Fantastic tips to create handmade trees or any organic branch structure
Fix crappy surface shading with Data Transfer - by Christopher 3D - FANTASTIC!!! - Use the Data Transfer modifier to fix surface shading irregularities that can arise from difficult modeling scenarios
Flower Modeling Hack – Cloth Simulation + Sphere Method - A quick Blender cloth physics tutorial
How to make your own preset in Blender with custom brushes, materials and layouts - Saved and ready to go for your next project
How to Morph Shapes in Blender
How to use instances the right way (downloaded)
How to use Ngons - I made this guide with the goal of de-mystifying and de-stigmatizing the usage of Ngons within the 3d industry
How you can use physics to easily populate your scene with objects
Is there a way to Increase the "Thickness" of an Empty? (answer is NO) - Alternatives
Loop tools Curve Tool : Panel Beating - REALLY GREAT TIPS HERE!!!
My Sacred Vector Displacement Tip
Blend normals between different surface meshes
Render Equations and Code Blocks in Blender - Tutorial, including link to download free add-on to import Typst files
Working in Millimeters for modeling small items - YouTube - Setting up Blender to work in millimeters for jewelry design
The Jewelry and Watch Bench - Interesting channel for really small models design (jewelry, swatches, etc)
The Easy Way to Fix Ugly Shading in Blender - Specially with high dense n-gons
Topology Quick Tip: A surprising fact about 3-point poles - A quick tip on reflowing topology with 3-point poles
---------------------------------------------------------------------------------------------------------
10 ways to make Holes in Blender - Local file link
1. Cut with a polygon or closed line in front of it.
We have a cube.
Add a circle in front of it (curve, hollow polygon or fill, it doesn't matter) - It could also be a non-closed surface, like a hemisphere.
Select only the cube > EDIT MODE
CTRL + LMB to select also the circle (in 3DVP or in the Outliner)
Front view (or from the angle of projection that we want)
Mesh > Knife Project (we can activate “Cut Through”)
---------------------------------------------------------------------------------------------------------
Orient ortho views to selected geo & create an oriented Empty (similar to Modo Orient View to Selected Object)
— Select an edge to mark Y orientation
— Shift-7 to view from RELATIVE TOP view
— Shift-D, 2 (Cursor to Selected)
— Go Object mode
— Add an Empty, change Align to View. Rename and Store
Work in a given orientation (defined by an object):
— Select your Object/Empty
— Go to Transforms Orientation and press "+" (this will create a New Transform Orientation) -> GREAT TIP!!!
Orient 3D Cursor as Selected Object/Empty
Super-slow method (not good for component selections, just objects/empties)
— Change your transform orientation to Local
— Select the object you want to snap to
— Select the cursor tool in the toolbar
— Change its orientation setting from None to Transform in N panel > Tool > Active Tool
— Click anywhere in the viewport to move the cursor, which will align its orientation with the selected object.
— Press Shift S > Cursor To Selected to snap the cursor location to the object origin.
Fast Method (good for all, objects & components)
— Use KeKit add-on > Select & Align > Cursor Fit & Align > Custom Keymap: F6
---------------------------------------------------------------------------------------------------------
Fix Near Clip on extremely small or large models
N (Side Panel) > View > View > Clip Start / Clip End (adjust both)
---------------------------------------------------------------------------------------------------------
To know the coordinates of a selected vertex (of a mesh or a curve): N > Element > Transform
---------------------------------------------------------------------------------------------------------
There is not Workplane in Blender. Use Empties-Arrows, instead and saved them as Custom Transform Orientations
---------------------------------------------------------------------------------------------------------
Spin face around an axis (example)
— Select top of cube
— Front view
— Shift-RMB to move 3D Cursor to the center of rotation
— N > Tool Options
— Spin tool (change Axis in N if necessary)
— Control extrude-rotation and steps (caution: if using bottom options, then no more direct edit is possible…)
---------------------------------------------------------------------------------------------------------
Randomise vertices position along an axis - Tip using Proportional Editing
Select the vertices you want affected, press Ctrl + I, to invert the selection, and then H to hide those vertices. Now, select a vertex of the ones left, press O, to turn Proportional Editing on, and, in the 3D view header, set the falloff to random:
Then, press G, to move, followed by one of X, Y or Z, either once or twice, to limit to the axis you want. Now, use the scroll wheel to enlarge the affected area so that all the vertices are affected and move the mouse until you get the results you want. Then, press Alt + H to show all hidden vertices again.
---------------------------------------------------------------------------------------------------------
Extend and align randomised verts on a tilted plane-mesh border - TWO METHODS
Method 1
Pivot Point > Active Element
Transform Orientations > View
Select Directional Edge > Shift-7 to align Top View orthogonal to Edge Selection
Select randomised border as verts, deselect and select desired active vert
S-Y-0
Method 2
Pivot Point > Active Element
Select Directional Edge > Transform Orientations > + (Create Orientation - Edge)
And also Shift-7 to align Top View orthogonal to Edge Selection
Select randomised border as verts, deselect and select desired active vert
S-Y-0
CURVES [ TOP ]
Bezier Curves in Blender 3.x - YouTube - Fantastic video about drawing with beziers!!!
Curves & Curve Modifier in Blender - Beginner Tutorial - YouTube
NURBS CURVES! Why the heck should I use them?. - YouTube (downloaded)
Part 1, Sardines Can Packaging, tab modeling - YouTube (downloaded)
The BEST bezier curve tutorial for new Blender users. - YouTube - Updated version (downloaded)
---------------------------------------------------------------------------------------------------------
To change radius for all points in a Curve in an Absolute way (not Median)
Two methods, in Edit mode:
A. 1. Select all points, press Alt-S, write 0
2. Go to N panel, change Mean Radius to 1
B. Select all points, Search (spacebar), write “Set Curve Radius”, write 1
(I don't find this command in any menu?) >>> ADDED TO QUICK MENU
---------------------------------------------------------------------------------------------------------
Completely Flat ribbons from Curves
The key is to change spline to 3D (not 2D), maintain it flat, give some Extrude amount and change the Mean Tilt for all points to 90º
To convert a curve seen in Front (XZ plane) into a flat ribbon we have to draw a line along the Y axis.
And then, to visualize and edit everything better, rotate it 90º in X
---------------------------------------------------------------------------------------------------------
For precise curve creation first place your 3D Cursor (Shift-RMB), then Create Point in Object Mode, then Extend using E and XYZ. Use Grid Absolute Snapping and Rotate using R + CTRL
---------------------------------------------------------------------------------------------------------
Hand drawn curves that are CURVES and not Meshes, for use with GN:
After drawing them make sure that in Spline Data > Shape > Fill Mode is set to “None” (if not, it considers it Mesh).
---------------------------------------------------------------------------------------------------------
To Merge two spline sections on a single curve, select a couple of extreme points and press F
---------------------------------------------------------------------------------------------------------
To work on a symmetrical curve maintaining it symmetrical (since the Enable Symmetry in 3D Viewport only works for meshes)
— Use Mirror Modifier, work on half, and finally apply and merge (or make cyclic)
OR
— Convert curve to mesh, Enable Mesh Symmetry in the 3D viewport, and create an intermediate Geometry Nodes to convert back and visualize final output as curve. Suitable only for Poly and NURBS curve. Bezier are not adequate for this procedure…
And maybe the best approach is to start drawing a single mesh vert, enable modifiers for mirror & merge, and apply another SDS modifier. And convert all to curves at end.
---------------------------------------------------------------------------------------------------------
PHYSICS [ TOP ]
Change Particles Size Over Lifetime
---------------------------------------------------------------------------------------------------------
USE A COLLISION OBJECT TO KILL PARTICLES OUTSIDE A MESH
Goal: Only keep particles inside a given mesh (e.g. a cube or sphere… or a bottle of wine), and remove any that go outside.
1. Create your emitter
Add a Plane or any mesh to emit particles.
Set up your Particle System (emit from Face, Render as Object, etc).
2. Create the containment mesh
Add a Sphere or Cube (let’s say it’s a Cube) that defines the allowed volume.
Scale and position it as needed so particles should stay inside this mesh.
3. Enable Collision on the Cube
Select the Cube.
Go to the Physics tab > Collision.
Check "Kill Particles".
Important: This will kill particles that collide with the mesh.
But in our case, we want to reverse that logic.
Workaround Trick to Invert Behavior:
To kill particles that go outside the cube instead of those that hit it from the outside:
Invert Normals (for closed meshes)
Enter Edit Mode on the Cube.
Select all (A), then press Alt+N → Flip normals.
Now particles inside the mesh won’t be killed, but particles that exit (collide with the inverted surface) will be killed.
Blender’s particle collision treats the outside of a mesh as the "colliding" surface. Flipping normals makes the "inside" act as the "outer" side.
Notes & Caveats:
The collision detection isn’t mathematically perfect for very fast particles, so you may need to adjust substeps (under Physics > Particle settings > Integration).
This only works well for closed meshes like cubes, spheres, etc.
If your particles have no velocity, or they spawn already outside the cube, this method may not stop them immediately. Consider adding a Force Field (e.g., Turbulence or Drag) to push them and make them interact.
---------------------------------------------------------------------------------------------------------
Water Filling Invisible Volume [Blender Tutorial] (downloaded)
Fill a Cup with Water in Blender 3D! - YouTube (similar, but a good complement)
Fill a bottle with liquid - Blender Stack Exchange
Fill any Object with Fluid in Blender [Mantaflow] | English - YouTube
FLUIDS
Introduction - Blender 4.5 LTS Manual
Liquid Settings - Blender 4.5 LTS Manual
---------------------------------------------------------------------------------------------------------
GREASE PENCIL [ TOP ]
Tip for a Grease Pencil stroke: set the 3D cursor to your vertex by selecting it and then using Shift+S and then Cursor -> Selection and then read the 3D cursor position in the View panel, View Properties.
To change Radius for any GP stroke (or selected GP vert) use Alt-S. Like in radius for Curves
Applying gradient as stroke is drawn (Grease Pencil, Blender) - YouTube
---------------------------------------------------------------------------------------------------------
COLLECTIONS, HIERARCHY & OUTLINER [ TOP ]
Lets imagine this situation:
COLLECTION A
EMPTY 1
Cube
Cylinder
COLLECTION B
EMPTY 2
Sphere
Thorus
If we want to move the Thorus from Empty 2 (in Collection B) to Empty 1 in Collection A, we can NOT do it directly. It would be a (sort of) copy.
It must be done in THREE steps:
1. You have to remove the Thorus from the Empty to make it a direct child of Collection B, using Shift or Unparent (Alt-P) > Clear & Keep Transform.
2. Then we pass it to the other Collection (as a direct child of this one, do not try to nest it in empties or objects).
3. Finally make child of the Empty or Object that we want, with Parent (Cmd-P) or using Shift.
Yes: it is completely absurd. To investigate more deeply all this topic of the Collections.
---------------------------------------------------------------------------------------------------------
To move a complete hierarchy from one Collection to another:
Select parent / RMB > Select Hierarchy / Move.
We can also select the parent, Shift-G, and then in the popup select “Extend”.
---------------------------------------------------------------------------------------------------------
TIP: different 3D views can show different Collections.
Just go to N panel > View > Collections and enable Local Collections to also decide there which collection is visible and which not for that particular view
---------------------------------------------------------------------------------------------------------
Vertex Parenting Feature
NOTE: we can select any object (mesh, camera, light…), then a second mesh object (to make this one ACTIVE), change to Edit mode, select a SINGLE VERT in the mesh object, and then, with Cmd/Ctrl-P we define a “Vertex Parent”. Optionally we can also select 3 Vertices, instead of 1 (but not 2).
---------------------------------------------------------------------------------------------------------
Hide in Viewport, a crappy Blender default. How to fix it. - YouTube
Difference between Hide in Viewport and Disable in Viewport
An awesome little addon called Edit Instanced Collection.
---------------------------------------------------------------------------------------------------------
What's the difference between Scene, Layer, and Collection?
WEIGHT [ TOP ]
How do I reset all weights in Blender?
Go into edit mode. Select all vertices. Hit Ctrl-G to bring up vertex group specials and select “remove from all”
RIGGING [ TOP ]
---------------------------------------------------------------------------------------------------------
Move Parent without affecting Children
Transformations can be limited to affect only the parents. The setting can be found in the N Panel > Tool > Options.
---------------------------------------------------------------------------------------------------------
Copy & Paste Global PSR Transforms using “Copy Global Transforms” add-on
Located in 3D Viewport > N-panel > Animation tab.
---------------------------------------------------------------------------------------------------------
BASIC RIGGING PROCEDURE AND TIPS
All learned from this great tutorial:
Let's Learn Blender!: Character Rigging 101 (Armatures, Bones, & IK)
Add a first Bone using Add > Armature
Modify this and further Bones in Armature EDIT Mode
For Bones is a good thing to use the Move Gizmo (to select and move both the Start/Root/Head & End/Tip/Tail Joints and the Bone Body itself)
Activating the Armature > Viewport Display > Axes checkbox will show local axes for each bone’s tip.
The Y axis is always aligned along the bone, oriented from root to tip, this is the “roll” axis of the bones.
Also, showing the Names for bones is a good thing. And enable the In Front option.
Select the Bone Tip, press E to extrude and creating a new child bone
Selecting the Body you can RMB > Subdivide the bone in two ones (parent and child)
Being in EDIT mode you can replace any Root, Body or Tip, freely.
Press F2 to rename bones. As “spine1” or “legUp.R”
Better to use lowerCase.L and lowerCase.R structure for naming.
Use .L and .R suffixes to naming Left and Right bones (this allows automatic recognition for symmetrize)
Use Cmd/Ctrl-R to manually Roll a bone. Look at N panel > Item for more details (with a bone selected)
While in Armature EDIT we can see the Head & Tail coordinates for each bone.
Both in Armature OBJECT or POSE mode all standard coordinates will be zeroed.
While in POSE mode we can change (and animate) the BONE coordinates. Caution: do not change the OBJECT coordinates.
No matter how change the Pose, you can return to default by Pose > Clear Transform > All (added to Quick Favorites)
To add or replace Parent for a given Bone: go back to EDIT mode, select bone to be child, then Shift select the one to be parent, and Cmd/Ctrl-P and choose Keep Offset
TO CREATE IK CONTROLLERS
First DUPLICATE a given bone in place (in EDIT mode), make it LONGER (N panel, Item), and UNPARENT going to Bone > Relations > Parent (click that small “X”)
Also, disable the Deform checkbox, below. Call it something like hand_IK.L
Then go to POSE mode, select the PREVIOUS bone, Bone Constraints > Add Bone Constraint > Inverse Kinematic
Choose for Target > Armature
Then choose for Bone > hand_IK.L (or whatever was your chosen name) It will become soft-yellow
Change Chain Length to something appropriate (like 2, 3 or whatever numbers of bones must be considered for the IK operation)
Also: while in POSE mode select the original hand.L go to Bone Constraints > Add Bone Constraint > Copy Rotation
Choose for Target > Armature
Then choose for Bone > hand_IK.L (or whatever was your chosen name) It will become soft-green
TO CREATE A POLE VECTOR FOR AN IK CHAIN
Being in EDIT mode, select a Tail for the Bone for the Elbow, press E to extrude along convenient direction (back, for an arm). Then select this new bone and UNPARENT going to Bone > Relations > Parent (click that small “X”)
Then you can move away this special bone (to be used as Pole Vector). Name it arm_PV.L (or whatever you find convenient)
Then change to POSE mode, go back to the bone where you added the IK Constraint (will be soft yellow)
Just below the Target and Bone for IK, you will see a “Pole Target” field. Choose Armature. A new Bone empty field will appear, choose the arm_PV.L special Pole Vector bone.
Your armature will rotate in an strange way: change the Pole Angle to a convenient angle (change the pose to create a more evident flexion, if necessary).
Remember to disable “Deform” for both PoleVectors and IK special bones
SPECIAL COLLECTIONS FOR BONES
Go to Armature > Bone Collections to create new Collections to assign your bones. For example “VisibleBones”, “HiddenBones”, “PoleVectors”, etc…
Then, you can use M key to move bones between Collections. And Hide or Solo those Collections.
Don’t forget to create a general “Controller” bone (at bottom) to make all unparented bones children of it (like PVs, IKs and top hierarchy bones) - Disable Deform on this special bone
SYMMETRIZE: Being in EDIT mode, select ALL your bones (both the marked with .L but also the central ones) and choose Symmetrize from RMB or Armature menu
TO BIND YOUR ARMATURE TO YOUR MESH
Important: be sure to temporarily disable Edit > Lock Object Modes. Also disable X-Ray mode (if it was enabled)
Then, make sure that the latest time you selected your armature was in POSE mode.
Enable OBJECT mode, select your mesh > Then press SHIFT and select your armature (it should change automatically to POSE mode) > Also, Select any bone, it doesn’t matter.
Finally press Cmd/Ctrl-P (like to Parent) but mark “With Automatic Weights”
In case that you want a Bone to control (rigidly) a mesh part, make the same steps but chose “Bone” after parent command.
---------------------------------------------------------------------------------------------------------
Rigify - Blender 4.4 Manual (for the moment I prefer to have it disabled)
Rigify helps automate the creation of character rigs. It is based around a building-block approach, where you build complete rigs out of smaller rig parts (e.g. arms, legs, spines, fingers…)
---------------------------------------------------------------------------------------------------------
The Secret to Preserve Volume in Blender
Simple IK Solver - Tutorial for Articulating Single Plane Mechanics with Geometry Nodes
Spline IK Constraint - Blender 4.4 Manual
---------------------------------------------------------------------------------------------------------
UVs [ TOP ]
Flip or adjust the mesh in general while keeping the image texture static
While in 'Edit' mode, click on 'Options' just below the 'Viewport Shading' modes on the top right corner, then click on 'Correct Face Attributes'. Now when you scale the mesh on the X-axis by -1, it will flip the mesh while keeping the image texture in place.
---------------------------------------------------------------------------------------------------------
How to convert UV to mesh in blender - See Update for Blender 3.2 and up
---------------------------------------------------------------------------------------------------------
A UV Unwrapping Guide – Blog — Blender Studio - Collection of advice for specific cases you might need a UV map for and how to unwrap your UV maps.
Packing UV Maps for Production – Blog — Blender Studio - All about packing them together into a useful arrangement. You could pack all of them into a single 1:1 UV tile but there are more powerful tools at your disposal
---------------------------------------------------------------------------------------------------------
To “rectify” UVs
Select a polygon that is already “almost” perfectly orthogonal. If necessary, rotate the entire UV island so that it is close to being orthogonal.
Make sure that this polygon is the ACTIVE polygon, so that it has been selected last also in 3D (it is not enough to select it only in UVs).
Use RMB with its 4 edges to align them horizontally and vertically.
Move to faces, select all (A), RMB > Follow Active Quads
In addition to that:
---------------------------------------------------------------------------------------------------------
To center the selected UVs in the middle (or in other places we need)
Enable built-in Add-on Magic UV. Now, there is an easy option to align the Cursor to the center of UV space:
1. In the menu bar go to UV, at the bottom section of the dropdown menu choose "Align UV cursor", then choose "Center".
2. Select the UV island you want to center and press Shift + S to display the cursor wheel menu and choose "Selected to Cursor (Offset)".
You can also use the UV Position (UV Vertex XY) in the N menu.
---------------------------------------------------------------------------------------------------------
Pack Islands Tip
It’s important to have enough space (Margin) between UV Islands to avoid visual artefacts connected with texture filtering in game engine renders. Here are suggested Margin values to use for different size textures:
256 - 2px
512 - 4px
1024 - 8px
2048 - 16px
4096 - 32px
8192 - 64px
---------------------------------------------------------------------------------------------------------
Zen UV for Blender - 10 Tips to Transform UVs like a Pro - YouTube — !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (VERY GOOD)
SCULPTING [ TOP ]
HOW TO SCULPT WITH CURVES:
1. Enable Dynamic Topology (optional)
If you want more detail on your mesh, enable Dynamic Topology (found in the Sculpt mode's header).
2. Select the Brush:
Choose a sculpting brush like the "Snake Hook" brush, as it works well with curves.
3. Change Stroke Method:
Go to the Stroke panel and change the Stroke Method to "Curve".
4. Draw the Curve:
Hold down Ctrl and right-click-drag to create points and handles, forming a bezier curve. You can add multiple points and adjust their handles.
5. Sculpt Along the Curve:
Once you're happy with the curve, left-click while still holding Ctrl to apply the curve to your sculpting.
You can refine the curve further by:
Editing Points: Select points by left-clicking and move with G or adjust handles by right-clicking and dragging.
Adding/Removing Points: Add points by Ctrl + clicking and remove them by Shift + Ctrl + clicking.
---------------------------------------------------------------------------------------------------------
Improve Sculpting Performance Instantly | Blender Secrets - YouTube
Perfect displacement with Low Poly meshes
Gabor Texture In Blender 4.3 - Gabor noise in Blender 4.3 looks really promising for quickly creating some sick stylized shapes
The Complete Guide to Cloth Simulations in Blender
---------------------------------------------------------------------------------------------------------
METABALLS AND GEOMETRY NODES
Metaballs are NOT “officially” supported by GN. But there is workaround:s
First of all, we need to create a Mesh object, but it should be empty:
1 Add an empty Mesh
2 Rename it as BaseGeo
3 Add Metaball > Ball and make it a child of BaseGeo
4 Select BaseGeo > Go to Object Properties > Instancing > Enable Vertices
5 With BaseGeo selected, add a Geometry Nodes Modifier—this will display the Group Input and Group Output
Now, for the setup in Geometry Nodes:
• Mesh Line → Connect it directly to Group Output → And voilà! The Metaball is now instanced along the line.
• You can replace it with a Cube > Set Size to 2m, and the same happens—the Metaballs behave as expected.
By selecting the Metaball, you can adjust its resolution, scale, etc.
If you select BaseGeo, go to Object Properties > Instancing > Vertices, and disable Instancing in the Viewport, the Cube added in Geometry Nodes will disappear.
Then, you can go back to Geometry Nodes, adjust the Cube’s size or change the number of vertices.
---------------------------------------------------------------------------------------------------------
Metaball Instances not displaying in Render using Geometry Nodes?
Export an image sequence, this way blender updates the metaballs and shows them.
If you animated the metaballs don't worry if they don't show up in a single image render, render the whole animation and they will be there.
One thing: in the first frame the metaballs don't show up, so you need to render out an additional frame before the first frame, so change the start frame from 1 to 0, and then delete the exported 0th frame bc that's blank.
If you want to make a still image, render out two frames as an animation and save the one that has the metaballs in it.
---------------------------------------------------------------------------------------------------------
PAINTING [ TOP ]
You can fix this annoying issue with one click and save yourself many hours of retexturing - Fix issue painting at border of an object
How to make Basic Sculpt and Texture Paint in Blender -- Using Ucupaint, Auto Reload & Krita
NODES [ TOP ]
Node Parts - Blender Manual - Sockets Colors - Valid Conversions
All about SOCKETS - ALL THE NODES | Blender Geometry Nodes - YouTube
---------------------------------------------------------------------------------------------------------
NOTES ON “SET CURVE RADIUS” IN BLENDER 4.5!
We no more need the Set Curve Radius node in Blender 4.5 Use the scale parameter in Curve to Mesh which is new in 4.5
Set Curve Radius is there so old files keep working. When you open a file from previous blender that had set curve radius, the named attribute and switch node are created automatically in 4.5
(if we connect a Radius node to the Scale input in Curve to Mesh, then, our Set Curve Radius would work like before, but this is completely unnecessary and convoluted. Use the scale parameter in Curve to Mesh
Blender 4.5 LTS: Geometry Nodes Changes
---------------------------------------------------------------------------------------------------------
ALSO, ABOUT THE “USE RADIUS” SETTING IN THE BOUNDING BOX NODE IN 4.5
Other change that may cause confusion is the new "Use Radius" setting in the Bounding Box node. It is enabled by default. So the default Bezier curve gives about twice as big BB than without radius.
#143080 - Bounding Box incompatibility with version 4.5 - blender - Blender Projects
---------------------------------------------------------------------------------------------------------
Multi-line text on Frames: When you need to display more comprehensive text, frame nodes can display the contents of a text data-block. This is read-only, so you will need to use the Text Editor (Shift-F11) to modify the contents.
---------------------------------------------------------------------------------------------------------
Way to retype “-inf” and “inf” once we have clicked on these fields: write -4e44 and 4e44
---------------------------------------------------------------------------------------------------------
Tips by Kimmo on Random Value & Repeat Zone
Random Value outputs a Field by default. If we need single value:
Link a Integer node to ID input, so it will be single Random value, not a field.
If you want to have own random value for each iteration, use the Iteration output from the random node as a Group. And remove that link that goes in the Repeat node.
You can also remove the link if you want to use single Random value for all iterations, there are no need to wire that through Repeat node. You can plug the random value straight to the Math Multiply node
---------------------------------------------------------------------------------------------------------
A Switch (Geometry) could only handle a singular boolean value and not a field. For that reason, for nodes like Is Spline Cyclic you'd have to pull out the value from a specific spline via Sample Index. If you're only dealing with one spline, then it should be the 0th one.
Link at Discord - More, related: Is there a way to connect a field Boolean output to a geometry switch node?
---------------------------------------------------------------------------------------------------------
When you use Separate Geometry on Instances, the selection and inverted become two different geometry sets. So you can safely flip one without affecting the other.
GN is smart enough to not do that if nothing is changed between the two
But otherwise they become distinct sets of instances.
Thank god for the 4.3 spreadsheet for just making this visible, this used to be just something you mentally tracked
---------------------------------------------------------------------------------------------------------
Step by Step to create Custom Nodes and store as Assets for future use
Group your Node Tree using Cmd/Ctrl-G
Inside the internal Node Tree > N panel:
> Group > Group > Rename your Group (ie: “Curve to Ribbon”)
> Group > Usage > Enable Modifier (if you want it to use so)
Return back to the general Geometry Node Tree. Save the present Node Tree (containing your recently create Group) something clever, like “YourName Nodes” (ie: ETR Nodes)
In the Node Tree leave only the Group, isolated (not connected) and a Group Input connected to a Group Output.
All your other future groups will live here, unconnected.
Remove ALL in your document except the current mesh. Leave there some very basic stuff, like a single Plane.
Go to Display Mode > Blender File > Node Groups
You will see your “YourName Nodes” (ie: ETR Nodes) and the existent Groups (ie: “Curve to Ribbon”)
RMB on your most recently created group and Mark as Asset
Create a Panel with the Asset Browser. Your recently created item will live in the “Unassigned” Library.
If it's your first custom node, change view from “All libraries” to “Current File”, press the “+” symbol to create a new Catalog (ie: “Eterea”) and you can also add a sub-catalog inside (ie: “Curves”)
Move your recently created asset from “Unassigned” to “Curves” sub-catalog.
Press N here (or use the small Gear) to open local side panel and add a Preview Icon previously stored as PNG or JPG (something as 256x256 is enough)
Save your Blender document, ideally inside:
/Users/cristobal/Library/Application Support/Blender/4.3/nodes/Eterea/etr_nodes_source.blend
(change bold references to your needs)
Also press the small floppy disk at side of Catalog. This will save a “blender_assets.cats.txt” side by side with your .blend file.
You will end with an almost empty document, containing only a single mesh item (it doesn't matter: something like a plane or a single vert)
And you will put all your future Groups there.
Now, no matter you have any other open document, you can look inside All Libraries, and an “Eterea” & “Curves” catalog and sub-catalog should appear.
And also a new submenu inside Add Modifier > Eterea > Curves > Curve to Ribbon (or whatever nomenclature you use
---------------------------------------------------------------------------------------------------------
Interesting comments by Quackers user on Discord on CAPTURE ATTRIBUTES and EVALUATE ON DOMAIN
Every geometry operation in GN has an inherent domain, Set Position is inherently a Point domain operation.
This is important because it informs everything in your tree that doesn't have an explicit domain, which in this case is the chunk with the Random Value node.
Blender doesn't see an explicit domain being set and assumes you want to randomize per point.
Evaluate on Domain is how you explicitly specify the domain of whatever's plugged to it, so setting it to Face allowed the randomization to be done per face instead of per point. (It's worth to note the effect of Evaluate on Domain is backwards, not forwards, Set Position is still a Point operation, but how much those points are offset by is random per Face)
As for why changing the domain of Capture Attribute doesn't do anything here, that's because going from Point/Edge to Face has an effect of averaging the field.
Coincidentally, the Face position is defined as the average position of all points of that face.
So capturing the face position has the same result as capturing the point positions and averaging them via domain conversion.
---------------------------------------------------------------------------------------------------------
Interesting comments by Quackers about Repeat / For Each Zones (better to avoid these options and using Fields, when possible)
Fields can have different values per geometry element (per point, edge, spline, etc.)
A lot of people starting out in GN would gravitate to doing things one at a time either via Repeat/For Each. But a lot of use cases can be done with a "create all the geometry you need > apply the operation in one go with fields", which is often the simpler & more performant way to go about GN.
To clarify this further with an example, say I have multiple splines that I wanna rotate randomly.
You could do it with the For Each Zone, but this is unnecessary, as both Set Position and Random Value support fields:
So you can do this directly. Adding a zone here just adds extra links you have to make.
For more complex use-cases, doing it via fields might not be as straightforward but reasoning about them get easier with familiarity.
The main thing there is the performance cost when you increase the iteration count.
A lot of that is as Erin explained, where each iteration has to wait for the previous iteration to finish, so there's a cap to how fast it could be.
Performance-wise, it's a good rule of thumb to avoid Repeat Zone whenever possible. It's pretty much only necessary if what you're computing cannot be done directly and instead uses an iterative approach.
Here's a performance comparison I did (Quackers) where the idea was just to generate a ton of circles with different radii and resolution:
https://discord.com/channels/314131871376080906/734779371549753364/1297386822329958471
Field Based: 5.2 ms / For Each Based: 84 ms
Another comparison by Quackers:
https://discord.com/channels/314131871376080906/734779371549753364/1297387800521474069
Field Based: 4.04 ms / For Each: 399 ms / Repeat Zone: 53 s
---------------------------------------------------------------------------------------------------------
Interesting comments and considerations by Quackers about Set Materials and Instances
(and why it’s necessary to separate instances to assign different Materials)
Keep in mind that instances acts as containers for other geometry types.
Set Material isn't acting on the instances but rather the mesh those instances point to.
And keep in mind that the same geometry data could be shared by multiple instances.
If you have 8 instances of the same cube data, when I set the material on this cube data, it will always have the same result for all instances because a.) it does not have access to the instance index so that'll always be 0.000, and b.) all instances shared the same geometry data.
When you split the instances to separate groups and assign different materials to them, GN creates a separate copy of the geometry data for each branch and is able to do different things to them.
(Note how the spreadsheet will list two geometry sets, one with some instances and another with others. Instead of one geometry set with all instances, like before the separate operation)
Also: Evaluate on Domain and Evaluate at Index won't work. You could think of there being a barrier between "instance data" and "geometry data", meaning you can't really mix both.
Like if it's an instance operation (Translate, Rotate, Scale Instances, etc.) it won't have access to geometry data and vice versa for geometry operations (Set Position, Set Material, Set Curve Resolution, etc.)
The exception to that is For-Each, as whatever field you plug into it turns into a constant.
And everything can access constants, so using a For-Each is typically how you get around that limitation.
---------------------------------------------------------------------------------------------------------
• If a node's name starts with Sample, it's for getting data from other meshes.
• If it starts with Evaluate, it's for getting the data from whatever's the current mesh.
These nodes serve the same function of getting the value at a specific index, but you'd ideally use them for different purposes.
Capture Attribute doesn't sample attributes, it stores them.
"Sampling", in the context of geonodes means transferring a field's values from one geometry to another.
Fields are computed in context of the current geometry, capturing them allows you to get a field's value at a specific part of the nodetree and use it later down the line.
These values persist even when converting the geometry, which is largely what makes them useful to have in node trees.
(In contrast, sampling may require you to manipulate indices yourself should the source and target geometry be different.)
---------------------------------------------------------------------------------------------------------
If a range of values is -100/100 and we want to remap them to -20/50 while 0=0 on both maps we have to break the range into: -100/0 to -20/0 and 0/100 to 0/50 and write the driver like this:
(Linear interpolation for negative side formula) * (x<0) + (Linear interpolation for positive side formula) * (x>=0)
If you have multiple domains, just have to break it more (like color ramp thingy)
---------------------------------------------------------------------------------------------------------
Compute a Noise as a Single Value instead of a Field
Add a Scene Time node
Use the Seconds output.
Add a Noise Texture node
Set it to 4D
Set W = Time
Here comes the trick: For the Vector, use (0, 0, 0) — just a dummy fixed point.
→ This way, it outputs a single scalar value.
Optionally: Use Map Range to convert from [0,1] to [-1,1]
Plug this into a single value input (like a Bend) — now it’s not a field, just a float.
---------------------------------------------------------------------------------------------------------
Unlike the Random Value node, the Noise Texture node doesn’t have a direct Seed input.
But! You can absolutely generate different results by varying the inputs that influence the noise:
Option 1: Use different Vector Inputs (or offset by a constant)
Option 2: Use W in 4D Noise as a Seed
---------------------------------------------------------------------------------------------------------
From Erindale - It looks VERY useful - WATCH IT AND PUT IT INTO PRACTICE:
Supercharge Your Geometry Nodes Workflow - Blender Tutorial - YouTube (BAJADO)
I'm going to show you my special technique that opens the door to infinitely more complex, more integrated procedural workflows in Blender. Super easy to do. Super effective.
---------------------------------------------------------------------------------------------------------
Like all data-blocks, node groups with names that start with “.” are normally hidden from lists and menus and can only be accessed through search. This can be useful for node asset authors to hide their internal sub-groups from the final user.
---------------------------------------------------------------------------------------------------------
Alternative to Instancing in Blender - By Redjam9 - Use the For Each Element Zone in geometry nodes to get a unique object for each copy
Animating a Wave Front with Simulation Zone - How to use the Simulation Zone in order to animate a wave front in Blender 4.4 and up
Attributes - Blender 4.3 Manual - Important to understand Attribute Domains and Boolean Domain Interpolation
Can't find the node! Which node is available in which Blender version? - Blender Stack Exchange
Cloth simulation with Geometry Nodes - Tutorial and link to scene ($10), by Seanterelle
Create Wires With Blender Geometry Nodes - 3 methods, each with its own advantages and disadvantages: Proximity / Transfer position / Raycast
Cumulative Trim Curve by Quackers - Instead of trimming curves simultaneously, it trims them one after another. Useful for "drawing" text or svgs.
Curve to Mesh in Reverse - Create central curves from elongated meshes
Curve to Mesh with UVs in Blender - Interesting topic with lots of tips and info
Delaunay Triangulation using GN - Tutorial and link to scene, by Seanterelle
Distance to edge circle packing circle packing. Show setup of nodes. I think it is already implemented in the latest versions.
Easy Edge Mask in Eevee - Give your Eevee renders that extra pop with a non-destructive edge mask
Edge Loops / Face Loops in Geometry Nodes - (Discord link) - An interesting threat started by Shmuel The Noder in erindale.xyz Discord
Even (or constant) radius tip on curves in Geometry nodes - Blender tutorial ENG - There is a custom node by Higgsas for this, but a tutorial with the maths behind is also welcome
Fix UVmap on profile curve in Geometry nodes - Not the typical trim along sweep method
Fluid Simulation via Vertex Animation Textures - two experimental techniques for encoding fluid simulation into Vertex Animation Textures using OpenVAT
Geonodes: which is faster, Set Position or Transform node?
Get edge seams from UV islands in Geometry Nodes (method recommended by Kimmo)
How make the noodles see-through the nodes
How to Actually Use Align Euler to Vector in Blender's Geometry Nodes - 'Align Euler to Vector' node is one that we end up needing a lot, but it's not very intuitive.
How to create proper UV Maps with Geometry Nodes in Blender
How to Easily Import Node Groups in Blender
How to fill mesh polys in Geometry Nodes - Answer with screen-captured nodes also includes the .blend file
How to Use Texture Paint as Selection in Blender Geometry Nodes
Implementing shape keys in Geometry Nodes - Shape Keys = Morph States
Inflated Text - Tutorial and link to scene ($10), by Seanterelle
Loft Curves Properly - Geometry Nodes in Blender 3.6 - By Erindale - Link goes directly to Flipping Indices (if running right to left, to reorder them to run bottom to top... 0,1,2,3, then 4,5,6,7 etc)
Make a Simple Sticky Objects Simulation - To download go to Make a Simple Sticky Objects Simulation NodeGroups
Making Trail effect is easier now in Blender
Making UV Maps in Geometry Nodes
MFGD - Intro to Matrices - Math for Game Developers
Matrix Nodes in Blender 4.2 - The basics behind matrices and how they are used to make transformations in Blender
More on the same topic, unbending leaves, using nodes by Higgas and Bradley (see screencaptures)
Neuron or coral fractal structures using the shortest edge path node - learn to create procedural growing fractal tree-like shapes - Custom node available here ($2)
New FOR EACH in Blender 4.3 Explanied
Obj node caching - (for 4.5) - Great tips for OBJ animation sequences - Read response by Quackers: “You can even squeeze out a lot more performance out of this by not importing an OBJ for every point. Instead, you can use as many points as the sequence length, load all OBJs, and use Instance on Points. Pretty much an 80x speedup for 39k”
How to make an Organic Vein / Neurons system - Write tutorial by Etherlorde, with .BLEND file.
Particle Flow Animation Loop - Set up the particles, animate the particles in looping animation using a noise pattern, use textures to color the particles
Particle flow on Curve - Procedural modifier that will allow you to have any object/particle flow along a curve in a simple geo nodes setup
Photoreal Ocean Simulation in Blender - Tips and tricks to create photoreal ocean simulations using Flip Fluids addon. Enhance simulation with GN, create realistic ocean and foam shaders, and choose the right lighting
Procedural Adaptive Subdivision with curves in Geometry nodes - Free Tutorial - But also nodes available in Gumroad ($2)
Procedural scales with flow control - How to procedurally create scales on an object with geometry nodes and use a hair system to help controlling their orientation
Procedural shrinkwrap modifier for curves - Also: Discussion on Discord Erindale.XYZ on how I can control the tilt of the curve based on the normal of the mesh
Progress on a new Bevel Geometry Node - Work has begun on a remake of Bevel as a Geometry Node. As well as rewriting in C++ for better future maintainability…
Recursive Subdivision Tutorial - By Bradley - Custom Nodes available free at description
Rig with Geometry Nodes? Using a node tree to drive an armature in Blender
Road generator with GN and SDS solving T intersections - To study and check if this can be useful for non-ribbon modeling (something like tree branches)
Rock Waterfall in Blender – No Rigid Bodies, Just Geo Nodes - all done with curves, randomness, ping pong math, and instancing.
Selectively join points using geometry nodes - Find the nearest point (BTW, there's a special node coming to find nearest element not counting self), but also multiple nearest points
Set Material Index Tutorial - A curious (and different) way to apply Materials in Geometry Nodes using Set Material Index
Simple setup to grow Face selection by Khellstr - See response by Quackers explaining WHY this occurs.
Snow Crystal Growth Simulation - Video + Screen captures for setup
Sorting Vertices Tips and Tricks - How to sort elements to control how the geometry is processed, how to reorder with your own logic, and how to specify multiple sort criteria
Supercharge Your Geometry Nodes Workflow - Great technique by Erindale to control inputs/values in different objects/GN with a common “external” setting.
Texture Coordinates in Geometry Nodes - Interesting discussion on this topic in BlenderArtists.org
The "Evil" Domain Node | Curious Blends - Evaluate on Domain - Some other interesting topics on Geometry Nodes here…
The "Evil" Domain Node (continued) | Curious Blends
Transfer an image texture from Geometry Nodes into Materials
Transferring normals from one mesh to another allows smooth transitions between objects, very useful for environment creation - Small video and screen-capture with nodes
Volume Cube - Interesting tips using Smooth Minimum combined with Volume Cube to create blend transitions between objects
Workflow for interesting generative graphics in a processing or cavalry style - Doing 2d mograph using the new 4.3 Grease Pencil and Geometry Nodes - Node graph in reply
---------------------------------------------------------------------------------------------------------
NODE TOOLS
Node-Based Tools - Blender Manual
Node Tools in Blender 4.0 — Blender Developers Blog - Introduction
How to use Node Tools in Blender 4.0 - Developer Hans Goudey walks us through the Node Tools system
Introduction to Node Tools in Blender 4.0 - Short (10m) and concise. With an example.
STEPS TO CREATE A NODE TOOL
Switch to TOOLS (be sure to check N panel > Group > Properties > Enabled TOOL (not Modifier)
Once we created a new Node Tool a new icon appears just right after UV menu (a “document” icon) menu with our Tool, to be applied.
Be sure to generate data that is same type than existing geo (ie: curves, or meshes…)
Use Group Inputs to expose parameters that will be accessed through bottom tool options panel.
---------------------------------------------------------------------------------------------------------
Interesting tip on FOR-EACH feature, by Ilir Beqiri:
---------------------------------------------------------------------------------------------------------
From Quackers, comment on Twitter/X about the FOR-EACH feature:
The For-Each isn't actually always needed, even if you want to modify things on a “per component” way.
EXAMPLE: as both Set Curve Radius and Trim Curve support field inputs (diamond sockets) you can plug values derived from Index directly without any issues.
Just replace the For Each's Element output w/ the base geometry, and the Index output w/ the Index node.
To just add a bit of what the For-Each is usually needed for: it's for applying fields on nodes that only support CONSTANTS (circle sockets).
Notice how fields turn into constants when they go inside the zone, and vice versa when going out of them.
What makes constants and fields different and incompatible is a longer technical discussion. 😅
But yeah, using For-Each to make these two play together is a good rule-of-thumb to remember.
SHADING & LIGHTING [ TOP ]
Materials assignment - Blender Manual (specially important the LINK section)
Principled BSDF - Blender Manual
---------------------------------------------------------------------------------------------------------
Bump Node - How to work with “bump” maps in Blender (to convert to Normal input)
Strength (Visual Influence)
Controls the influence of the bump effect on the surface's normal.
It answers: “How much should this bump affect how the surface reacts to light?”
1.0 = full effect, 0.0 = no effect at all.
Think of this as the intensity of the illusion — like how harsh the lighting trick is, not how tall the bump actually is.
Distance (Physical Displacement Scale)
Controls the scale of height difference in world/virtual units.
It answers: “How far apart is the highest point from the lowest one?”
Larger values = deeper or taller bumps.
Think of this as the actual virtual "height" you're simulating.
When to Adjust What:
STRENGTH Make the bump appear more or less strong without changing shape
STRENGTH Fine-tune how it looks under lighting (less aggressive effect)
DISTANCE Make bumps taller or deeper
DISTANCE Match bump scale to object size (e.g., real-world height of a texture)
Common Practice
Set Distance first — based on your model scale and how tall bumps should appear.
Then tweak Strength to dial in the visual intensity you want under lighting.
Blender’s Distance value in the Bump node is unit-aware, meaning:
• If your scene scale is set to use millimeters, then a value of 1.000 = 1 mm.
• If your scene is in meters, then 1.000 = 1 meter.
---------------------------------------------------------------------------------------------------------
GET "TRUE" DISPLACEMENT USING MICRO-DISPLACEMENT IN CYCLES
This allows for subpixel-level displacement without adding actual geometry subdivisions manually. This results in incredibly detailed surfaces using only displacement maps, and it's much more efficient than traditional subdivision.
Here's a step-by-step guide to setting up Subpixel Displacement (Micro-displacement) in Blender Cycles:
1. Switch to Cycles + Experimental Feature Set
Go to Render Properties (the camera icon).
Set Render Engine to Cycles.
Set Feature Set to Experimental.
2. Set the Displacement Method
In Material Properties, scroll down to the Settings panel.
Under Surface > Displacement, change from Bump Only to:
Displacement Only (for pure geometry displacement), or
Displacement and Bump (for extra detail combining both) < Much better this one!
3. Add a Subdivision Surface Modifier
Add a Subdivision Surface modifier to your object.
Important:
Set the modifier to "Adaptive" (only available in Experimental mode).
In the Subdivision Modifier, check Adaptive Subdivision.
You can leave the "Levels Viewport" low (like 1), as the real detail comes from the adaptive tessellation.
Leave also “Optimal Display” enabled
4. Enable Adaptive Subdivision in Render Settings
Go back to Render Properties.
Under the Subdivision section (now visible due to Experimental mode), ensure:
Dicing Rate Render is set appropriately (e.g., 1.0 or smaller for more detail).
Smaller values = more geometry detail = heavier render.
5. Create and Connect a Displacement Map
Go to the Shader Editor.
Add a Displacement node:
Add > Vector > Displacement (caution: just “Displacement”, not “Vector Displacement”)
Connect:
Your Height Map Texture (e.g., from an Image Texture or Noise Texture) to the Height input.
The Displacement node's output to the Material Output > Displacement input.
Set the Displacement node's:
Midlevel (usually 0.5 for height maps).
Scale to control intensity.
6. Optional: Use Vector Displacement
If you have a Vector Displacement Map (3D displacement), set the Displacement node to Vector and use an RGB map.
7. Render
Render the scene to see the fine subpixel-level displacement. You’ll notice high geometric detail even on flat planes.
Tips for Better Results
Ideally use 16-bit or 32-bit EXR height maps for best results (avoid 8-bit JPG for displacement).
You can preview the displacement in the viewport by enabling Viewport Shading > Rendered.
---------------------------------------------------------------------------------------------------------
To find out on which objects in our scene a certain Material is applied: go to the “Material” tab, click on the small arrow to the right of the list (even if it is blank) and choose “Select by Material”.
---------------------------------------------------------------------------------------------------------
IMPORTANT: for Normal Maps change the Color Space from sRGB (or whatever) to Non-Color
ALSO: After setting the Color Space to Non-Color, don’t forget to plug the normal map through a Normal Map node (not directly into a shader's Normal input). That node interprets the RGB data as a vector. CAUTION: Normal Map node (not a simple “Normal” node)
---------------------------------------------------------------------------------------------------------
CAUTION WITH NORMAL MAPS ON PROCEDURAL GEOMETRY (WITH UVS STORED AT GN LEVEL)
If we apply a normal map on a procedural geometry (created with GN, for example a Grid) then, do NOT specify the UVMap inside the Normal Map node. It doesn’t work on Cycles (!)
Instead, just declare the UVMap at the start of Shading Nodes and leave empty the UV field on the Normal Map node
Why this happens (explanation by ChatGPT):
When you manually connect a UV Map node to the Normal Map node, you're forcing it to use the object-level named UVMap — but your UVs are not at the object level. They're stored as an attribute inside Geometry Nodes, not as a built-in UVMap layer.
In EEVEE, that works because it’s more lenient — it can sometimes "guess" or pull attributes automatically. But Cycles expects exact data.
When you don't plug anything into the "UV" input of the Normal Map node, Blender automatically falls back to the active UVs on the geometry, including attributes passed from Geometry Nodes (via Store Named Attribute).
So in your case:
• You used Store Named Attribute in Geometry Nodes (e.g., uvmap)
• In the shader, you use a UV Map node with that attribute name (great! ✅)
• If you plug this into the Normal Map node, Cycles treats it as a separate vector input and doesn’t link it properly as UVs.
But if you leave the UV input empty, Blender magically uses the active UV attribute (as long as your UV Map node is named correctly, which it is).
---------------------------------------------------------------------------------------------------------
CAUTION WITH NORMAL MAPS ON PROCEDURAL GEOMETRY + REAL DISPLACEMENT AND DEFORMATIONS
This is a common and tricky issue when combining real displacement with deforming geometry in Blender (Cycles). Real displacement modifies actual mesh geometry at render time, and when you deform that base mesh (e.g., with an animated bulge), it can lead to severe shading artifacts—especially if normals or tangent space calculations break due to the displacement no longer aligning with the underlying topology.
Here’s a breakdown of what’s likely happening and what you can do to fix or work around it:
What’s Going Wrong
Real displacement happens after modifiers/deformations.
The displacement can exaggerate small topology issues, especially in areas of high curvature, like your bulge.
Normals and tangent space may get distorted, particularly if the normal map or bump uses Tangent Space.
Self-intersections or non-manifold geometry can occur in highly deformed areas, confusing Cycles’ shading.
Solution & Workaround
Avoid Tangent Space Normal Maps
If using tangent-space normal maps, they can break with real displacement and deformation.
Consider switching to object-space normals if possible.
Or rely more on bump mapping instead of normals in the bulging area.
Or even better: if using a good Displacement Map in “Displacement and Bump” mode produces a good result, consider completely REMOVE the normal map. Lot of times, this Normal could even produce an exaggerated sense of relief (like artificial)
Using just a good Displacement Map set to “Displacement and Bump” can absolutely replace the need for a separate normal map in many cases.
Here’s why that approach works well:
• Displacement and Bump Combines Best of Both
Real displacement adds actual mesh detail (depth, shadowing, silhouette).
Bump mapping (from the same displacement source) simulates finer detail not captured by geometry, enhancing shading at render time.
This setup is physically consistent, avoiding the mismatch that sometimes occurs when using normal maps that "fight" the displaced geometry.
• Normal Maps Are Static by Nature
They don’t adapt to deformation unless baked per frame (which is complex).
Tangent-space normals get especially problematic with animated topology changes.
Removing them avoids that entire layer of issues.
• Cleaner Workflow
One less texture to manage and synchronize.
Less confusion in blending maps and shading artifacts.
---------------------------------------------------------------------------------------------------------
NORMAL VS. HEIGHT MAPS (used as Bump)
If you're not using real displacement, then using only the Normal Map is generally best.
Using Height as Bump on top of a Normal Map can sometimes enhance microdetail, but must be blended carefully.
Using both improperly can cause shading conflicts, double-ups, or a muddy result.
Best Practice in Blender (no real displacement):
If you:
Already have a good-quality Normal Map
Don’t need true displacement (i.e., no real surface deformation)
Then: Use the Normal Map only. It’s sharper, more performant, and handles directional lighting better.
Can I Combine Both (Normal + Bump from Height)?
You can, and sometimes it’s used like this:
Normal Map: mid/high frequency detail (e.g., veins on a leaf)
Height Map as Bump: low-frequency forms (e.g., subtle waviness or curvature)
BUT: This must be done carefully using Blender’s "Bump" node, and combining normals like this:
• Height Map --> Bump Node (connect to Normal input)
• Normal Map --> Normal Map Node --> Normal input of the Bump Node
• Final output of Bump Node --> Shader's Normal input
This adds bump detail on top of the normal, blending them properly.
Caution: Overdoing this can cause lighting artifacts, shadow oddities, or overemphasized relief.
---------------------------------------------------------------------------------------------------------
To apply different maps (or even materials) to FRONT and BACK side of a surface, like both sides of a leaf
Create both materials inside a single material with 2 shaders (Principled BSDF or other), then use Mix Shader an add a Geometry Node (inside Shader Editor), connecting the “Backfacing” socket to the Fac one in the Mix Shader. There is an “Apply different maps to front and back of a plane” sample saved in my files.
---------------------------------------------------------------------------------------------------------
CAUTION with Bump node in Blender 4.4 and up!!!
The new “Filter Width” could ruin your renders if you use the default 0.1 value.
Up to Blender 4.3 this setting was hardcoded as 1.0, and this value could be better for much situations
Blender 4.4.3. Bump Map node Filter Width can mess your surfaces up! - By Christopher 3D
Bump Node & Filter Width, what you need to know - By Christopher 3D - With more in-depth info on this new setting
---------------------------------------------------------------------------------------------------------
CAUTION: Render > Color Management > View Transform defaults to AgX, but in the Blender Studio tutorial they recommend using Filmic.
And in fact, pure R, G or B colors look much more realistic using Filmic than AgX (with the latter they become more “pastel”).
---------------------------------------------------------------------------------------------------------
“Force” and reload all textures Press Alt+R with the mouse cursor over the Shader Editor and Blender will re-load all the textures.
---------------------------------------------------------------------------------------------------------
To copy material on active object to al selected
Select objects, keep one active, the one with the material you want to copy from;
Then, from the drop-down list (below it), choose Copy Material to Selected.
This is also useful to completely remove all materials on all selected object, by choosing an active object free of materials.
Another option is to use Link (Cmd/Ctrl-M) > Materials - But this does NOT works for removing from all selected object (picking on an object without mat)
---------------------------------------------------------------------------------------------------------
TRANSLUCENCY
SUBSURFACE
In Cycles, Subsurface Color is part of the Base Color — the Base Color is used for both surface color and SSS tint.
There is no separate “Subsurface Color” slot anymore in most cases.
Method:
Christensen-Burley = faster, less accurate, good for soft forms.
Random Walk = more accurate, ideal for thin/fine detail.
Random Walk (Skin) = designed for Skin shading
Settings:
• Base Color > Controls what color the subsurface scattering has, not only the base color.
• Subsurface Weight > Controls how much subsurface scattering is applied.
• Radius > Controls the scattering distance per RGB channel.
For example, Radius = (1.0, 0.2, 0.1) means red light scatters farther than blue.
• Scale > Multiplies the radius globally.
• IOR (Index of Refraction)
Controls how much light bends inside the material (like it does in glass or skin).
In SSS, IOR affects the intensity and angle of internal scattering.
Typical values: 1.3 – 1.5 for most plastics and skin.
Higher IOR = stronger internal reflections and more focused scattering.
Think of it as the “density” of the material to light. Water is ~1.33, plastic ~1.45.
• Anisotropy (for Subsurface)
Controls directionality of subsurface scattering.
Values range from:
0.0 → Isotropic scattering (light spreads equally in all directions).
> 0.0 → Forward scattering (light mostly travels forward — like wax or gelatin).
< 0.0 → Backward scattering (light tends to bounce back — useful for thin, fibrous materials).
Example use: Wax, skin, or frosted plastic > try Anisotropy = 0.2 – 0.8
Powdery or soft materials > use lower or zero anisotropy
TRANSMISSION
Simulates clear materials like glass or fully transparent plastic.
Use only if your plastic is see-through, like colored acrylic.
Transmission: Set 0.0 – 1.0 depending on how transparent it should be.
ROUGHNESS
Controls how blurry the reflections are but also how blurry the transparency is.
For frosted/matte plastic: increase Roughness (0.4 – 0.8).
For shiny plastic: lower Roughness.
---------------------------------------------------------------------------------------------------------
ABOUT UVMAPS / TEXTURE COORDINATES IN BLENDER
In Blender, if you do NOT manually connect a Texture Coordinate node or a UVMap to a texture (whether it's procedural like Noise Texture or an Image Texture), the system uses certain default values, but they vary depending on the type of texture:
1. Noise Texture node (or any procedural texture):
If you don't connect any coordinates, Blender defaults to using Generated coordinates.
These coordinates are automatic and based on the bounding box of the object.
They are suitable for procedural shaders because they don't need UV unwrapping.
They work well on objects without defined UVs.
Common example: If you add a sphere and apply a Noise Texture without coordinates, you'll see the texture projects correctly because it uses Generated
2. Image Texture node (image-based texture):
If you don't connect any coordinates, Blender tries to use the object's UV coordinates (typically named in Blender UVMap)
Specifically, it tries to use the first available UV layer of the object.
If the object has no UVs, the texture may not display correctly (it might appear black, distorted, or random).
This is because an image needs specific mapping to know how to "wrap" onto the geometry.
---------------------------------------------------------------------------------------------------------
How to override all materials (only Cycles)
Be sure to select Cycles engine
Go to View Layer tab
Almost at bottom, see that Override section. Open and select your overrides both for Materials and World
---------------------------------------------------------------------------------------------------------
• I think the view transform should be AGX by default, but this is the most realistic I find.
• Colour temperature is a great way of creating realistic lighting by using Kelvins - I have a colour temperature tutorial already.
---------------------------------------------------------------------------------------------------------
LIQUIDS
Liquid inside glass, proper setup for Cycles - A couple of alternatives. #2 seems more accurate/technical, following this other notes: Liquid / glass interface IOR and normals in Cycles
Liquid inside Glass Simulation Tutorial | EASY
Liquid Movement inside a bottle with KennyPhases
Liquids - Creating a Basic Fluid Simulation
---------------------------------------------------------------------------------------------------------
32 procedural textures that use the Wave node in Blender by Sam Bowman - I usually do all this kind of stuff with Substance Designer - Interesting to have a Blender perspective
8+ Blender Lighting Tips to Improve Your Renders
A way to use logic operators in Blender Shader nodes?
And did you use cycles experimental adaptive subdiv for better displacement here? >>> YES
Animated “paint on” effect - Small 1min tutorial
Anisotropy in Blender 4.3 - YouTube by Christopher 3D
Array Lights in Blender - Simple Trick
Better Fur, Hair, and Anime shaders
Blender: How to Rotate HDRI / Environment Texture
Bumps are determined by distance, not by strength
Cleaning the table leaves wipe streaks
Color Management - Blender Developer Documentation - The AgX view transform has been added, and replaces Filmic as the default in new files. This view transform provides better color handling in over-exposed areas compared to Filmic.
Control a Color Ramp Gradient Outside of a Node Group - Another similar tutorial: FULLY Control a color ramp outside a node group in Blender - YouTube
Displacement in real time (for Blender 4.5) - Test by Ilyasse - See node tree on same thread
Edging when doing texturing using Ucupaint addon (metal effect on the edges of painted objects)
Fix for some ugly normal map issues in Blender
Get realistic lights with IES textures - IES-Library: Browse - IES Downloads
Glittering or “brilli-brilli” effect
Hacked procedure to get blur using Shading Nodes (see second post doing it horizontally first then vertical) - Needed Blender 4.4
Had never thought of using this technique for RGB
How to Bake Perfect Normals in Blender - Blender tutorial showing you how to bake a normal map from a high poly model, to a low poly mode (includes starter file)
How to Blur a Texture in Blender (fake & noisy blur, really) - Another technique, also fake and blur
How to create and access custom Node Groups in all your Blender Projects
How to easily make a Wireframe in Blender in 1 Minute
How to make beautiful water shaders in blender
How to Use Light Groups in Blender
Is there an alternative to Random per Island for EEVEE?
It's easier when math does the work (great glow or bloom effect)
Keep the texture scale consistent when scaling stuff in Object Mode
Keyframe DESIGNER exposed parameters using the Substance add-on in your DCC of choice - Here Wes McDermott uses Cinema4D add-on, but this should be also possible with Blender add-on -> TO TEST
Mixing Materials (terrains) - View entire thread
Nebula Setup with Stars Made in Blender Using Raymarching
Normal maps - DirectX vs OpenGL: what's the difference?
Realistic Gaussian beams in Blender - Part 2 (Asset overview) - How to get started using the procedural Gaussian beam shader, which you can download from my Gumroad for free.
Save a node group for later use (various methods, for all Geometry Nodes, Shading Editor, Compositor)
Shader based welding (screenshots to recreate it)
Shader based welding (to buy, $1)
Shader Control with Geometry Nodes
Shampoo Bottle Part 3, UV mapping, texturing, lighting, & rendering - YouTube (DOWNLOADED) In the final part he gives very good advice on lighting and shading (changing parameters).
Should You Micro-fillet? (Plasticity 3d) - Go to the part about how to use the Bevel Shade in Blender
Small tip, link textures. They are amazing in Blender
Switch Node for Blender Materials - Support / Materials and Textures
Texture Coordinates in Geometry Nodes - Interesting discussion on this topic in BlenderArtists.org
Textures Don’t Work on Curves—How to Fix It - If you need to add procedural textures to curves in Blender and want said textures to conform to the form of the curve even while animated
The easiest way to render wireframe
The viewport can shine since 4.2
Those slightly clammy hands left their mark (trace left by fingers on a cell phone screen)
Tip for adding clouds and fog using black and white decals
Using voronoi Texture to create a TV screen
---------------------------------------------------------------------------------------------------------
ADD DECALS AND LOGOS
Adding Decals And Logos To 3D Models (two ways)
How To Add Decals Without Shrinkwrap Modifier in Blender
How to add DECALS and LOGOS (DOWNLOADED)
The correct way to make decals in Blender (NO SHRINKWRAP) - YouTube (DOWNLOADED)
CAMERAS [ TOP ]
Local Cameras
The active camera is normally defined on the scene level, so that it’s the same across all 3D Viewports. However, it’s also possible to make a camera the active one within one Viewport only - LOCAL CAMERA
---------------------------------------------------------------------------------------------------------
ANIMATED CAMERA SWITCHING
While a scene contains only one camera by default, it’s possible to have multiple. You can then bind the cameras to specific time points in your animation to create jump cuts showing different viewpoints
Bind Camera to Markers is a special operator only available in the Timeline. Keymap: Cmd/Ctrl-B (select camera at Outline, call operator over Timeline) The operator allows markers to be used to set the active object as the active camera. IMPORTANT: no need to change the name for these markers, because once we bind a camera to a marker, this one catch his name from camera.
To use this operator, select the object to become the active camera and select a marker to bind the active camera to. If no marker is selected when the operator is applied, a marker will be added. When an object is bound to a marker, the marker will be renamed to the name of the active object. These markers also have a camera icon next to the left of the name to easily distinguish them from other informative markers.
These markers can be moved to change the frame at which the active camera is changed to the object the marker is bound to.
---------------------------------------------------------------------------------------------------------
Change Camera Passepartout Opacity
This is NOT a General Preference, only Passepartout Color is (black)
It's a “per-camera” setting. Go to Camera > Data > Viewport Display > Passepartout Opacity. Change from 0.5 to 0.9
---------------------------------------------------------------------------------------------------------
LENS-SIM ADD-ON - Lens-Sim - Main tutorial - Overview of first part:
Once we convert a Default Camera to a Lens Sim one, the add-on try to inherit main parameters from it:
Focus Distance
Focus Object
Minimum Clipping Distance
F-Stop
The Ray Portal Plane is where we shot rays over this plane. And it's simulating the camera (the sensor?)
We can Scale Camera (and Ray Portal Plane) to see smaller. The camera scale does not interfere with the render image. But it's important not scale down to a very small value (like 0.001), because we could get floating point issues. 0.2 or 0.1 is perfectly fine, in any case.
The most important thing is to consider this as a real camera. Lenses are in real world size.
We shoot rays from the camera (at back) to the portal plane (in front). That means that every object, or any other Lens Sim Camera, that is in the middle will interfere with the rays!
Another important thing: this is an Orthographic Camera that only works (showing Perspective) in Cycles. This means that if we change to Solid View or Eevee, the Field of View will totally change. On those cases, simple press Disable Lenses to return back to regular (perspective) camera view for Wireframe, Solid of Eevee shading.
However, for those case where we have a fish-eye or very distorted lenses, we will find greater differences on Enabling/Disabling Lenses.
Even if we Disable Lenses, once we press F12 for rendering, the lenses will be enabled automatically.
We can have multiple Lens Sim Cameras, just caution not to overlap the area between camera and portal plane, between 2 cameras.
We can Pin the Lens Sim Camera to not loose it when selecting any other object in scene.
With the small Heart we can mark as favorite any Lens
“Best Fit” drop menu sets the camera sensor size. Read the tips on-tool!
• “Best Fit” will fill the largest usable image area with an aspect ratio of 1.777
• “Focal Length” will mimic Blenders focal length. Benefit of this is that we can change our lenses and will maintain the same focal length
• “Sensor Width” allows a manual resizing of sensor.
Button at right allows to rotate camera 90º (convenient for vertical formats, to maintain coherence on settings)
Play with Focal Length when using really anamorphic aspect ratios, to avoid black vignetting.
Distance: take in consideration that not all lenses work for all distances. For this reason, if you choose some extreme distance (or non appropriate for selected lens) the image will “break” into total noise
Enabling “Render Schematics” we can see the real relation between lenses and focal distance, as a kind of helper
---------------------------------------------------------------------------------------------------------
Achieving True Photorealism With Lens Simulation
Simulated Anamorphic Lens in Blender (preview)
Lenses. How to use them properly in Blender
ANIMATION [ TOP ]
Here are some of the best Blender shortcuts combo:
A / Alt-G-R-S
This is: Select All, and then rest all Locations and Rotations to 0.0 and Scale to 1.0
---------------------------------------------------------------------------------------------------------
To switch Cameras along animation use “Bind Cameras to Markers”
Select the object to become the active camera and select a marker to bind the active camera to. Marker > Bind Camera to Marker
Or even better workflow:
You don't even need to create marker nor setting active camera. Just select the camera in the outliner, hit Cmd/Ctrl-B (over the Timeline at a given frame) and marker with selected camera will be created automatically. NOTE: use DOPE SHEET EDITOR or TIMELINE, not Graph Editor
---------------------------------------------------------------------------------------------------------
Channel > Extrapolation Mode > Constant / Linear / Cyclic Shift-E
---------------------------------------------------------------------------------------------------------
Map the new ''View in graph editor" to a hotkey to quickly find your curves (tweet with images)
1) open up prefs
2) go to keymap -> user interface, hit "add new"
3) search graph editor and select
4) assign hotkey (i use F) and turn isolate on
---------------------------------------------------------------------------------------------------------
Write #frame in any parameter to control that with time. Or, for example, #frame*0.1, or #sin(frame*0.1)
(then, open the Drivers Editor to full access)
---------------------------------------------------------------------------------------------------------
Using the new PORTAL node (in 4.2)
Not just duplicate the scene, ray portal can also make it fractal
---------------------------------------------------------------------------------------------------------
Animate Algebra formulas and equations with multiple steps - Using the Typst importer extension https://extensions.blender.org/add-on, here's how to animate algebra in Blender.
Find Lost Keyframes In Blender - YouTube
The 'Child Of' Constraint Demystified
Driver Expressions for Animations in Blender - by Passivestar - How driver expressions can be used for quickly animating stuff
Every Rigid Body Constraint Exampled in 10 Minutes
Film emulation in the viewport compositor
Rigging switchable parents and equipment slots in Blender - YouTube
WHY ARE CONSTRAINTS SO HARD? - Child Of Constraint Explained!
You can use 1 camera per viewport - This is how
PREVIEWS & RENDER [ TOP ]
Principled BSDF - Blender 4.2 Manual
---------------------------------------------------------------------------------------------------------
TO RENDER VIEWPORT OPEN-GL aka “PLAYBLAST”
3D Viewport > View > Viewport Render Animation Viewport Render - Blender Manual
IMPORTANT: remember to check Resolution, Frame Rate, Output Path and Format in OUTPUT panel
Choose FFmpeg Video, but also go to Encoding > Container > MPEG-4 (better than Matroska)
And change Output Quality to High Quality
For the most part, Viewport Render uses the current viewport settings. Some settings are located in the properties of the render engine that is used to render the view.
Solid mode uses the render settings of WORKBENCH; Material Preview mode uses the render settings of EEVEE.
Additionally, some output settings are used too: Resolution / Aspect / Output path / File format
---------------------------------------------------------------------------------------------------------
TIPS FOR FAST CYCLES RENDERING (compiled from different sources)
First of all: launch a first test render with all settings at default.
Then, apply these changes to check if speed is increased, but also if quality is not compromised too much.
In any case: check all this by yourself.
Preferences > System > Cycles Render Devices > OptiX, Enable GPU / Disable CPU
Render > Device > Enable GPU Compute (important to enable this every single time, first time opening in PC coming from Mac)
Render > Sampling > Render > Noise Threshold > from 0.01 to 0.25 (play between 0.1 / 0.5)
Render > Sampling > Render > Turn ON Denoise (try options)
Render > Sampling > Lights > Disable Light Tree
Render > Light Paths > Max Bounces > from 12 to 1/8
Render > Light Paths > Caustics > Disable Reflective & Refractive Caustics (if not necessary)
Render > Performance > Final Render > Enable Persistent Data
Render > Performance > Memory > Tile Size from 2048 to 512
Render > Film > Pixel Filter > Width from 1.5 px to 1.0 px
Render half or quarter frames and use Flowframes - Fast Video Interpolation
---------------------------------------------------------------------------------------------------------
TIPS TO GET BETTER RENDERINGS WITH EEVEE (caution: ChatGPT source)
Enable High-Quality Settings (Render Properties)
Render → Sampling
Increase Render Samples to at least 64–128 (more if needed).
Enable Viewport Denoising (if previewing interactively).
Enable Ambient Occlusion
Increase Distance to match your scene scale.
Use Bent Normals and Only Local for more realistic contact shadows.
Enable Screen Space Reflections
Turn on:
Refraction
Half-Res Trace (turn off for better quality)
Increase Trace Precision
Increase Max Roughness to 1.0 (captures more materials)
Enable Screen Space Global Illumination (SSGI) if available (Blender 3.5+)
Enable Soft Shadows
Increase Cube Size and Cascade Size to 2048 or higher for crisper shadows
Set Bias carefully (too low = artifacts; too high = floating shadows)
Indirect Lighting (GI)
Bake Irradiance Volume or Reflection Cubemap probes manually
Place multiple irradiance volumes for large/complex interiors
Don’t forget to rebake after changes to geometry or lighting
Volumetrics (if used)
Lower Tile Size for better quality
Increase Samples for smoother fog/smoke
Lighting Tips (to Mimic Cycles More Closely)
Use Area Lights or Sun Lamp (not Point unless needed)
Enable Contact Shadows per light for more realism
Simulate bounce light manually with extra subtle fill lights (EEVEE doesn’t do real GI unless using SSGI or baked probes)
Use color-accurate HDRIs and enable Screen Space Reflections + Irradiance Volumes
Materials & Transparency
In Material Settings:
Use Alpha Blend / Alpha Hashed for transparency
Enable Refraction if your material needs it (e.g., glass), and enable it in the SSR panel too
Use Clearcoat, Subsurface Scattering, and Sheen sparingly (not all are perfect in EEVEE)
Advanced
Screen Space Global Illumination (SSGI): A newer feature that simulates bounce lighting similar to Cycles. Works best with:
High sample counts
Proper indirect lighting setup
---------------------------------------------------------------------------------------------------------
EEVEE VIEWPORT VS F12 RENDER: WHAT SHARES AND WHAT DOESN'T (caution: ChatGPT source)
Shared between Viewport and F12 Render:
Most of the Render Settings (in the Render Properties tab) apply to both the interactive viewport render (Z key → Rendered, or Shift+Z) and the F12 render.
So when you tweak these:
Ambient Occlusion
Screen Space Reflections
Shadow Settings
Volumetrics
SSGI
Soft Shadows
Lighting Probes (after baking)
Render Sampling
All of these affect both the viewport and F12.
Not shared or handled differently:
Some settings or behaviors can differ between viewport and F12:
Viewport Sampling: Viewport samples are often lower than Render samples
Go to:
Render Properties → Sampling → Viewport
Increase this if your interactive render is noisy.
Viewport Denoising must be enabled separately:
Render Properties → Sampling → Viewport Denoising
Overlays and Display Settings: The viewport might show things like wireframes, outlines, or other overlays that aren’t present in the final F12 render.
Material and Lighting Preview Modes (Z key): Make sure you’re in Rendered mode (not Material Preview), which uses EEVEE with your actual render settings, not the simplified lookdev setup.
---------------------------------------------------------------------------------------------------------
Render Specific Frames > Ctrl-Shift-F12 (using Loom Add-on) >>> Look add-on preferences
---------------------------------------------------------------------------------------------------------
Use Compositor Alpha Convert node to render “Un-Premultiplied” or “Straight alphas”
Alpha Convert Node - Blender 4.4 Manual
---------------------------------------------------------------------------------------------------------
Render fast tutos:
5 Tips for FASTER 3D Rendering (Blender Cycles) - YouTube - (Downloaded) Not exactly tips to increase Cycles speed, but techniques like multilayer, light groups and so…
How to Render Faster In Blender Cycles - YouTube - (Downloaded) Not bad… Too much cats
The FASTEST Cycles Renders you can get in Blender! - YouTube
Realistic Shading in Blender Explained - YouTube
---------------------------------------------------------------------------------------------------------
Optimization In Blender - 5 Chapters - VERY GOD TIPS, ADVICES AND OVERALL INFO
1. Smaller, faster .blend files
3. Make any Blender viewport smooth - THIS IS TOP NOTCH!
4. Level up your render skills in 10 mins | Advanced Cycles tutorial - ALSO TOP NOTCH!
---------------------------------------------------------------------------------------------------------
Custom Noise Reduction Tip
3 Tips for better renderings in Blender 3.4 - YouTube (2:20)
WARNING, if you leave the “Use Nodes” checkbox activated in Compositing, you will have to deactivate it if you do not want to use it.
---------------------------------------------------------------------------------------------------------
Fix Pink/Purple Blender Missing Textures Issue (and Missing Files in general):
FIRST: To get a Report with all missing files:
File > External Data > Report Missing Files (prepare an Info viewport to read all)
SECOND: To Find/Locate all those missing files:
File > External Data > Find Missing Files > Locate main folder with maps
---------------------------------------------------------------------------------------------------------
DISABLE BACKGROUND FROM CAMERA:
EEVEE/CYCLES - Render Tab > Film > Enable “Transparent”.
ALSO, ONLY IN CYCLES - World Tab > Ray Visibility > Disable Camera
---------------------------------------------------------------------------------------------------------
To render an Object (or Collection) with shadows on a transparent background (Cycles only)
Set Render Engine to Cycles
Still in Render Properties, scroll to the Film section, and Set Film to Transparent (this makes everything except visible objects (and shadows from shadow catchers) transparent.)
Select your Floor object. Go to the Object Properties tab, Scroll down to Visibility > Enable Shadow Catcher.
When you render now, object will be there and the background will be transparent, and only shadows will appear where the floor was.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
To render two separate layers:
• Objects with full transparent background (and no shadows)
• Only the floor shadows
Set Film to Transparent
Put all your Objects into a Collection and your Floor into another Collection
Go to the Outliner
Right-click your Collections in the Outliner > View Layer > Set Indirect Only
This makes them not visible to the camera, but they can still affect shadows, reflections, etc.
To disable this effect: View Layer > Clear Indirect Only
---------------------------------------------------------------------------------------------------------
To See & Control Depth of Field
1. Select Camera > Cam Data > Enable Depth of Field
2. Select Camera > Cam Data > Viewport Display > Enable Show Limits
3. To see Depth on Solid Mode > Viewport Shading > Enable Depth of Field
Play with Focus Distance and Aperture Settings, specially F-Stop & Blades
What is f-stop on a camera? | F-stop photography | Adobe
---------------------------------------------------------------------------------------------------------
How to have an Environment A for reflections & Environment B for the camera background
Use the Light Path trick:
Blender Eevee - Removing Background in Eevee - YouTube
Cycles - Use an HDRI for reflections only, and not have its light affect the scene
---------------------------------------------------------------------------------------------------------
Optimizing Renders > Reducing Noise - Blender Manual
Optimizing Renders > Shader Nodes - Blender Manual
---------------------------------------------------------------------------------------------------------
Transparency
How to Use Eevee Transparency in Blender 4.2 (Tutorial) - GOOD, considering it's EEVEE
Realistic Eevee Glass Shader for Blender 4.2 (Tutorial) + LINK to Realistic Eevee Glass Shader (Free Download)
---------------------------------------------------------------------------------------------------------
Burn into image: dynamic Note value (using Python)
Everything About Volumetrics - Volumetric Settings, Volume Absorption, Volume Scattering, Emission, Mixing With Surface Shaders, Volumetrics with no render time
Render all render passes to files in Cycles (see scene Bose_023_PC.blend > Compositing Tab)
How to Render Millions of Objects in Blender - Using a combination of rigid body simulations, baking and displacement maps
How to Rendering Vibrant Colors with AgX in Blender using the Raw Workflow
---------------------------------------------------------------------------------------------------------
MOTION BLUR
Just enable it at Render > Motion Blur. Leaving all by default does a pretty good job.
DOUBT: 360It is worth segmenting for rendering with MB just those timeline areas where objects or camera goes fast?
It’s not worth splitting the render just for that, because the impact of having Motion Blur enabled in “calm” frames is practically zero.
Cycles doesn’t cast “extra rays” to simulate blur. Instead, it shifts the geometry according to the shutter time and “blends” those positions in the render.
If an object doesn’t move between subframes, the result is identical to having Motion Blur disabled. In those cases, the extra render time is almost nothing.
Eevee applies Motion Blur as a screen-space post-process. There’s no significant overhead when there’s little or no movement, because the shader doesn’t have to stretch pixels much.
Here’s how you can control Motion Blur per object instead of globally for everything in the scene:
Select your object. Go to Properties > Object Properties > Visibility > Motion Blur.
If you disable it, that object will render without motion blur, even if global Motion Blur is enabled.
This is useful if you have some static background geometry, or objects where the blur is negligible, so Blender doesn’t bother calculating them.
---------------------------------------------------------------------------------------------------------
Convert Blender's linear output to logarithmic (Roberto's tip):
Save the EXRs in ACEScg / Linear Rec.709 and then do a simple transformation in Davinci.
Transform to ACES (which is the industry standard) and in DaVinci tell it that what goes in is ACES and that you want to see it in sRGB.
---------------------------------------------------------------------------------------------------------
Very interesting tips about AgX and how to fine tune it (thread)
Related product: Render Raw - Color Correction & Effects - Superhive (formerly Blender Market) - $25
---------------------------------------------------------------------------------------------------------
About the “LOADING RENDER KERNELS (may take a few minutes the first time)”
That should be a one-time process, but it may happen again on a driver upgrade or a new version of Blender.
Cycles Blender kernels are software libraries containing the computing routines necessary to produce the rendered images.
They are part of the Blender source code and included in the installation, not loaded from the internet nor authored by third parties like NVidia. Requiring a network connection, or loading data from the internet without explicit user permission is generally considered against Blender philosophy.
Kernels are targeted for a certain computing device architecture, like CUDA, Optix, HIP, or OneAPI and are included in its installation, you typically can find them under Blender\##\scripts\addons\cycles\lib.
I suspect the reason they need to be loaded is because they are further optimized locally by compiling for your specific device. This should only happen the first time you use them, they are then cached locally for further utilization and should no longer need any loading on subsequent uses.
Local cache for Nvidia Optix devices is likely saved under either C:\Users\<username>\AppData\Local\NVIDIA\OptixCache for Windows, or /var/tmp/OptixCache_** for Linux, much like the DirectX and OpenGL cache next to it.
Reinstalling graphics card drivers, clearing the cache, or using a different version of Cycles with different kernel version that requires recompilation generally triggers the Loading Kernels again for every first use.
RELATED: Fix for slow "Loading render kernels" · Issue #200 · DLR-RM/BlenderProc
---------------------------------------------------------------------------------------------------------
COMPOSITION [ TOP ]
Making custom glare shapes in Blender's compositor - Read the entire thread for great tips and resources
What is bloom? (And how is it simulated?)
Where is BLOOM in Blender 4 2 - Basically you have to go to the compositor and use the glare node (there was a more direct access before…)
Gaze Dependent Simulation of Light Perception in Virtual Reality
Watercolor-like compositing in Blender - YouTube
Depth, mist passes and depth of field in Blender, Nuke, Natron and Fusion
Why Blender 4.4's Video Editor is Revolutionary
IMPORT / EXPORT [ TOP ]
EXPORT TO PAINTER
• IMPORTANT: check normals to find flipped faces, before exporting (mirror operations give that problem frequently)
• Use the Collection Tab > Exporters inside the Properties panel, to export only the content of that Collection.
• Add an FBX and parametrize it. Enable only Geometry and Disable Animation.
• Export two versions, LOW and HIGH, after changing the SDS levels for all objects (use my add-on)
• Define the File Path to be saved side by side to our .blend file (for some reason —to further analysis— I can not store into another child directory…)
• Important to write the extension “.fbx”
//MyScene_LOW.fbx
//MyScene_HIGH.fbx
---------------------------------------------------------------------------------------------------------
From Illustrator to Blender
Just hide layers what you don’t need and export as .SVG - All by default!
---------------------------------------------------------------------------------------------------------
To Pack Resources to copy (and render) to another computer
First of all, File > External Data > Report Missing Files / Find Missing Files
(Open and Info viewport to read persistent results)
Save As > Give another name, example “MyFile_ToRender.blend”
File > External Data > Pack Resources
This ensures all external data is safely embedded in the file
Alternatively, if you want to extract the image maps to a separate folder
File > External Data > Unpack Resources
> Use files in current directory (create when necessary)
SCRIPTING & MATHS [ TOP ]
Go to Scripting Tab > Text Editor > Templates > Python to see lot of small examples. Also the Blender Manifest
Apart from pressing the Arrow, use Alt-P while Text Editor is in focus to call the script opened on it
If you want a Python .PY add-on to be a .ZIP you can just rename it to __init__.py and put it in a folder with the add-on name and then zip that and it can be installed
For an add-on with 1500 lines of code like that you might split it into separate python files to make development more manageable
Create an addon that uses multiple files
How to Convert Your One File Blender Addon to an Addon Package - Blender Market Documentation
Create a Custom Blender Panel with less than 50 lines of Python code
More interesting add-ons by same author, Victor Stepanov: add-ons at main · CGArtPython
And also, more interesting YouTube video tutorials on scripting: CG Python - YouTube
The secret behind Blender’s tool icons - SVGs? PNGs? Nope. They're actual 3D models - “X” Thread
Point, Line, Plane - Various notes and algorithms dealing with points, lines, and planes by Paul Burke
Minimum Distance between a Point and a Line
Minimum Distance between a Point and a Plane
Intersection point of two line segments in 2 dimensions
The shortest line between two lines in 3D
Intersection of a plane and a line
Equation of a plane
The intersection of two planes
Intersection of three planes
Equation of a line in polar coordinates