UnityEditor.TransformManipulator.SetScaleDelta C# (CSharp) Method

SetScaleDelta() public static method

public static SetScaleDelta ( Vector3 scaleDelta, Quaternion pivotRotation ) : void
scaleDelta Vector3
pivotRotation UnityEngine.Quaternion
return 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);
                }
            }
        }

Usage Example

示例#1
0
        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);
            }
        }
All Usage Examples Of UnityEditor.TransformManipulator::SetScaleDelta