Sfoglia il codice sorgente

Left keyframe tangent can now be properly edited in the animation editor

BearishSun 9 anni fa
parent
commit
c036fe4702

+ 1 - 1
Source/MBansheeEditor/Windows/Animation/GUICurveDrawing.cs

@@ -436,7 +436,7 @@ namespace BansheeEditor
             if (curveInfos == null)
                 return;
 
-            tickHandler.SetRange(rangeOffset, rangeOffset + GetRange(true), drawableWidth + GUIGraphTime.PADDING);
+            tickHandler.SetRange(rangeOffset, rangeOffset + GetRange(true), drawableWidth + PADDING);
 
             // Draw vertical frame markers
             int numTickLevels = tickHandler.NumLevels;

+ 5 - 1
Source/MBansheeEditor/Windows/Animation/GUICurveEditor.cs

@@ -606,7 +606,9 @@ namespace BansheeEditor
                                     if (normal.x > 0.0f)
                                         tangent = float.PositiveInfinity;
 
-                                    keyframe.inTangent = tangent;
+                                    keyframe.inTangent = -tangent;
+                                    if(curve.TangentModes[draggedTangent.keyframeRef.keyIdx] == TangentMode.Free)
+                                        keyframe.outTangent = -tangent;
                                 }
                                 else
                                 {
@@ -614,6 +616,8 @@ namespace BansheeEditor
                                         tangent = float.PositiveInfinity;
 
                                     keyframe.outTangent = tangent;
+                                    if (curve.TangentModes[draggedTangent.keyframeRef.keyIdx] == TangentMode.Free)
+                                        keyframe.inTangent = tangent;
                                 }
 
                                 curve.KeyFrames[draggedTangent.keyframeRef.keyIdx] = keyframe;