找回密码
 立即注册
查看: 218|回复: 0

Unity基础(十五)约束系统 (AimConstraint)

[复制链接]
发表于 2023-1-2 21:41 | 显示全部楼层 |阅读模式
约束

<hr>
约束组件将游戏对象的位置、旋转或缩放与另一个游戏对象关联。受约束的游戏对象像关联到的游戏对象一样移动、旋转或缩放。

Unity 支持以下类型的约束组件:

    Aim:旋转受约束的游戏对象以朝向关联的游戏对象。<< (这节课所讲解的组件)

    Look At:将受约束的游戏对象旋转到关联的游戏对象(简化的 Aim Constraint)。

    Parent:使受约束的游戏对象跟随关联的游戏对象移动和旋转。

    Position:像关联的游戏对象一样移动受约束的游戏对象。

    Rotation:像关联的游戏对象一样旋转受约束的游戏对象。

    Scale:像关联的游戏对象一样缩放受约束的游戏对象。
目标约束 AimConstraint

<hr>
    AimConstraint 相对于其他约束参数角度,我们接下来对不常见的属性做一下讲解

    Aim Vector:目标矢量,就是指定物体要被约定的朝向,例如我们这里设置 0,0,1,就是 Z 轴朝向目标物,如果设置成 0,1,0 那就是 Y 轴朝向目标物相对于朝向约束只约束 Z 轴朝向,目标约束可以明确制定约束哪个轴向

此时对象的Z轴会对准目标物体的中心点
    UpVector : 向上矢量,就是指定哪个轴向代表物体的向上朝向,例如我们这里设置为 0,1,0,就是将物体的 Y 轴设定为向上轴向
WorldUpType:指定 UpVector 的配置方式,分为多种 SceneUp,ObjectUp,ObjectRotation up,Vector,None



    SceneUp:使用场景的向上轴为 UpVector 参考,场景的向上轴为 Y 轴,所以物体的向上轴会向上对齐。

    ObjectUp:使用本物体到指定物体的位置之间的朝向为约束向上轴朝向,选择后 WorldUpObject 属性会被激活。

    ObjectRotationUp:使用指定物体的指定轴向作为向上的轴约束,选择后 WorldUpObject 和 WorldUpVector 都会被激活。其中 WorldUpVector 就是配置使用 WorldUpObject 的哪个轴向来进行约束

    Vector:使用世界控制指定的朝向作为约束朝向,选择后,WorldUpVector 会被激活,可以理解为 SceneUp 就等同于这个模式下的 0 ,1, 0

    None : 为空没有指向类型
Constraint Settings




  • 锁定 (Lock) : 启用此设置可让约束旋转游戏对象。取消选中此属性可编辑此游戏对象的旋转。还可以编辑 Rotation At Rest 和 Rotation Offset 属性。
    如果选中了 Is Active,则约束将在您旋转游戏对象或其源游戏对象时更新 Rotation At Rest 或 Rotation Offset 属性。在对更改满意后,选中 Lock 以便让约束控制此游戏对象。此属性在运行模式 (Play Mode) 下无效。
    Rotation At Rest : 在 Weight 为 0 时或者未选中对应的 Freeze Rotation Axes 时要使用的 X、Y 和 Z 值。要编辑这些字段,请取消选中 Lock。

    Rotation Offset    : 由约束计算的相对于旋转的 X、Y 和 Z 偏移量。要编辑这些字段,请取消选中 Lock。

    Freeze Rotation Axes :选中 X、Y 或 Z 可允许约束控制对应的轴。取消选中某个轴可以让约束停止控制该轴。这样就可以对未冻结的轴进行编辑、动画化或编程。

  • Sources: 约束此游戏对象的游戏对象的列表。
    Unity 按照源游戏对象在此列表中出现的顺序来对源游戏对象求值。此顺序会影响此约束如何旋转受约束的游戏对象。要获得所需的结果,请拖放此列表中的项。
    每个源的权重为 0 到 1。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-21 15:50 , Processed in 0.091828 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表