1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
|
.. _bpy.types.TransformOrientation:
.. _bpy.types.SpaceView3D.transform_orientation:
.. TODO/Review: {{review|Need to change and explain the behavior of the transform orientation.
It is toggled between the chosen orientation and
the global orientation when transformations are made by shortcuts}}.
*********************
Transform Orientation
*********************
.. reference::
:Mode: Object and Edit Modes
:Panel: :menuselection:`Header --> Transform Orientation`
:Shortcut: :kbd:`Comma`
The *Transform Orientation* determines the orientation of the
:doc:`Object Gizmo </editors/3dview/display/gizmo>`.
Changing this orientation can make it easier to perform
transformations in the direction you want.
.. figure:: /images/editors_3dview_controls_orientation_demo.png
:align: center
With the default Global transform orientation (left) it's tricky to
move the plane in the direction it's facing, but with Local (right)
it's easy.
The Transform Orientation can be changed using a
selector in the 3D Viewport's header:
.. figure:: /images/editors_3dview_controls_orientation_menu.png
Transform Orientation selector.
The orientation can also be changed temporarily while performing
a hotkey-based transformation with
:doc:`axis locking </scene_layout/object/editing/transform/control/axis_locking>`.
For example, if you first press :kbd:`G` to start moving an object,
then :kbd:`X` to lock to the orientation's X axis, and finally :kbd:`X` a second time,
you'll get a lock to an alternative orientation:
the Local orientation if it was Global previously, and the Global orientation
otherwise.
In addition to the builtin orientations,
you can also define your own (see `Custom Orientations`_ below).
.. _bpy.types.TransformOrientationSlot.type:
Orientations
============
Global
Align the transformation axes to world space.
The world axes are shown by the :ref:`Navigation Gizmo <navigation-gizmo>`
in the top right corner of the viewport, as well as the *Grid Floor*.
Local
Align the transformation axes to the active object's orientation.
Normal
In Edit Mode, orient the transformation axes so that the Z axis of the gizmo
matches the average :doc:`Normal </modeling/meshes/editing/mesh/normals>`
of the selected elements.
In Object Mode, this is equivalent to *Local* orientation.
Gimbal
Orient the transformation axes to visualize the workings of the object's
:ref:`Rotation Mode <bpy.types.Object.rotation_mode>`.
This is specifically useful for the Euler modes,
where the object is rotated one axis at a time: the rotation axes don't
stay perpendicular to each other and might even overlap, a phenomenon
known as :term:`gimbal lock` that complicates animation.
View
Align the transformation axes to the view (meaning they change as you orbit around):
- X: Left/Right
- Y: Up/Down
- Z: Towards/Away from the screen
Cursor
Align the transformation axes to the :doc:`3D Cursor </editors/3dview/3d_cursor>`.
Parent
Align the transformation axes to the :doc:`Parent </scene_layout/object/editing/parent>`.
Examples
--------
.. list-table:: Cube with the rotation gizmo active in multiple transform orientations.
* - .. figure:: /images/editors_3dview_controls_orientation_manipulator-global-1.png
Default cube with Global transform orientation selected.
- .. figure:: /images/editors_3dview_controls_orientation_manipulator-global-2.png
Rotated cube with Global orientation, gizmo has not changed.
- .. figure:: /images/editors_3dview_controls_orientation_manipulator-local.png
Local orientation, gizmo matches the object's rotation.
* - .. figure:: /images/editors_3dview_controls_orientation_manipulator-normal.png
Normal orientation, in Edit Mode.
- .. figure:: /images/editors_3dview_controls_orientation_manipulator-gimbal.png
Gimbal transform orientation.
- .. figure:: /images/editors_3dview_controls_orientation_manipulator-view.png
View transform orientation.
* - .. figure:: /images/editors_3dview_controls_orientation_manipulator-parent.png
Parent transform orientation. Cube parented to rotated empty.
- ..
- ..
.. _bpy.types.TransformOrientation.name:
.. _bpy.ops.transform.delete_orientation:
Custom Orientations
-------------------
.. reference::
:Mode: Object and Edit Modes
:Panel: :menuselection:`Header --> Transform Orientation`
You can define custom transform orientations using objects or mesh elements.
Custom orientations defined from an object use the *Local* orientation of that object,
whereas those defined from mesh elements (vertices, edges, faces)
use the average *Normal* orientation of those elements.
.. figure:: /images/editors_3dview_controls_orientation_custom.png
Transform Orientation panel.
The *Transform Orientation* panel, found in the header of the 3D Viewport,
can be used to select, add, remove, and rename transform orientations.
The default name for these orientations is derived from the selection.
If it's an object it will take that object's name,
if it's an edge it will be titled "Edge", and so on.
.. _bpy.ops.transform.create_orientation:
Create Orientation
^^^^^^^^^^^^^^^^^^
To create a custom orientation, select an object or mesh element(s) and
click the "+" button in the *Transform Orientation* panel.
.. figure:: /images/editors_3dview_controls_orientation_custom-name.png
Create Orientation :ref:`bpy.ops.screen.redo_last` panel.
Right after creating the orientation,
the *Create Orientation* :ref:`bpy.ops.screen.redo_last` panel gives a few options:
Name
Text field for naming the new orientation.
Use View
The new orientation will be aligned to the view space.
Use After Creation
The new orientation stays selected.
Overwrite Previous
If the new orientation is given an existing name, a suffix will be added
to it's name to avoid overwriting the existing orientation,
unless *Overwrite Previous* is checked, in which case it will be overwritten.
Delete Orientation
^^^^^^^^^^^^^^^^^^
To delete a custom orientation, simply select it and click the × button.
|