ZBrushCentral

Global vs. local rotation help?

I know the subject prob. makes no sense, adn I hope I can explain what I’m trying to figure out, so here goes…

I’m using the various modeling tool zscripts that allow you to switch to a top/front/right “view”. Yes, I come from a 3D application background, and I’d like to retain as much of my workflow developed over the years as possible.

The problem is, I’m having a hard time understanding how rotation trqansformations are applied and stored to objects when they are created.

For example, I create a sphere3D object by clicking and dragging on the canvas. I want the poles to be at the “top” and “bottom”, so I use the deformation tools under the modifiers pallet to rotate the object where I want it.

That is, I want my front view to have the poles at the top and bottom. I want the x-axis to be right/left, y-axis to be up/down, z-axis to be in/out.

The problem is that when I choose the top/right/front options on various modeling tools, it rotates the object so that it is positioned as it was wehn the object is created. That is the “front” view has the sphere3d poles looking at me rather than on the “top” and “bottom”

I know that somehow I’m getting screwed up because of the interplay of global coordinates and object-relative coordinates. In my mind, the X-axis is right left, and if I rotate the object around in XYZ space then want to constrain to the X axis, I want it constrained to the X-axis relative to the screen plane, not the object. Help?

Next…

Another problem is that when I rotate an object around, it seems that all transformations, symetry etc. is in object space, not a global space. Is there a way to rotate an object to a position that I want it in, and then tell zBrush that I want the object to change it’s local coordinates and rotation values to a world-based value.

Example: I create a sphere3D, rotate it so that when looking at it from the front, with the z-axis going in/out of the screen plane, it’s at a 45 degree angle, turn on X-sym, the mirrored dots will be at a 45 degree angle (the one on left will be above the one on the right). I want to tell zbrush," OK, I’ve rotated my object into an arbitrary position, and now I want you to forget the stored rotation value for the object, reset it, and reapply a global/world system. So that now when I use X mirrored symetry the red dots are directly across from each other. Please tell me that this makes some sense to someone.

I believe that the key to both of your questions lies in the fact that Deformations take place relative to the Tool preview at the top of the Tool palette. These also affect the model itself, rather than simply the position that it is drawn in on the canvas.

So if you want to rotate the model so that the poles are aligned to the Y axis, then use Tool>Modifiers>Deformation>Rotate X 90. When you do so, any time you draw the model on the canvas the poles will be at the top and bottom. In addition, if you have a copy of it currently in edit mode on the canvas, it will rotate instantly to reflect the deformation.

As I said, the deformations all apply relative to the preview. If you rotate the preview view, then the deformations will affect the model differently.

The bottom line is that Deformations always affect the model permanently and act relative to the preview orientation. On-canvas rotations, movements, and resizes only affect the model relative to the canvas rather than affecting the model itself.

You can learn more about the preview window in the ZBrush manual.

OMG! Now it makes sense. I knew it had something to do with how the initial model’s info was stored. And I note that you can modify the “preview” view, click the store button to fix the offsets.

So as I understand it, the tool is the master object, and any appearance of the tool on the canvas is essentially an instance of that object?

Follow up…

Is it possible to transform the object on the canvas, and have it’s values copied to the tool’s values in the preview pallet?

When editing the model, all changes to the model are the displayed in the preview palette. So changes you make are live. Other than that, I am affraid I am not following. :frowning:

To your latest question, I’d say both yes and no. No because currently you can’t, but yes because I think you could make a ZScript to convert it for you. The easiest thing to do though is just use the regular Deformers. :slight_smile:

While the model is in Edit Mode on the canvas, any changes that you make there will be reflected on the Master tool in the Tool palette. You are editing the master. Once the object becomes snapshot to the canvas (converted to pixols), it becomes what you are thinking of as an instance while the master remains in the Tool palette.