約束可將某個(gè)對(duì)象的位置、方向或比例約束到其他對(duì)象。另外,利用約束可以在對(duì)象上施加特定限制并使動(dòng)畫(huà)過(guò)程自動(dòng)進(jìn)行。
例如,如果要快速設(shè)置一個(gè)雪橇從崎嶇小山上滑下的動(dòng)畫(huà),那么首先可能要使用幾何體約束將雪橇約束到曲面。然后,可使用法線(xiàn)約束將雪橇平置于曲面上。創(chuàng)建這些約束后,在山頂和山腳為雪橇的位置設(shè)置關(guān)鍵幀。然后動(dòng)畫(huà)就完成了。
針對(duì)角色設(shè)置和動(dòng)畫(huà),Maya 包括了以下約束:
- 點(diǎn)約束
- 目標(biāo)約束
- 方向約束
- 縮放約束
- 父約束
- 幾何體約束
- 法線(xiàn)約束
- 切線(xiàn)約束
- 多邊形上的點(diǎn)約束
- 最近點(diǎn)約束
- 極向量約束
受約束對(duì)象和目標(biāo)對(duì)象
受約束對(duì)象是位置、方向等由最近曲面位置、目標(biāo)向量方向或一個(gè)或多個(gè)目標(biāo)對(duì)象位置驅(qū)動(dòng)的對(duì)象。將一個(gè)或多個(gè)目標(biāo)對(duì)象的位置稱(chēng)為目標(biāo)點(diǎn)。將一個(gè)或多個(gè)目標(biāo)對(duì)象的方向稱(chēng)為目標(biāo)方向。
目標(biāo)點(diǎn)
目標(biāo)點(diǎn)是目標(biāo)對(duì)象旋轉(zhuǎn)樞軸的位置。如果存在多個(gè)目標(biāo)對(duì)象,那么所有目標(biāo)對(duì)象旋轉(zhuǎn)樞軸的平均位置就是目標(biāo)點(diǎn)。如果使用多個(gè)目標(biāo)對(duì)象,則可以改變每個(gè)目標(biāo)對(duì)象對(duì)目標(biāo)點(diǎn)計(jì)算的影響。目標(biāo)點(diǎn)可以是目標(biāo)對(duì)象位置的加權(quán)平均,但某些目標(biāo)對(duì)象會(huì)對(duì)目標(biāo)點(diǎn)產(chǎn)生更大的影響。目標(biāo)對(duì)象對(duì)加權(quán)平均的影響由目標(biāo)對(duì)象的權(quán)重指定。通過(guò)移動(dòng)每個(gè)目標(biāo)對(duì)象的旋轉(zhuǎn)樞軸,可以更改目標(biāo)點(diǎn)。
目標(biāo)方向
目標(biāo)方向就是目標(biāo)對(duì)象的方向(“旋轉(zhuǎn) X”(Rotate X)、“旋轉(zhuǎn) Y”(Rotate Y)和“旋轉(zhuǎn) Z”(Rotate Z)屬性)。如果存在多個(gè)目標(biāo)對(duì)象,那么所有目標(biāo)對(duì)象的平均方向就是目標(biāo)方向。但是,如果使用多個(gè)目標(biāo)對(duì)象,則可以改變每個(gè)目標(biāo)對(duì)象對(duì)目標(biāo)方向計(jì)算的影響。目標(biāo)方向可以是目標(biāo)對(duì)象方向的加權(quán)平均,但某些目標(biāo)對(duì)象會(huì)對(duì)目標(biāo)方向產(chǎn)生更大的影響。目標(biāo)對(duì)象對(duì)加權(quán)平均的影響由目標(biāo)對(duì)象的權(quán)重指定。
目標(biāo)縮放
目標(biāo)縮放就是目標(biāo)對(duì)象的縮放(“縮放 X”(Scale X)、“縮放 Y”(Scale Y)和“縮放 Z”(Scale Z)屬性)。如果存在多個(gè)目標(biāo)對(duì)象,那么所有目標(biāo)對(duì)象的平均縮放就是目標(biāo)縮放。但是,如果使用多個(gè)目標(biāo)對(duì)象,則可以改變每個(gè)目標(biāo)對(duì)象對(duì)目標(biāo)縮放計(jì)算的影響。目標(biāo)縮放可以是目標(biāo)對(duì)象縮放的加權(quán)平均,但某些目標(biāo)對(duì)象會(huì)對(duì)目標(biāo)縮放產(chǎn)生更大的影響。目標(biāo)對(duì)象對(duì)加權(quán)平均的影響由目標(biāo)對(duì)象的權(quán)重指定。
目標(biāo)向量
目標(biāo)向量或加權(quán)平均向量表示在受約束對(duì)象位置上的法線(xiàn)向量。Maya 會(huì)將目標(biāo)向量計(jì)算為曲面或網(wǎng)格上相鄰法線(xiàn)向量的加權(quán)平均。
目標(biāo)對(duì)象權(quán)重
可以為每個(gè)目標(biāo)對(duì)象指定目標(biāo)對(duì)象權(quán)重,用于控制對(duì)象對(duì)目標(biāo)點(diǎn)、目標(biāo)方向、目標(biāo)縮放、目標(biāo)向量等計(jì)算的影響。生成的加權(quán)平均將驅(qū)動(dòng)受約束對(duì)象的位置、方向等。當(dāng)目標(biāo)對(duì)象的權(quán)重為 0 時(shí),目標(biāo)不會(huì)對(duì)受約束對(duì)象產(chǎn)生影響。當(dāng)目標(biāo)對(duì)象的權(quán)重為 1 時(shí),目標(biāo)會(huì)充分發(fā)揮對(duì)受約束對(duì)象的影響。
注意
- 約束權(quán)重僅適用于存在多個(gè)目標(biāo)對(duì)象時(shí)。
- 如果僅存在一個(gè)目標(biāo)對(duì)象,那么任何大于 0 的權(quán)重都將解釋為 1。因此,系統(tǒng)將這一單個(gè)目標(biāo)解釋為對(duì)受約束對(duì)象有百分百的影響。
受約束對(duì)象的位置
受約束對(duì)象的位置由目標(biāo)點(diǎn)驅(qū)動(dòng)。但是,可以從目標(biāo)點(diǎn)偏移受約束對(duì)象的位置。從目標(biāo)點(diǎn)偏移受約束對(duì)象的位置適用于不希望受約束對(duì)象的局部軸與目標(biāo)點(diǎn)完全重合的情況。例如,如果要將一個(gè)球約束到角色手中的關(guān)節(jié),從而讓手拿著球,就需要從關(guān)節(jié)偏移球。通過(guò)偏移,可以讓球位于手掌中,而不是在手的內(nèi)部居中。
受約束對(duì)象的方向
受約束對(duì)象的方向由目標(biāo)方向驅(qū)動(dòng)。
受約束對(duì)象的縮放
受約束對(duì)象的縮放由目標(biāo)縮放驅(qū)動(dòng)。
工作流程摘要
創(chuàng)建約束與選擇要約束對(duì)象一樣簡(jiǎn)單,只需選擇要約束的對(duì)象,然后從“約束”(Constrain)菜單中選擇相應(yīng)的約束。當(dāng)您的要求超出約束默認(rèn)選項(xiàng)時(shí),約束的使用就會(huì)變得更加復(fù)雜。
有些約束將鎖定某些受約束對(duì)象的通道。例如,目標(biāo)約束將鎖定其受約束對(duì)象的方向通道(“旋轉(zhuǎn) X”(Rotate X)、“旋轉(zhuǎn) Y”(Rotate Y)和“旋轉(zhuǎn) Z”(Rotate Z))。哪一個(gè)通道處于鎖定狀態(tài)將指示您如何能在對(duì)象上使用多個(gè)約束。對(duì)于給定對(duì)象,可以使用目標(biāo)約束、法線(xiàn)約束、切線(xiàn)約束中的任一種,因?yàn)檫@些約束中的每一個(gè)約束都將鎖定受約束對(duì)象的方向通道。
約束鎖定的屬性也可以阻止這些屬性上表達(dá)式的使用。如果已鎖定屬性位于關(guān)節(jié)上,那么這些已鎖定屬性可以防止骨架返回到其綁定姿勢(shì)。