本文整理匯總了C#中UnityEngine.Keyframe.SetKeyBroken方法的典型用法代碼示例。如果您正苦於以下問題:C# Keyframe.SetKeyBroken方法的具體用法?C# Keyframe.SetKeyBroken怎麽用?C# Keyframe.SetKeyBroken使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類UnityEngine.Keyframe
的用法示例。
在下文中一共展示了Keyframe.SetKeyBroken方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: AddKeyframeToCurve
/// <summary>
/// Adds the keyframe to curve.
/// </summary>
/// <param name="animationCurve">Animation curve.</param>
/// <param name="animatedClip">Animated clip.</param>
/// <param name="binding">Binding.</param>
/// <param name="value">Value.</param>
/// <param name="type">Type.</param>
/// <param name="time">Time.</param>
public static void AddKeyframeToCurve(AnimationCurve animationCurve, AnimationClip animatedClip, EditorCurveBinding binding, float value, Type type, float time)
{
//frame comparing (frame=(int)(time*animatedClip.frameRate)
int keyframeIndex = Array.FindIndex (animationCurve.keys, (itm) => (int)(itm.time * animatedClip.frameRate) == (int)(time * animatedClip.frameRate));
Keyframe key = default(Keyframe);
if (keyframeIndex < 0) {
if (type == typeof(bool) || type == typeof(float)) {
key = new Keyframe (time, value);
if (type == typeof(bool)) {
//CurveUtility.SetKeyTangentMode (ref key, 0, TangentMode.Stepped);
//CurveUtility.SetKeyTangentMode (ref key, 1, TangentMode.Stepped);
//CurveUtility.SetKeyBroken (ref key, true);
key.SetKeyTangentMode (0, TangentMode.Stepped);
key.SetKeyTangentMode (1, TangentMode.Stepped);
key.SetKeyBroken (true);
} else {
int num = animationCurve.AddKey (key);
if (num != -1) {
animationCurve.SetKeyModeFromContext (num);
}
}
}
} else {
//??? maybe I should add new time too
//animationCurve.keys[keyframeIndex].value=value;
key = animationCurve.keys [keyframeIndex];
key.value = value;
animationCurve.MoveKey (keyframeIndex, key);
}
//Save changes
SaveCurve (animationCurve, animatedClip, binding);
}