More information on the background of the environment being used in the video : Game Dev Series
Simple & Fast – Align By Faces
More Options & Slightly Longer – Precise Align
So here’s a quick tip and/or trick for advanced orientating of objects so that we can align any face from one object to meet up and match with any face on a second object.
Select the face you want to align up with the other object’s face. Open up the properties sidebar (N) and then scroll down to the bottom find the transform orientations, click the plus icon to create a new transform orientation based on the face selection.
Create a new cube (newly created objects are by default already nicely oriented to the world), however we want to rotate it to be in alignment with the custom orientation that we just created.
With the cube selected in object mode go > Object > Transform > Align to Object Transform
Select the pipe mesh and then shift select the now rotated (aligned to the custom orientation) cube and press Ctrl P to parent the pipe to the cube.
Set the rotation values of the parent cube now back to zero. Shortcut is ‘Alt R’.
Select the pipe and clear the parent with Alt P, choose to keep the transformation.
Apply the rotation on the pipe with Ctrl A > Rotation. This will not alter the look of the pipe mesh though it will reset the rotation values to zero making the local orientation of the pipe mesh now manageable on at least one axis.
In the header of the 3d view set the snapping to face, and enable the align rotation button to the right.
Then press G to move, and hold ctrl to enable the snapping and move your cursor over the face that you want to snap to.
At this point you can tweak the position. In this case the object is facing the wrong way so I can simply rotate it around 180 degrees on the global z axis by pressing R > Z > 180.
Check the video for more info or hit the comments for more! 🙂 Aidy.
ADDITIONAL NOTES :
Also worth a look are these collections of cool addons by 1D_Inc
And check out another cool method of alignment here from the ever awesome Max Puliero.