コード例 #1
0
 public override void setCurrentData(TimelineData data)
 {
     if (propertiesForm.EditInterface != null)
     {
         propertiesForm.EditInterface.OnDataNeedsRefresh -= editInterface_OnDataNeedsRefresh;
     }
     keyframe = ((OffsetKeyframeData)data).KeyFrame;
     propertiesForm.EditInterface = keyframe.EditInterface;
     propertiesForm.EditInterface.OnDataNeedsRefresh += editInterface_OnDataNeedsRefresh;
     mainWidget.Height = propertiesForm.Height;
 }
コード例 #2
0
        public void blendFrom(OffsetModifierKeyframe previousFrame, float percentage, SimObjectFollowerWithRotation follower)
        {
            var simplePreviousFrame = previousFrame as SimpleOffsetModifierKeyframe;

            if (simplePreviousFrame != null)
            {
                follower.TranslationOffset = simplePreviousFrame.translationOffset.lerp(ref translationOffset, ref percentage);
                follower.RotationOffset    = simplePreviousFrame.rotationOffset.nlerp(ref rotationOffset, ref percentage);
                follower.computePosition();
            }
        }
コード例 #3
0
 void trackFilter_AddTrackItem(string name, Object trackUserObject)
 {
     if (offsetSequence != null)
     {
         OffsetModifierKeyframe keyframe = offsetSequence.createKeyframe();
         if (Player != null)
         {
             keyframe.deriveOffsetFromFollower(Player.Follower);
         }
         keyframe.BlendAmount = timelineView.MarkerTime / Duration;
         offsetSequence.addKeyframe(keyframe);
         offsetSequence.sort();
         addToTimeline(keyframe);
     }
 }
コード例 #4
0
        public void blendFrom(OffsetModifierKeyframe previousFrame, float percentage, SimObjectFollowerWithRotation follower)
        {
            var orbitPreviousFrame = previousFrame as OrbitOffsetModifierKeyframe;

            if (orbitPreviousFrame != null)
            {
                Vector3    orbitTranslationOffset          = orbitPreviousFrame.orbitTranslation.lerp(ref orbitTranslation, ref percentage);
                Quaternion orbitRotationOffset             = orbitPreviousFrame.orbitRotation.nlerp(ref orbitRotation, ref percentage);
                float      radiusOffset                    = orbitPreviousFrame.orbitRadius.interpolate(orbitRadius, percentage);
                Quaternion orbiterAdditionalRotationOffset = orbitPreviousFrame.orbiterAdditionalRotation.nlerp(ref orbiterAdditionalRotation, ref percentage);

                follower.TranslationOffset = orbitTranslationOffset + Quaternion.quatRotate(orbitRotationOffset, orbitStartDirection * radiusOffset);
                follower.RotationOffset    = orbitRotationOffset * orbiterAdditionalRotationOffset;

                follower.computePosition();
            }
        }
コード例 #5
0
 public void removeFrame(OffsetModifierKeyframe frame)
 {
     keyframes.Remove(frame);
 }
コード例 #6
0
 public void addKeyframe(OffsetModifierKeyframe frame)
 {
     keyframes.Add(frame);
 }
コード例 #7
0
 public OffsetKeyframeData(OffsetModifierKeyframe keyframe, OffsetModifierSequence sequence, OffsetSequenceEditor editor)
 {
     this.keyframe = keyframe;
     this.sequence = sequence;
     this.editor   = editor;
 }
コード例 #8
0
 internal void addToTimeline(OffsetModifierKeyframe state)
 {
     timelineView.addData(new OffsetKeyframeData(state, offsetSequence, this));
 }