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的主要内容,如果未能解决你的问题,请参考以下文章