public static SetScaleDelta ( Vector3 scaleDelta, |
||
scaleDelta | Vector3 | |
pivotRotation | ||
Résultat | void |
public static void SetScaleDelta(Vector3 scaleDelta, Quaternion pivotRotation)
{
if (s_MouseDownState != null)
{
SetLocalHandleOffsetScaleDelta(scaleDelta, pivotRotation);
for (int i = 0; i < s_MouseDownState.Length; i++)
{
TransformData data = s_MouseDownState[i];
Undo.RecordObject(data.transform, "Scale");
}
Vector3 handlePosition = Tools.handlePosition;
for (int j = 0; j < s_MouseDownState.Length; j++)
{
if (Tools.pivotMode == PivotMode.Pivot)
{
handlePosition = s_MouseDownState[j].position;
}
if (individualSpace)
{
pivotRotation = s_MouseDownState[j].rotation;
}
s_MouseDownState[j].SetScaleDelta(scaleDelta, handlePosition, pivotRotation, false);
}
}
}
public override void ToolGUI(SceneView view, Vector3 handlePosition, bool isStatic) { Quaternion targetRotation = (Selection.transforms.Length <= 1) ? Tools.handleLocalRotation : Tools.handleRotation; TransformManipulator.DebugAlignment(targetRotation); if (Event.current.type == EventType.MouseDown) { s_CurrentScale = Vector3.one; } EditorGUI.BeginChangeCheck(); TransformManipulator.BeginManipulationHandling(true); s_CurrentScale = Handles.ScaleHandle(s_CurrentScale, handlePosition, targetRotation, HandleUtility.GetHandleSize(handlePosition)); TransformManipulator.EndManipulationHandling(); if (EditorGUI.EndChangeCheck() && !isStatic) { TransformManipulator.SetScaleDelta(s_CurrentScale, targetRotation); } }