Ejemplo n.º 1
0
        private void DrawFactorHandle(BulgeDeformer bulge)
        {
            var direction = bulge.Axis.up;

            var center        = bulge.Axis.position + (bulge.Axis.forward * ((bulge.Top + bulge.Bottom) * 0.5f));
            var worldPosition = center + direction * ((bulge.Factor + 1f) * 0.5f);

            DeformHandles.Line(center, worldPosition, DeformHandles.LineMode.LightDotted);

            using (var check = new EditorGUI.ChangeCheckScope())
            {
                var newWorldPosition = DeformHandles.Slider(worldPosition, direction);
                if (check.changed)
                {
                    var newFactor = DeformHandlesUtility.DistanceAlongAxis(bulge.Axis, bulge.Axis.position, newWorldPosition, Axis.Y) * 2f - 1f;
                    Undo.RecordObject(bulge, "Changed Factor");
                    bulge.Factor = newFactor;
                }
            }
        }
Ejemplo n.º 2
0
 void Start()
 {
     bulge = GetComponentInChildren <BulgeDeformer>();
 }