Skip to content

Add the ability in 3D to collision snap faces to the normal of a target node#106835

Draft
ryevdokimov wants to merge 2 commits intogodotengine:masterfrom
Open-Industry-Project:snap-to-normal
Draft

Add the ability in 3D to collision snap faces to the normal of a target node#106835
ryevdokimov wants to merge 2 commits intogodotengine:masterfrom
Open-Industry-Project:snap-to-normal

Conversation

@ryevdokimov
Copy link
Copy Markdown
Contributor

@ryevdokimov ryevdokimov commented May 26, 2025

Requires and includes: #106794

Related: #100415

#96740 added the ability to snap 3D nodes using collisions. This PR adds the ability to snap nodes to the normal of the target node. When multiple nodes are selected the active node (see: #102176) is designated as the reference node which all others in the selection group will snap relative to it.

Below are the keys that allow you select or cycle through the faces.

	// - Alt+Q: Cycle through all 6 axes (+X, +Y, +Z, -X, -Y, -Z)
	// - Alt+X: Set to +X axis (or Alt+Shift+X for -X axis)
	// - Alt+Y: Set to +Y axis (or Alt+Shift+Y for -Y axis)
	// - Alt+Z: Set to +Z axis (or Alt+Shift+Z for -Z axis)

Note the added information to the text at the bottom left of the viewport.

Single Node:

447661940-99bef30f-8ac8-4544-8005-80bca725977c.1.mp4

Multi-Nodes:

2025-05-27.13-40-29.mp4

@Thepuppetqueen57

This comment was marked as off-topic.

@Lncvrt

This comment was marked as off-topic.

@Thepuppetqueen57

This comment was marked as off-topic.

@Thepuppetqueen57
Copy link
Copy Markdown

hey @ryevdokimov you should make this into a plugin if you can. since theres a good chance this won't get merged.

@ryevdokimov
Copy link
Copy Markdown
Contributor Author

If you want this PR to get attention, so it could potentially get merged I'd recommend testing it and providing legitimate feedback.

See: https://docs.godotengine.org/en/stable/contributing/workflow/testing_pull_requests.html

Blowing up my email inbox doesn't really help lol

@Thepuppetqueen57
Copy link
Copy Markdown

does this work for csg boxes

@ryevdokimov
Copy link
Copy Markdown
Contributor Author

Yes.

2025-07-10.13-30-49.mp4

@ryevdokimov
Copy link
Copy Markdown
Contributor Author

Probably should not use Alt due to numerous amounts of conflicts it has with other navigation schemes, but I will address that if/when #106794 gets merged.

@Saul2022
Copy link
Copy Markdown

Honestly This along with the vertex snapping pr should be added as a new dropbox button at the top right of the transform tools, where upon clicking it you can enable vertex or face snapping automatically without using a shortcult, making it ussable for touchscreen devices, which need even more precission, but that can be for another pr.

@ryevdokimov ryevdokimov marked this pull request as draft March 17, 2026 00:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add face-to-face snapping to the 3D editor

5 participants