Snapping, with align-rotation not working properly

I’m experiencing a problem trying to snap an object to another object.

I have done the following:

  • Turn on Face Snapping with align rotation to target (Figure 1)
    image

  • Snap 3D cursor to the face I want (Figure 2), which also reflects the desired orientation

  • Set object origin to 3D cursor

  • Attempt to snap object to a newly created plane

Result:

Can anyone help me figure out what I’m doing wrong here? Thank you in advance!

Align rotation to target depends on the applied rotation of the mesh.
If your object is rotated but your applied rotation is 0 0 0 degrees for x, y and z. Blender will think your object is upright even if it is rotated. Blender won’t see your mesh as rotated if you rotate it in edit mode.

An easy way to fix this is the following. I am just going to call your black object ‘black’ and your plane on the ground ‘gplane’ for reference.

1.First create a new plane, select the new plane and use the align rotation snap to align the plane to ‘black’.

2.Now join ‘black’ to the new plane (select ‘black’ first and then the new plane and press ctrl+J). ‘black’ will now inherit the actual rotation of the new plane.

3.Go into edit mode and select the vertices of new plane and delete them. Now you can select ‘black’ in object mode and use align rotation snap to align ‘black’ to ‘gplane’

Hi GrimZA, thanks for your response;

Unfortunately this doesn’t seem to work, because the rotation and transformation on the source object (the EDIT: octagon (oops)) is 0,0,0, and the new plane won’t snap to the old object either - both objects are 0,0,0.

Funny, after I posted my reply just now, an ad popped up on the right for this plugin, which I think I’m going to buy. -_-

EDIT: This plugin shows precisely what I’m trying to do, which is separate geometry from an existing object, and then align-and-zeroize with the Global XYZ to “lay flat”.

I’ve tested it myself and it works.

I will post a video after work today.

Hmmm, that’s weird, I just tested it it and it doesn’t.

Here’s the steps to replicate:

  1. Use addon “Geodesic Domes” to create a 50-meter radius Icosphere of type “triangles”, with resolution of “4”.

  2. Select vertex intersection point, and dissolve, to form octogon face.

  3. Select new octogon face, Duplicate, Separate into new object

  4. New object will be similar as shown above, and should have 0,0,0 transform/rotation.

Just to be sure we are on the same page; You want to snap the black object to the plane on the bottom and rotate it so its face sits parallel to the face of the plane?

Correct - I am building an asset-library with which to drag-and-drop assets onto a very large model, and I’ve found it works best if everything is “laying flat” as if it were with default rotation/orientation.

Ok, so lets try another method.

In object mode, create a new plane and snap it to the face of the black object so it sits pararell to it. The rotation of the plane should have changed from 0 0 0 to whatever the rotation of the black object is. Now copy these rotation values from the plane and paste them into the black object.

If it is now rotated correcly, you can apply the rotation.

1 Like

I can see why people wrote plugins for this - this type of object alignment is built-in to Maya -_-

EDIT: I misread your instructions, I’ll try that.

There probably is a feature in Blender that does what you want but it’s probably hidden somewhere.

It’s hard to keep track since i don’t read the release notes on every new version of Blender.

I’m not sure why you mention the 3D cursor, you should be able to simply grab and snap the object directly onto the plane without involving the 3D cursor at all. Can you show more of your interface ? Specifically the object transforms and the local transform gizmo ?

All rotation / scale / transform values are “0” on all three axis for both objects.

EDITed to add: You can find steps to replicate the problem above also.

Wait, so with (0,0,0) rotation your object is at an angle by default, right? And you want it to lay flat?
If so, you can snap it’s Origin to its own planes:

image

This will help you to point Z-axis in the right direction at least. Other rotations and Origin position can be adjusted after that

1 Like

Ah, I see. The best practice would be to re-orient the mesh so that it is axis-aligned, then you’ll be able to clear transforms so the object will be upright with its transforms at zero (which is usually important). What @stray says, then alt+r

1 Like

Unfortunately this technique does not work either, because attempting to manually align this mesh with the world is “best guess” (the rotation of this object is off by a number of decimal points of a single degree).

I’ve tried each of the methods listed above and they don’t work.

Steps to reproduce:

  1. Generate a Sphere primitive of your choice (in this case, icosphere).

  2. Duplicate / Separate one face from your new Sphere object
    2a. Examine new object Translation / Rotation / Scale - you will see all three values are zeroed.

  3. Add “Solidify” modifier (if you wish - I was able to replicate this without the Solidify modifier) and Apply the modifier

  4. Create a new Plane object at the default World Origin coordinates

  5. Attempt to snap the extracted Face object to the new Plane object you have created, using the Grab tool and making sure “Snap to Face” and “Align Rotation with Target” are turned on.

Result: The Extracted Face object will move its origin-point to that of the newly created plane, but the rotation won’t change, because the existing rotational values of the extracted Face Object are 0,0,0.

Well all of these tips should work. At least to some degree. There are some minor problems left in these and how its done in blender is not the nicest way to do it, but here is your example.

I think your problem is, that you have to be aware that you snap the helper, not the target! And if you join them take care of the selection order.

Another irritating lack of core functionality in Blender - this type of stuff is what’s stopping a lot of 3D artists with backgrounds in other commercial packages (Maya, 3DS, Lightwave, etc) from adopting Blender. Easily aligning two objects like this, irrespective of their starting conditions, is core functionality for a suite like this: an artist shouldn’t have to fight with the interface or the functions to make what they want to make. -_-

Well yeah its not the nicest way as I already said, but its not lacking.

That’s a workaround, it isn’t one-click functionality like the other packages I mentioned.

Anyway, the plugin I linked above seems to do the trick. If anyone else runs into this problem, I’d recommend buying the plugin rather than fighting with these extra setps.