Unity动画 位置约束 PositionConstraint

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity动画 位置约束 PositionConstraint相关的知识,希望对你有一定的参考价值。

参考技术A 在场景中准备三个物体,一个球,一个胶囊,一个盒子,并赋予不同的颜色

3. IsActive :当前约束组件是否激活,激活后会自动计算相关参数,如回归位置,相对偏移量
勾选 IsActive 没有勾选 Lock 时,组件会自动计算物体与约束目标之间的偏移值并赋予 PositionOffset, 并将物体当前位置赋予PositionAtRest。

4. Weight :当前约束组件影响程度,0-1。

5. Sources:约束目标物,这里可以指定多个,每个可以指定一个约束影响权重,我们这里会添加两个物体,一个球,一个盒子

6. Lock :勾选后,会锁定约束权重为 0 时物体要还原到的位置,锁定约束物体与被约束物体的相对偏移值

7. Position At Rest :权重为0时物体需要归到的位置
8. Position Offset:相对于约束目标的相对偏移位置,如果全部为0,则位置和约束目标完全重合。

9. FreezePositionAxes:约束轴向 ,物体只受勾选的轴向的影响

Unity重置动画帧位置转换状态时控制播放速度

重置动画帧位置

做一个小项目时,由于UI的动画无法在再次选择时再次播放,所以使用了重置动画帧的方式。

button.GetComponent<Animator>().Play("GuoDong", 0, 0f);//动画名、动画层、时间

转换状态时

Animator ator = go1.GetComponent<Animator>();

ator.SetInteger("AnimState", 0);//设置int类型参数值,和float类似。

SetBool(“animBool”,true); //设置bool类型参数值

SetTrigger(“animTrigger”); //设置Trigger类型参数值

控制播放速度:

Animator ator = go1.GetComponent<Animator>();

var stateinfo = ator.GetCurrentAnimatorStateInfo(0);

if(stateinfo.IsName("Jump"))

       ator.speed = 2;

以上是关于Unity动画 位置约束 PositionConstraint的主要内容,如果未能解决你的问题,请参考以下文章

Unity 2D c# - 如何保存最后一个动画位置

Unity - 动画将游戏对象从其产生的位置移开?

宽度约束动画时UITextfield文本位置没有动画

unity能不能导入顶点动画?

unity平台下怎么做动画

动画约束导致不同的初始位置