版本:Unity 6 (6000.0)
语言英语
  • C#

Keyframe.inWeight

建议更改

成功!

感谢你帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的建议,但我们确实会阅读用户建议的每项更改,并会在适用情况下进行更新。

关闭

提交失败

由于某种原因,我们无法提交你建议的更改。请在几分钟后<a>重试</a>。感谢你花时间帮助我们提高 Unity 文档的质量。

关闭

取消

public float inWeight;

说明

设置此关键帧的传入权重。传入权重会影响从前一个关键帧到此关键帧的曲线的斜率。

权重是 0 到 1 之间的值。将 weightedMode 设置为 WeightedMode.InWeightedMode.Both 以在计算传入曲线的斜率时包括权重。

其他资源:outWeight

using UnityEngine;

public class KeyFrameWeightExample : MonoBehaviour { AnimationCurve animCurve = null;

void Start() { Keyframe[] ks = new Keyframe[3];

ks[0] = new Keyframe(0, 0); ks[0].weightedMode = WeightedMode.In; ks[0].inWeight = 0.5f;

ks[1] = new Keyframe(4, 0); ks[1].weightedMode = WeightedMode.In; ks[1].inWeight = 0f; // Zero weight. The segment will be linear if previous keyframe outWeight is also zero.

ks[2] = new Keyframe(6, 0); ks[2].weightedMode = WeightedMode.In; ks[2].inWeight = 1f / 3f; // 1/3 is the default weight in WeightedMode.None weightedMode.

animCurve = new AnimationCurve(ks); }

void Update() { if (animCurve != null) transform.position = new Vector3(Time.time, animCurve.Evaluate(Time.time), 0); } }