美文网首页
Unity动画 位置约束 PositionConstraint

Unity动画 位置约束 PositionConstraint

作者: 暴走TA | 来源:发表于2021-04-23 18:20 被阅读0次

简介:说起做动画,有一个功能是必不可少的,那就是约束功能,它能帮我们轻松实现一些在现实中很难实现的操作。
版本:Unity2019.4.12f1 HDRP 7.5.1

准备


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

准备好的三个物体

位置约束 PositionConstraint


  • 给胶囊体添加 PositionConstraint
给胶囊体添加位置约束
  • 位置约束的参数讲解
    1. Activate :激活约束组件的全部功能,使其生效
    2. Zero:点击后会将相对偏移位置置零,并将本物体与目标物体对齐,且将 Position At Rest 设置为对齐后的坐标,然后调用 Activate 的功能,激活相关选项。
胶囊默认参数 点击 Zero 后胶囊的位置产生了变化

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

没有勾选 IsActive
勾选 IsActive 后

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

权重为 1 时,移动球体,胶囊跟随运动 权重为 0 时,胶囊返回到初始位置,且无法自由移动

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


添加两个约束对象

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

锁定之后的状态

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

偏移值为 0 时,物体与约束物体位置重合

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

取消Y轴的约束物体可以在Y方向自由移动,但是其他方向无法移动
  • 多目标效果,位置约束可以添加多个约束目标,每个目标都有一个权重值,物体会根据不同目标的权重值,自动计算每个目标的跟随量
两个目标的权重都为1时的偏移量 将球体的权重调整为0时,胶囊完全跟随盒子
  • 位置约束一般可以帮我们解决跟随问题,实现一个物体跟随父物体之外的物体进行移动,还可以实现单轴约束,用途广泛,大家可以自己尝试一下各参数的使用

  • 一般使用时,先勾选 IsActive,不勾选 Lock,将物体放到归位位置,然后调整目标物到合适的偏移距离,这是系统会自动计算偏移,并将当前位置作为归位位置,然后勾选 Lock 就可以实现约束功能了。

相关文章

网友评论

      本文标题:Unity动画 位置约束 PositionConstraint

      本文链接:https://www.haomeiwen.com/subject/ifrcrltx.html