mirror of
https://github.com/JannisX11/blockbench.git
synced 2025-01-30 15:42:42 +08:00
Fix transform space issues of pivot tool
This commit is contained in:
parent
c3e3c7eb4a
commit
cc25a57f4f
@ -1300,32 +1300,23 @@
|
||||
beforeFirstChange(event)
|
||||
|
||||
var difference = point[axis] - previousValue
|
||||
|
||||
if (Format.bone_rig && Group.selected) {
|
||||
if (Modes.edit) {
|
||||
var origin = Group.selected.origin.slice();
|
||||
origin[axisNumber] += difference;
|
||||
Group.selected.transferOrigin(origin, true);
|
||||
} else if (Modes.animate) {
|
||||
Group.selected.origin[axisNumber] += difference;
|
||||
}
|
||||
} else {
|
||||
var origin = Transformer.rotation_object.origin.slice()
|
||||
|
||||
if (transform_space == 0) {
|
||||
|
||||
|
||||
let vec = new THREE.Vector3();
|
||||
vec[axis] = difference;
|
||||
|
||||
var rotation = new THREE.Quaternion();
|
||||
vec[axis] = difference;
|
||||
Transformer.rotation_object.mesh.parent.getWorldQuaternion(rotation);
|
||||
vec.applyQuaternion(rotation.inverse());
|
||||
|
||||
origin.V3_add(vec.x, vec.y, vec.z);
|
||||
|
||||
} else {
|
||||
origin[axisNumber] += difference;
|
||||
}
|
||||
|
||||
if (Format.bone_rig && Group.selected) {
|
||||
Group.selected.transferOrigin(origin, true);
|
||||
} else {
|
||||
selected.forEach(obj => {
|
||||
if (obj.transferOrigin) {
|
||||
obj.transferOrigin(origin);
|
||||
|
Loading…
Reference in New Issue
Block a user