控制器(Controller)基本概念
.每一個物件都具有三大基本屬性,分別為Transform(移動、旋轉或縮放),和Object (物件基本參數)以及Material(材質貼圖等),皆受控制器(Controller)作用,我們之所以能夠手動操作物件在XYZ軸移動、旋轉或縮 放,並且設置動畫Keyframes,是因為每個一物件在Transform裡面的位置(Position)、旋轉(Rotate)或縮放(Scale) 都有被指派一個預設控制器,且這些預設的控制器皆有讓你手動在XYZ軸移動、旋轉或縮放此物件的功能,例如移動預設控制器為Position XYZ , 轉動預設控制器為Euler XYZ3ds,縮放預設控制器為Bezier Scale等,所以我們可以把控制器看成是一種我們要操控物件的方式,而不同的控制器則代表不同的操控方式,所以我們可以利用不同的控制器來製作不同的動 畫效果。



.我們若要改變物件的位移、旋轉或縮放控制器,可以從以下幾個方法:
(1) Motion面板裡的Assign Controller欄位裡先選擇要替換的控制器,之後按下Assign Controller按鈕來替換。
(2)打開Track view 視窗,從中選擇要替換的控制器,之後按下RMB鍵選擇Assign Controller來替換。


注意: 有可能在你指派新的控制器之後,將無法手動使用移動工具在XYZ軸移動該物件,那是因為此新的控制器不支援讓你在XYZ軸的可以手動移動該物件的原因,例如當你指派的是Noise Position控制器,那你將無法在XYZ軸手動移動物件,但若你指派的是Bezier Position ,則你仍然可以手動使用移動工具在XYZ軸移動該物件,主要是因為Bezier Position控制器有讓你在XYZ軸可以手動移動該物件的參數功能,但Noise Position控制器卻沒有。
.當要對某物件位移、旋轉或縮放指派多個控制器操作時,你就必須使用控制器列表(Controller List),指派控制器列表的方式有以下三種(下面以針對位移Position指派多個控制器為例):
(1) Motion面板裡的Assign Controller欄位裡選擇原本預設的Position XYZ控制器,之後按下Assign Controller按鈕後,在出現的選單裡選擇Position List控制器,接著會發現Motion面板裡的Assign Controller欄位裡仍會保留Position XYZ控制器,但是會多了AvailableWeight(Available使用來增加多個控制器用的,而Weight是控制每個控制器的影響權 )
著我們可以點選Available,再按下Assign Controller按鈕,並且選擇要添加的控制器(例如選擇增加Noise Position控制器並按下ok),接著會發現Nosise Position控制器被添加了,且同時保留Position XYZ控制器(如下圖),若我們想再添加更多個控制器,則可以再點選Available,再按下Assign Controller按鈕,並且選擇要添加的控制器即可。

(2) 第二種方法為打開Track view 視窗,從中選擇原本預設的Position XYZ控制器,之後按下RMB鍵選擇Assign Controller,在出現的選單裡選擇Position List控制器,接著會發現Motion面板裡的Assign Controller欄位裡仍會保留Position XYZ控制器,但是會多了AvailableWeight(Available使用來增加多個控制器用的,而Weight是控制每個控制器的影響權 ),接著我們可以點選Available,再按下Assign Controller按鈕,並且選擇要添加的控制器(例如選擇增加Noise Position控制器並按下ok),接著會發現Nosise Position控制器被添加了,且同時保留Position XYZ控制器(如下圖),若我們想再添加更多個控制器,則可以再點選Available,再按按RMB按鈕後選擇Assign Controller,並且選擇要繼續添加的控制器即可。
(3) 第三種方式為最簡單的方式,(以新增Noise Controller為例)即是從Animation選單裡,選擇Position Controller>Noise 即可,將會發現3ds max會自動保留原來預設的position XYZ控制器,並且增添了Noise Controller控制器,若要再繼續新增,則重複再到Animation選單裡選擇即可。
.Controller(控制器) Constrant(約束)
ControllerConstrant常令人搞混,但主要有以下幾個不同:

(1) Controller常是物件自己本身的參數運算效果,而Constraint則是必須牽涉到其他物件(例如A物件的位置被B物件的位置所約束)

(2)控制器可以作用在物件的三大基本屬性,分別為Transform(移動、旋轉或縮放),和Object (物件基本參數)以及Material(材質貼圖等),但約束則往往只約束物件的Transform(移動、旋轉或縮放)屬性。
(3) 在使用列表控制器添加多個控制器時,我們可以使用set active按鈕來切換我們想操作編輯的控制器,並且會在Motion面板中出現該控制器的編輯參數面板,例如前面的例子我們新增了Noise Cotroller後,會和原先的Position Controller一起作用在物件上,其影響權重(Weight)皆為100,箭顯示目前被設定set active的控制器為Noise Cotroller,因此目前我們可以操作編輯的控制器為Noise Cotroller,而Motion面板中也會出現Noise Cotroller控制器的編輯參數面板,並且會發現此時無法使用移動工具在XYZ軸移動該物件,若要讓物件可以使用移動工具在XYZ軸移動該物件,只要 點選Position XYZ,並按下set active按鈕將當前我們想操作編輯的控制器改為Position XYZ,將會發現又可以使用移動工具在XYZ軸移動該物件,並且Motion面板中會出現Position XYZ控制器的編輯參數面板,原因是前面說過的 Position XYZ控制器有讓你在XYZ軸手動操作物件的參數功能,但Noise Position控制器卻沒有(已經被電腦計算的噪波所取代,在Noise Position作用下,只能調整物件在XYZ軸的噪波大小和變化等參數來控制物件的晃動,而無法手動移動該物件)。

:set active按鈕是用來切換我們想操作編輯的控制器,而不是用來啟動或關閉控制器用的,要把一個控制器的影響關閉,必須將weight設為0,另外權重的 計算方式為: 假設A 權重weight a %B權重weightb% ,則A影響物件的百分比為 (a/a+b )*100% ,而B影響物件的百分比為 (b/a+b )*100%
是若是你對物件使用了Constraint約束(例如Position Constraint),則此物件位移將被約束在另一個物件上,因此將會發現即使用Set active按鈕將Position XYZ設為當前我們想操作編輯的控制器,仍無法使用移動工具在XYZ軸移動該物件,因此我們除了使用Set active按鈕將Position XYZ設為當前我們想操作編輯的控制器之外,還需要將Position ConstraintWeight設為0才可以手動使用移動工具在XYZ軸移動該物件。
.另外要注意的是我們可以在Motion面板裡的Assign Controller欄位裡,或者在Track view
視窗裡,選擇控制器後按RMB按鈕,再選擇Properties,將會出現進階的參數控制視窗可以對該控制器做設定調整。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。