简介:说起做动画,有一个功能是必不可少的,那就是约束功能,它能帮我们轻松实现一些在现实中很难实现的操作。
版本:Unity2019.4.12f1 HDRP 7.5.1
准备
在场景中准备三个物体,一个球,一个胶囊,一个盒子,并赋予不同的颜色
![](https://img.haomeiwen.com/i19189157/f2a7d1eb77d4d0fe.png)
位置约束 PositionConstraint
- 给胶囊体添加 PositionConstraint
![](https://img.haomeiwen.com/i19189157/d79e1dc6f757e91f.png)
- 位置约束的参数讲解
- Activate :激活约束组件的全部功能,使其生效
- Zero:点击后会将相对偏移位置置零,并将本物体与目标物体对齐,且将 Position At Rest 设置为对齐后的坐标,然后调用 Activate 的功能,激活相关选项。
![](https://img.haomeiwen.com/i19189157/32e0e61fc4299833.png)
![](https://img.haomeiwen.com/i19189157/ab91b4ffc63b468b.png)
3. IsActive :当前约束组件是否激活,激活后会自动计算相关参数,如回归位置,相对偏移量
勾选 IsActive 没有勾选 Lock 时,组件会自动计算物体与约束目标之间的偏移值并赋予 PositionOffset, 并将物体当前位置赋予PositionAtRest。
![](https://img.haomeiwen.com/i19189157/b781b1f7b80ce9cc.png)
![](https://img.haomeiwen.com/i19189157/9cb1a0a9881d63c8.png)
4. Weight :当前约束组件影响程度,0-1。
![](https://img.haomeiwen.com/i19189157/454168a66ef9f7a2.png)
![](https://img.haomeiwen.com/i19189157/71490a8eb8efb031.png)
5. Sources:约束目标物,这里可以指定多个,每个可以指定一个约束影响权重,我们这里会添加两个物体,一个球,一个盒子
![](https://img.haomeiwen.com/i19189157/e0796a6e5cbecdf6.png)
6. Lock :勾选后,会锁定约束权重为 0 时物体要还原到的位置,锁定约束物体与被约束物体的相对偏移值
![](https://img.haomeiwen.com/i19189157/9d2f3ffcac287616.png)
7. Position At Rest :权重为0时物体需要归到的位置
8. Position Offset:相对于约束目标的相对偏移位置,如果全部为0,则位置和约束目标完全重合。
![](https://img.haomeiwen.com/i19189157/5f8853a20b19669d.png)
9. FreezePositionAxes:约束轴向 ,物体只受勾选的轴向的影响
![](https://img.haomeiwen.com/i19189157/ea35973a3d9c349b.gif)
- 多目标效果,位置约束可以添加多个约束目标,每个目标都有一个权重值,物体会根据不同目标的权重值,自动计算每个目标的跟随量
![](https://img.haomeiwen.com/i19189157/e60f5e2b9761429e.png)
![](https://img.haomeiwen.com/i19189157/338d873658b6261f.png)
-
位置约束一般可以帮我们解决跟随问题,实现一个物体跟随父物体之外的物体进行移动,还可以实现单轴约束,用途广泛,大家可以自己尝试一下各参数的使用
-
一般使用时,先勾选 IsActive,不勾选 Lock,将物体放到归位位置,然后调整目标物到合适的偏移距离,这是系统会自动计算偏移,并将当前位置作为归位位置,然后勾选 Lock 就可以实现约束功能了。
网友评论