Unity3D:目標約束
推薦:將NSDT場景編輯器加入你的3D工具鏈
3D工具集:NSDT簡石數字孿生目標約束 (Aim Constraints)
Aim Constraint 可旋轉游戲對象以朝向其源游戲對象。還可針對另一個軸保持一致方向。例如,可將 Aim Constraint 添加到攝像機。要在約束瞄準攝像機時保持攝像機直立,請指定攝像機的向上軸和向上的方向以使其對齊。
使用 Up Vector 可指定受約束游戲對象的向上軸。使用 World Up Vector 可指定向上方向。當 Aim Constraint 旋轉游戲對象以朝向其源游戲對象時,約束也會將受約束游戲對象的向上軸與向上方向對齊。
Aim Constraint 組件
Activate | 在旋轉受約束的游戲對象并移動其源游戲對象后,單擊 Activate 可保存此信息。Activate 可將相對于源游戲對象的當前偏移量保存在 Rotation At Rest 和 Rotation Offset__中,然后選中 Is Active__ 和 Lock。 | |
Zero | 將受約束游戲對象的旋轉設置為源游戲對象。Zero 可重置 Rotation At Rest 和 Rotation Offset 字段,然后選中 Is Active 和 Lock。 | |
Is Active | 切換是否對約束求值。要同時應用約束,請確保選中 Lock。 | |
Weight | 約束的強度。權重 1 會使約束旋轉此游戲對象的速度與其源游戲對象移動的速度相同。權重為 0 會完全消除約束的影響。此權重影響所有源游戲對象。Sources 列表中的每個游戲對象都一個權重。 | |
Aim Vector | 指定面向源游戲對象方向的軸。例如,要指定游戲對象應僅定向其正 Z 軸以面向源游戲對象,請分別為 X、Y 和 Z 軸的 Aim Vector 輸入 0、0 和 1。 | |
Up Vector | 指定此游戲對象的向上軸。例如,要指定游戲對象應始終保持其正 Y 軸為向上方向,請分別為 X、Y 和 Z 軸的 Up Vector 輸入 0、1 和 0。 | |
World Up Type | 指定向上方向的軸。Aim Constraint 使用此矢量將游戲對象的向上軸與向上方向對齊。 | |
Scene Up | 場景的 Y 軸。 | |
Object Up | 由 World Up Object 指代的游戲對象的 Y 軸。 | |
Object Up Rotation | 由 World Up Object 指代的游戲對象的 World Up Vector 指定的軸。 | |
Vector | 世界向上矢量。 | |
無 | 不使用世界向上矢量。 | |
World Up Vector | 指定要用于 World Up Type 中的 Object Up Rotation 和 Vector 選項的矢量。 | |
World Up Object | 指定要用于 World Up Type 中的 Object Up 和 Object Up Rotation 選項的游戲對象。 | |
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。 |
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。