找回密碼
 注冊帳號

掃一掃,訪問微社區

可配置關節(configurablejoint)

2015-1-6 08:46| 發布者: 楊炎| 查看: 1433| 評論: 0|原作者: 蠻牛|來自: unity3d腳本manual

摘要: 可配置關節 (configurable joint)可配置關節 (configurable joint)具有非常強的可自定義性。它們公開 physx 的所有與關節 (joint) 相關的屬性,因此能夠創建與所有其他關節 (joint) 類型類似的行為。可配置關節 (con ...

可配置關節 (configurable joint)

可配置關節 (configurable joint)具有非常強的可自定義性。它們公開 physx 的所有與關節 (joint) 相關的屬性,因此能夠創建與所有其他關節 (joint) 類型類似的行為。

可配置關節 (configurable joint) 的屬性

詳細信息

可配置關節 (configurable joint) 可以執行兩個主要功能:移動/旋轉限制和移動/旋轉加速。這些功能取決于一些相互依賴的屬性。可能需要進行一些實驗才能創建嘗試實現的精確行為。我們現在將向您概述關節 (joint) 的功能以便盡可能簡單地進行實驗。

移動/旋轉限制

可按軸和運動類型指定限制。使用x 運動 (xmotion)y 運動 (ymotion)z 運動 (zmotion)可以定義沿該軸進行的變化。使用x 角運動 (angular xmotion)y 角運動 (angular ymotion)z 角運動 (angular zmotion)可以定義圍繞該軸的旋轉。這些屬性中的每個屬性都可以設置為自由 (free)(未限制)、受限 (limited)(基于可以定義的限制進行限制)或鎖定 (locked)(限制為零移動)。

限制運動

在將任何“運動”(motion)屬性設置為受限 (limited)時,可以為該軸定義移動限制。可以通過更改限制”(limit)屬性之一的值來執行此操作

對于移動變化(非角向),線性限制 (linear limit)屬性定義對象相對于其原點可以移動的最大距離。任何設置為受限 (limited)“運動”(motion)屬性上的變化會根據線性限制 (linear limit) -> 限制 (limit)進行限制。可將此限制 (limit)屬性視為針對對象設置圍繞軸的邊界。

彈力 (bouncyness),彈簧 (spring)阻尼 (damper)會定義對象在任何受限 (limited)“運動”(motion)軸上達到限制 (limit)時的對象行為。如果所有這些值都設置為 0,則對象會在達到邊界時立即停止。彈力 (bouncyness)會使對象從邊界彈回。彈簧 (spring)阻尼 (damper)會使用彈性力將對象推回到邊界。這會軟化邊界,因此對象將能夠穿過邊界并被拉回而不是立即停止。

限制旋轉

限制旋轉的工作方式幾乎與限制運動相同。差異在于三個“角運動”(angular motion)屬性全都對應于不同的“角限制”(angular limit)屬性。沿所有 3 個軸的變化限制由線性限制 (linear limit)屬性定義,沿 3 個軸中各個軸的旋轉限制由每個軸的單獨“角限制”(angular limit)屬性定義。

x 角運動 (angular xmotion)限制最可靠,因為可以定義x 角下限 (low angular xlimit)x 角上限 (high angular xlimit)。因此如果要定義 -35 度的旋轉下限和 180 度的旋轉上限,則可以執行此操作。對于 y 和 z 軸,旋轉下限和上限相同,通過y 角限制 (angular ylimit)z 角限制 (angular zlimit)限制 (limit)屬性一起設置。

此處應用“限制運動”部分中有關進行旋轉限制時的對象行為的相同規則。

移動/旋轉加速

在朝特定位置/旋轉或按特定速率/角速率移動對象方面,指定對象移動或旋轉。此系統的工作方式是定義要移動到的“目標”(target)值,并使用驅動”(drive)提供對象朝該目標移動的加速度。每個“驅動”(drive)都具有模式 (mode),用于定義對象朝向移動的“目標”(target)

變化加速

x 驅動 (xdrive)y 驅動 (ydrive)z 驅動 (zdrive)屬性是使對象開始沿著該軸移動的內容。每個驅動 (drive)模式 (mode)會定義對象是應朝目標位置 (target position)目標速率 (target velocity)或兩者來移動。例如,當x 驅動 (xdrive)的模式設置為位置 (position)時,對象會嘗試移動到目標位置 (target position) -> x的值。

當某個驅動 (drive)在其模式 (mode)中使用位置 (position)時,其位置彈簧 (position spring)值將定義對象朝目標位置 (target position)移動的方式。同樣,當某個驅動 (drive)在其模式 (mode)中使用速率 (velocity)時,其最大力 (maximum force)值將定義對象加速到目標速率 (target velocity)的方式。

旋轉加速

旋轉加速屬性:x 角驅動 (angular xdrive)yz 角驅動 (angular yzdrive)球形線性插值驅動 (slerp drive)的工作方式與變化驅動 (drive)相同。不過有一個重要差異。球形線性插值驅動 (slerp drive)的行為方式與角驅動 (angular drive)功能不同。因此可以通過從旋轉驅動模式 (rotation drive mode)中選擇一個,來使用兩個角驅動 (angular drive)球形線性插值驅動 (slerp drive)。不能同時使用兩者。

屬性

屬性:

功能:

錨點 (anchor)

定義關節 (joint) 中心的點。所有基于物理的模擬都使用此點作為計算的中心

軸 (axis)

基于物理模擬定義對象自然旋轉的局部坐標

輔助軸 (secondary axis)

軸 (axis)輔助軸 (secondary axis)定義關節 (joint) 的局部坐標系。第三個軸設置為與其他兩個軸正交。

x 運動 (xmotion)

允許沿 x 軸的移動為“自由”(free)、完全“鎖定”(locked) 或“受限”(limited),具體取決于線性限制 (linear limit)

y 運動 (ymotion)

允許沿 y 軸的移動為“自由”(free)、完全“鎖定”(locked) 或“受限”(limited),具體取決于線性限制 (linear limit)

z 運動 (zmotion)

允許沿 z 軸的移動為“自由”(free)、完全“鎖定”(locked) 或“受限”(limited),具體取決于線性限制 (linear limit)

x 角運動 (angular xmotion)

允許圍繞 x 軸的旋轉為“自由”(free)、完全“鎖定”(locked) 或“受限”(limited),具體取決于x 角下限 (low angular xlimit)x 角上限 (high angular xlimit)

y 角運動 (angular ymotion)

允許圍繞 y 軸的旋轉為“自由”(free)、完全“鎖定”(locked) 或“受限”(limited),具體取決于y 角下限 (low angular ylimit)y 角上限 (high angular ylimit)

z 角運動 (angular zmotion)

允許圍繞 z 軸的旋轉為“自由”(free)、完全“鎖定”(locked) 或“受限”(limited),具體取決于z 角下限 (low angular zlimit)x 角上限 (high angular zlimit)

線性限制 (linear limit)

用于基于相對于關節 (joint) 原點的距離定義移動限制的邊界

限制 (limit)

單位計的從原點到邊界墻壁的距離

彈力 (bouncyness)

當對象達到限制 (limit)時應用于對象的彈回力的量

彈簧 (spring)

為將對象移動回限制 (limit)而應用的力的強度任何非 0 數值都會隱式地軟化邊界

阻尼 (damper)

彈簧 (spring)的阻力強度

x 角下限 (low angular xlimit)

用于基于相對于原始旋轉的差值定義旋轉下限的邊界

限制 (limit)

對象旋轉不應低于的旋轉(以度數為單位)

彈力 (bouncyness)

當對象旋轉達到限制 (limit)時應用于對象的彈回扭矩的量

彈簧 (spring)

為將對象移動回限制 (limit)而應用的力的強度任何非 0 數值都會隱式地軟化邊界

阻尼 (damper)

彈簧 (spring)的阻力強度

x 角上限 (high angular xlimit)

用于基于相對于原始旋轉的差值定義旋轉上限的邊界

限制 (limit)

對象旋轉不應超過的旋轉(以度數為單位)

彈力 (bouncyness)

當對象旋轉達到限制 (limit)時應用于對象的彈回扭矩的量

彈簧 (spring)

為將對象移動回限制 (limit)而應用的力的強度任何非 0 數值都會隱式地軟化邊界

阻尼 (damper)

彈簧 (spring)的阻力強度

y 角限制 (angular ylimit)

用于基于相對于原始旋轉的差值定義旋轉限制的邊界

限制 (limit)

對象旋轉不應超過的旋轉(以度數為單位)

彈力 (bouncyness)

當對象旋轉達到限制 (limit)時應用于對象的彈回扭矩的量

彈簧 (spring)

為將對象移動回限制 (limit)而應用的扭矩的強度任何非 0 數值都會隱式地軟化邊界

阻尼 (damper)

彈簧 (spring)的阻力強度

z 角限制 (angular ylimit)

用于基于相對于原始旋轉的差值定義旋轉限制的邊界

限制 (limit)

對象旋轉不應超過的旋轉(以度數為單位)

彈力 (bouncyness)

當對象旋轉達到限制 (limit)時應用于對象的彈回扭矩的量

彈簧 (spring)

為將對象移動回限制 (limit)而應用的扭矩的強度任何非 0 數值都會隱式地軟化邊界

阻尼 (damper)

彈簧 (spring)的阻力強度

目標位置 (target position)

關節 (joint) 應移動到的所需位置

目標速率 (target velocity)

關節 (joint) 移動時應采用的所需速率

x 驅動 (xdrive)

關節 (joint) 移動沿其局部坐標 x 軸的行為方式的定義

模式 (mode)

根據目標位置 (target position)目標速率 (target velocity)或兩者設置以下屬性

位置彈簧 (position spring)

朝定義方向拉橡皮筋的力度。僅在模式 (mode)包含位置 (position)時使用

位置阻尼 (position damper)

位置彈簧 (position spring)的阻力強度。僅在模式 (mode)包含位置 (position)時使用

最大力 (maximum force)

將物體朝定義方向推動的力度。僅在模式 (mode)包含速率 (velocity)時使用

y 驅動 (ydrive)

definition of how the joint's movement will behave along its local y axis

模式 (mode)

根據目標位置 (target position)目標速率 (target velocity)或兩者設置以下屬性

位置彈簧 (position spring)

朝定義方向拉橡皮筋的力度。僅在模式 (mode)包含位置 (position)時使用

位置阻尼 (position damper)

位置彈簧 (position spring)的阻力強度。僅在模式 (mode)包含位置 (position)時使用

最大力 (maximum force)

將物體朝定義方向推動的力度。僅在模式 (mode)包含速率 (velocity)時使用

z 驅動 (ydrive)

definition of how the joint's movement will behave along its local z axis

模式 (mode)

根據目標位置 (target position)目標速率 (target velocity)或兩者設置以下屬性

位置彈簧 (position spring)

朝定義方向拉橡皮筋的力度。僅在模式 (mode)包含位置 (position)時使用

位置阻尼 (position damper)

位置彈簧 (position spring)的阻力強度。僅在模式 (mode)包含位置 (position)時使用

最大力 (maximum force)

將物體朝定義方向推動的力度。僅在模式 (mode)包含速率 (velocity)時使用

目標旋轉 (target rotation)

這是四元數。它定義關節 (joint) 應旋轉到的所選旋轉

目標角速率 (target angular velocity)

這是 vector3。它定義關節 (joint) 應旋轉達到的所需角速率

旋轉驅動模式 (rotation drive mode)

單獨使用x 和 yz球形線性插值驅動 (slerp drive)控制對象的旋轉

x 角驅動 (angular xdrive)

關節 (joint) 旋轉圍繞其局部坐標 x 軸的行為方式的定義。僅在旋轉驅動模式 (rotation drive mode)搖擺和扭曲 (swing & twist)時使用

模式 (mode)

根據目標旋轉 (target rotation)目標角速率 (target angular velocity)或兩者設置以下屬性

位置彈簧 (position spring)

朝定義方向拉橡皮筋的力度。僅在模式 (mode)包含位置 (position)時使用

位置阻尼 (position damper)

位置彈簧 (position spring)的阻力強度。僅在模式 (mode)包含位置 (position)時使用

最大力 (maximum force)

將物體朝定義方向推動的力度。僅在模式 (mode)包含速率 (velocity)時使用

yz 角驅動 (angular yzdrive)

關節 (joint) 旋轉圍繞其局部坐標 y 和 z 軸的行為方式的定義。僅在旋轉驅動模式 (rotation drive mode)搖擺和扭曲 (swing & twist)時使用

模式 (mode)

根據目標旋轉 (target rotation)目標角速率 (target angular velocity)或兩者設置以下屬性

位置彈簧 (position spring)

朝定義方向拉橡皮筋的力度。僅在模式 (mode)包含位置 (position)時使用

位置阻尼 (position damper)

位置彈簧 (position spring)的阻力強度。僅在模式 (mode)包含位置 (position)時使用

最大力 (maximum force)

將物體朝定義方向推動的力度。僅在模式 (mode)包含速率 (velocity)時使用

球形線性插值驅動 (slerp drive)

關節 (joint) 旋轉圍繞所有局部坐標軸的行為方式的定義。僅在旋轉驅動模式 (rotation drive mode)搖擺和扭曲 (swing & twist)時使用

模式 (mode)

根據目標旋轉 (target rotation)目標角速率 (target angular velocity)或兩者設置以下屬性

位置彈簧 (position spring)

朝定義方向拉橡皮筋的力度。僅在模式 (mode)包含位置 (position)時使用

位置阻尼 (position damper)

位置彈簧 (position spring)的阻力強度。僅在模式 (mode)包含位置 (position)時使用

最大力 (maximum force)

將物體朝定義方向推動的力度。僅在模式 (mode)包含速率 (velocity)時使用

投影模式 (projection mode)

用于跟蹤以在對象偏離太多時使對象對齊回其受約束位置的屬性

投影距離 (projection distance)

與對象突然重返可接受位置之前必須超過的連接體 (connected body)之間的距離

投影角度 (projection angle)

與對象對齊回可接受位置之前必須超過的連接體 (connected body)之間的角度差

在世界坐標空間中配置 (congfigure in world space)

如果啟用,則會在世界坐標空間而不是對象的局部坐標空間中計算所有目標值。

折斷力 (break force)

超過此數字的應用力值會導致關節 (joint) 毀壞

折斷扭矩 (break torque)

超過此數字的應用扭矩值會導致關節 (joint) 毀壞

相關閱讀

文章點評
相關文章
女校游泳队彩金