= Add Object tool
A new set of tools for adding objects in a visual and interactive way using the new active tools system in Blender 2.8.
- In either //Object mode// or// Edit mode//, users can use the Add Primitive tools, found in the toolbar:
- Once the tool is active, a set of Tool Settings appear in the top bar & tool settings:
- The user can now drag anywhere in the viewport to drag out an object. For the Cube, Cone, Cylinder and Torus, there is a two step process: You drag once to define the base, and when you let go, a secondary mouse movement defines the height.
From here, gizmos allow user to adjust the base and height of the primitives using these handles:
* //Some of the primitives have variants, such as UV Sphere/Icosphere/Quadsphere//
* **Spawn From**
* Surface (Default) //This projects the mouse cursor onto the geometry and uses it's position.// //If there is no geometry, fall back to world grid. //
* 3D Cursor //This will use the location of the 3D cursor, ignoring the mouse cursor.//
* Axis Plane //This projects the mouse cursor onto a plane defined by the current 3D orientation and axis.//
* [+X, +Y, +Z, -X, -Y, -Z]. //All Orientations have an axis enum, except for instances we think it doesn't make sense to show it - eg cube.//
* Center //The object scales from the center of the geometry//
* Base //The object scales from the base of the geometry//
* X & Y Segments of the next added object
* The **orientation** will follow the Scene Orientation setting. If the scene orientation is set to Normal, objects will orient themselves from the normal of the surface you drag on, but if it's set to Scene, they will always be oriented according to the scene orientation, or example.
* For the 3D Cursor Axis Plane position feature, we may want to investigate a plane preview, and snapping abilities - a reference for how it might work:// https://www.youtube.com/watch?v=qbK9al4pMbE
* Ctrl snaps the size to increments
* Holding Alt while dragging works as a shortcut toggle the origin (Base vs Center)
== Animated example
(In this case, the Orientation is set to Normal and the Placement is set to Surface)