下面介紹一下MAYA各種約束的作用和屬性面板里的一些參數。通過各種約束的使用和對這些參數的設置,我們可以得到一些不同的約束效果。
點約束
點約束使對象向著并跟隨對象的位置或者幾個對象的平均位置而移動。此功能用于使一個對象匹配其他對象的運動。
也可以使用點約束對一個對象進行動畫設置,使其跟隨其他一系列的對象。
下面是屬性面板里的一些參數
保持偏移(Maintain Offset)
保留受約束對象的原始平移(約束之前的狀態(tài))和相對平移。使用該選項可以保持受約束對象之間的空間關系。
偏移(Offset)
為受約束對象指定相對于目標點的偏移位置(平移 X、Y 和 Z)。請注意,目標點是目標對象的旋轉樞軸的位置或目標對象的旋轉樞軸的平均位置。默認值均為 0。
動畫層(Animation Layer)
允許您選擇要向其中添加點約束的動畫層。
將層設置為覆蓋(Set Layer To Override)
啟用時,在“動畫層”(Animation Layer)下拉列表中選擇的層會在將約束添加到動畫層時自動設定為覆蓋模式。這是默認模式,也是建議使用的模式。禁用時,在添加約束時層模式會設定為相加模式。
約束軸(Constraint Axes)
確定是否將點約束限制到特定軸(X、Y、Z)或“全部”(All)軸。如果選中“全部”(All),“X”、“Y”和“Z”框將變暗。
權重(Weight)
指定目標對象可以影響受約束對象的位置的程度。使用滑塊可在 0.0000 到 10.0000 之間選擇值。默認值為 1.0000。
目標約束
目標約束可約束某個對象的方向,以使該對象對準其他對象。目標約束的典型使用包括使燈光或攝影機對準某個對象或一組對象。在角色設置中,目標約束的典型使用是設置用于控制眼球轉動的定位器。
下面是屬性面板里的一些參數
保持偏移(Maintain Offset)
保持受約束對象的原始(約束之前的狀態(tài))、相對轉換和旋轉。使用該選項可以保持受約束對象之間的空間和旋轉關系。
偏移(Offset)
指定受約束對象相對于目標點的偏移位置(平移 X、Y 和 Z)。請注意,目標點是單個目標對象的旋轉樞軸所在的位置,或多個目標對象的旋轉樞軸的平均位置。所有默認值均為 0。
目標向量(Aim Vector)
指定目標向量相對于受約束對象的局部空間的方向。目標向量將指向目標點,強制受約束對象相應地確定其本身的方向。默認值指定對象在 X 軸正半軸的局部旋轉與目標向量對齊,以指向目標點(1.0000,0.0000,0.0000)。
上方向向量(Up Vector)
指定上方向向量相對于受約束對象的局部空間的方向。默認值指定對象在 Y 軸正半軸的局部旋轉與上方向向量對齊。默認情況下,上方向向量也會相應地嘗試與世界上方向向量對齊。默認情況下,世界上方向向量會進而指向世界空間的正 Y 軸正半軸的方向(0.0000,1.0000,0.0000)。
如果定義上方向向量指向與目標向量相同的方向,則受約束對象將具有運動歷史相關性。
世界上方向向量(World Up Vector)
指定世界上方向向量相對于場景的世界空間的方向。由于默認情況下 Maya 的世界空間為“Y 軸向上”,因此世界上方向向量默認指向世界空間的 Y 軸正軸的方向(0.0000,1.0000,0.0000)。
世界上方向對象(World Up Object)
指定上方向向量嘗試對準指定對象的原點,而不是與世界上方向向量對齊。忽略世界上方向向量。上方向向量嘗試對準其原點的對象稱為世界上方向向量?赏ㄟ^ aimConstraint MEL 命令指定世界上方向對象(使用 -wuo 標志)。如果未指定世界上方向對象,則上方向向量會嘗試對準場景的世界空間的原點。
動畫層(Animation Layer)
可用于選擇要添加目標約束的動畫層。
將層設置為覆蓋(Set Layer To Override)
啟用時,在“動畫層”(Animation Layer)下拉列表中選擇的層會在將約束添加到動畫層時自動設定為覆蓋模式。這是默認模式,也是建議使用的模式。禁用時,在添加約束時層模式會設定為相加模式。
約束軸(Constraint Axes)
確定是否將目標約束是否限于特定軸(“X”、“Y”、“Z”)或“全部”(All)軸。選中“所有”(All)時,“X”、“Y”和“Z”框將變暗。
權重(Weight)
指定受約束對象的方向受目標對象影響的程度。使用滑塊選擇 0.0000 和 10.0000 之間的值。默認值為 1.0000。
方向約束
方向約束將一個對象的方向與一個或多個其他對象相匹配。此約束可用于同時確定幾個對象的方向。例如,為一個角色的頭部設置動畫,然后根據剛剛設置動畫的頭部約束所有其他角色的頭部,可以使一組角色同時朝向同一方向。
下面是屬性面板里的一些參數
保持偏移(Maintain Offset)
保持受約束對象的原始(在約束之前的狀態(tài))、相對旋轉。使用該選項可以保持受約束對象之間的旋轉關系。
偏移(Offset)
為受約束對象指定相對于目標點的偏移位置(平移 X、Y 和 Z)。請注意,目標點是目標對象的旋轉樞軸的位置,或者是目標對象的旋轉樞軸的平均位置。默認值全部為 0。
動畫層(Animation Layer)
可用于選擇要添加方向約束的動畫層。
將層設置為覆蓋(Set Layer To Override)
啟用時,在“動畫層”(Animation Layer)下拉列表中選擇的層會在將約束添加到動畫層時自動設定為覆蓋模式。這是默認模式,也是建議使用的模式。禁用時,在添加約束時層模式會設定為相加模式。
約束軸(Constraint Axes)
決定方向約束是否受到特定軸(“X”、“Y”、“Z”)的限制或受到“全部”(All)軸的限制。選中“全部”(All)時,“X”、“Y”和“Z”框將暗顯。
權重(Weight)
指定受約束對象的位置可能會受目標對象影響的程度。使用滑塊選擇從 0.0000 到 10.0000 的值。默認值為 1.0000。
縮放約束
縮放約束可以將一個縮放對象與另外一個或多個對象相匹配。該約束在同時縮放多個對象時非常有用。例如,可以通過為一個字符的頭制作動畫,然后將其他所有字符的頭約束為您已制作動畫的頭,從而同時將一組字符全部都設置為相同方向。
受約束對象是指其縮放受一個或多個目標對象的縮放驅動的對象。一個或多個目標對象的縮放稱為目標縮放。
下面是屬性面板里的一些參數
保持偏移(Maintain Offset)
保留原點(約束之前的狀態(tài)),相對縮放受約束對象。使用此選項可以保持受約束對象之間的比例關系。
偏移(Offset)
指定受約束對象相對于目標點的偏移位置(平移 X、Y 和 Z)。請注意,目標點是目標對象的旋轉樞軸,或是目標對象旋轉樞軸的平均位置。默認值均為 0。
動畫層(Animation Layer)
用于選擇要在其上添加縮放約束的動畫層。
將層設置為覆蓋(Set Layer To Override)
啟用時,在“動畫層”(Animation Layer)下拉列表中選擇的層會在將約束添加到動畫層時自動設定為覆蓋模式。這是默認模式,也是建議使用的模式。禁用時,在添加約束時層模式會設定為相加模式。
約束軸(Constraint Axes)
確定是否將縮放約束限制到特定樞軸 (“X”、“Y”、“Z”) 或“全部”(All)樞軸。選中“全部”(All)時,“X”、“Y”和“Z”框將暗淡。
權重(Weight)
指定受約束對象的縮放可以對目標對象產生的影響。使用滑塊選擇介于 0.0000 到 10.0000 之間的值。默認值為 1.0000。
父對象約束
使用父約束,您可以相關一個對象的位置—平移和旋轉到另一個對象,以便這些對象的行為就像具有多個目標父對象的父-子關系。對象的移動也會受多個對象平均位置的影響。
當父約束被應用到一個對象時,受約束對象不會成為約束對象的層次或組的一部分,而是保持獨立,同時表現(xiàn)得像是目標的子對象一樣。約束對象也稱為目標對象。
帶父約束的對象不會表現(xiàn)得象帶點和方向約束的對象那樣。當使用了父約束后,旋轉目標對象將影響受約束對象沿世界軸的旋轉。當使用了點和方向約束后,旋轉目標對象將影響受約束對象沿其局部軸的旋轉。如下圖所示。
下面是屬性面板里的一些參數
保持偏移(Maintain Offset)
保留受約束對象的原始狀態(tài)(約束之前的狀態(tài))、相對平移和旋轉。使用該選項可以保持受約束對象之間的空間和旋轉關系。
動畫層(Animation Layer)
使用該選項可以選擇要添加父約束的動畫層。
將層設置為覆蓋(Set Layer To Override)
啟用時,在“動畫層”(Animation Layer)下拉列表中選擇的層會在將約束添加到動畫層時自動設定為覆蓋模式。這是默認模式,也是建議使用的模式。禁用時,在添加約束時層模式會設定為相加模式。
約束軸(Constraint Axes)
決定父約束是受特定軸(“X”、“Y”、“Z”)限制還是受“全部”(All)軸限制。選中“全部”(All)時,“X”、“Y”和“Z”框將暗顯。
權重(Weight)
僅當存在多個目標對象時,權重才有用。
幾何體約束
幾何體約束將對象限制到某個 NURBS 曲面、NURBS 曲線或多邊形曲面(網格)。如果還希望受約束對象將它自己定向到目標對象的曲面,請使用法線約束。
權重(Weight)
指定受約束對象的位置受目標對象影響的程度。使用滑塊選擇 0.0000 到 10.0000 的值。默認值為 1.0000。
法線約束
法線約束可約束對象的方向,以使其與 NURBS 曲面或多邊形面(網格)的法線向量對齊。讓對象在具有唯一、復雜形狀的曲面上移動時,法線約束很有用。如果沒有法線約束,在曲面上移動對象或設置其動畫可能會很乏味且耗時。例如,可能需要讓一滴眼淚沿角色的臉落下?梢詫⒀蹨I約束到臉的曲面,而不是直接設置眼淚的動畫。
下面是屬性面板里的一些參數
權重(Weight)
指定受約束對象的方向在多大程度上受目標對象影響。使用滑塊在 0.0000 到 10.0000 之間選擇值。默認值為 1.0000。
目標向量(Aim Vector)
指定目標向量相對于受約束對象局部空間的方向。目標向量與目的向量對齊,強制受約束對象相應確定其自身的方向。默認情況下指定對象的局部旋轉正 X 軸與目標向量對齊,以便與目的向量 (1.0000, 0.0000, 0.0000) 對齊。
上方向向量(Up Vector)
指定上方向向量相對于受約束對象局部空間的方向。默認情況下指定對象的局部旋轉正 Y 軸與上方向向量對齊。而默認情況下,上方向向量會嘗試與世界上方向向量對齊。另外,默認情況下,世界上方向向量將指向世界空間的正 Y 軸 (0.0000, 1.0000, 0.0000)的方向。
如果將上方向向量定義為指向與目標向量相同的方向,受約束對象將與運動歷史存在相關性。
世界上方向向量(World Up Vector)
指定世界上方向向量相對于場景世界空間的方向。由于默認情況下 Maya 的世界空間是“Y 軸向上”,因此默認世界上方向向量指向世界空間正 Y 軸的方向 (0.0000, 1.0000, 0.0000)。
世界上方向對象(World Up Object)
指定上方向向量嘗試對準指定對象的原點,而不是與世界上方向向量對齊。世界上方向向量將被忽略。上方向向量嘗試對準其原點的對象稱為世界上方向對象。
通過使用 -wuo 標志,可以指定具有normalConstraint MEL 命令的世界上方向對象。如果未指定世界上方向對象,上方向向量將嘗試對準場景世界空間的原點。
切線約束
切線約束可約束對象的方向,以使某個對象沿曲線移動時,該對象始終指向曲線的方向。曲線提供對象運動的路徑,對象會調整自身的方向以指向曲線。切線約束用于使對象跟隨曲線的方向,例如過山車會跟隨軌跡的方向。
下面是屬性面板里的一些參數
權重(Weight)
指定受約束對象的方向可受目標對象影響的程度。使用滑塊選擇介于 0.0000 和 10.0000 之間的值。默認值為 1.0000。
目標向量(Aim Vector)
指定目標向量相對于受約束對象的局部空間的方向。目標向量將與目標向量對齊,強制受約束對象相應地自行確定其方向。默認情況下,指定對象的局部旋轉正 X 軸與要與目標向量對齊的目標向量對齊 (1.0000, 0.0000, 0.0000)。
上方向向量(Up Vector)
指定上方向向量相對于受約束對象的局部空間的方向。默認情況下,指定對象的局部旋轉正 Y 軸將與上方向向量對齊。反過來,默認情況下,上方向向量將嘗試與世界上方向向量對齊。另外,默認情況下,世界上方向向量將指向世界空間的正 Y 軸方向 (0.0000, 1.0000, 0.0000)。
如果定義上方向向量與目標向量指向同一方向,則受約束對象將依賴于運動歷史。
世界上方向向量(World Up Vector)
指定世界上方向向量相對于場景的世界空間的方向。由于默認情況下 Maya 的世界空間為“Y 軸向上”,因此默認世界上方向向量將指向世界空間的正 Y 軸方向 (0.0000, 1.0000, 0.0000)。
世界上方向對象(World Up Object)
指定上方向向量嘗試對準指定對象的原點,而不是與世界上方向向量對齊。將忽略世界上方向向量。上方向向量嘗試對準其原點的對象稱為世界上方向對象。
您可以使用 tangentConstraint MEL 命令指定世界上方向對象(使用 -wuo 標志)。如果未指定任何世界上方向對象,則上方向向量將嘗試對準場景的世界空間的原點。
多邊形上的點約束
通過多邊形上的點約束,可以將對象約束到網格,以便在網格變形時受約束對象貼附于曲面上的某個點。您可以將對象約束到整個網格,也可以約束到特定的頂點、面或邊。使用該約束可以創(chuàng)建各種效果,例如外套變形時外套上的紐扣仍保留在原位。
下面是屬性面板里的一些參數
動畫層(Animation Layer)
允許您選擇一個向其添加多邊形上的點約束的動畫層。約束軸(Constraint Axes)
確定多邊形上的點約束是限制為特定軸(“X”、“Y”、“Z”)還是“全部”(All)軸。
權重(Weight)
指定受約束對象的位置受網格影響的程度。使用滑塊選擇 0.0000 到 10.0000 之間的值。默認值為 1.0000。
最近點約束
最近點約束提供了網格、NURBS 曲面或曲線相對輸入位置的最近點的快速計算方法?梢院唵蔚厥褂眉s束計算和查看最近點信息,或使用約束創(chuàng)建并約束定位器至網格、曲面或曲線,以標記最近點。
下面是屬性面板里的一些參數
打開“選項上的最近點”(Closest Point On Options)窗口。該窗口包含以下選項:
輸入位置定位器(Input Position Locator)
處于啟用狀態(tài)時,會在默認的輸入位置創(chuàng)建定位器。默認的輸入位置為原點 (0, 0, 0)。
處于禁用狀態(tài)時,不創(chuàng)建任何輸入定位器,您可以通過設置 closestPointOnMesh、closestPointOnSurface 或 nearestPointOnCurve 節(jié)點的“輸入位置”(In Position)屬性來手動設定輸入位置。
最近位置定位器(Closest Position Locator)
處于啟用狀態(tài)時,會在網格、曲面或曲線上創(chuàng)建定位器,以指示相對于輸入位置的最近點。
極向量約束
極向量約束使極向量的末端移動至并跟隨一個對象的位置,或幾個對象的平均位置。
在角色設置中,手臂關節(jié)鏈的 IK 旋轉平面控制柄的極向量經常約束到放置在角色后面的定位器。
通常,您會希望約束極向量,從而當您操縱 IK 旋轉平面控制柄時,關節(jié)鏈不會發(fā)生意外翻轉。因為控制柄向量接近或與極向量相交時,會發(fā)生翻轉,應該約束極向量,使控制柄向量不會與其交叉。
下面是屬性面板里的一些參數
權重(Weight)
指定受約束極向量的結束位置受目標對象影響的程度。使用滑塊選擇 0.0000 到 10.0000 之間的值。默認值為 1.0000。