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’
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”.
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.
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.
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 ?
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:
This will help you to point Z-axis in the right direction at least. Other rotations and Origin position can be adjusted after that
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
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:
Generate a Sphere primitive of your choice (in this case, icosphere).
Duplicate / Separate one face from your new Sphere object
2a. Examine new object Translation / Rotation / Scale - you will see all three values are zeroed.
Add “Solidify” modifier (if you wish - I was able to replicate this without the Solidify modifier) and Apply the modifier
Create a new Plane object at the default World Origin coordinates
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. -_-
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.