數碼資源網

文章頻道 軟件下載 安卓下載 蘋果下載

當前位置:首頁文章中心動畫專欄Maya → 用節點來做車輪的聯動動畫

用節點來做車輪的聯動動畫

時間:2005-10-09 21:56:44人氣:157作者:網友整理
原神KFC聯動版v1.11.8
原神KFC聯動版v1.11.8 for Android
  • 類型:動作格鬥大小:86.69M語言: 評分:4.7
  • 原神KFC聯動版是一款美式動畫風格的對抗射擊遊戲,遊戲講幸存的人類開著一輛大巴,...
立即下載
荒野行動新世紀福音戰士聯動v1.7.8
  • 類型:飛行射擊大小:32.76M語言: 評分:4.0
  • 荒野行動新世紀福音戰士聯動是一款非常刺激熱血的槍戰射擊類遊戲,遊戲中有著多戰場景...
立即下載
樹節點APP安卓版(生活信息管理) v1.0 最新版
樹節點APP安卓版(生活信息管理) v1.0 最新版 for Android
  • 類型:安卓係統應用大小:94K語言:簡體中文 評分:3.0
  • 每個人的手機中都有各種各樣的信息,如果你想要對自己的信息進行管理的話,那麼你可以...
立即下載

  這種效果用MEL應該很容易做的,但目前為止俺還不會寫mel程序,所以想了一下這個效果如何做。就是輪前進時自身會跟著一起滾動一定角度的,這裏要做的就是不用MEL而用節點來完成這樣的工作。第一步先創建一個物體,這裏用的是一個比較簡單的NURBS做的車輪。有一點要說明,那就是模型的局部坐標一定要放置在模型的中心,這很重要,因為我們要做的就是利用模型的移動距離來計算出它的轉動角度。
    這裏是場景文件,下載後用MAYA打開,場景中有一個NURBS模型,名稱是Che.或者隨便創建一個有點像車輪的模型。

 看看這張圖,我們來想想如何根據移動的距離計算出它應該轉動的角度,都是數學知識就不多說了。

[page]

 打開節點窗口,單擊window->hypergraph,如圖

    或者把麵板布局成這樣的:然後在hypershader中創建一個乘除節點

[page]

 創建乘除節點

    並且重命名為zhouchang,ctrl+a打開屬性編輯,設置參數為下圖,注意圖中的input2是模型的直徑,這裏是用長度標注得到的數據,可以根據具體的場景來更改,Operation模式(Multiply)。

[page]

然後,再新建一個乘除節點。重命名為X,然後鼠標中鍵按住模型(這裏名稱是Che)不放,拖動到乘除這裏名稱為X的節點上釋放,在彈出的菜單中選擇other

    在隨後的連接窗口中把左邊窗口(che)的Translate屬性下的Translate x和右邊窗口(X)下的Input1下的Input1 x連接,方法就是單擊左邊的Translate x,然後單擊右邊的Input1 x。隨後設置X的Operation模式為Divide,這裏有三個選項,第一個是乘模式,第二個Divide是除模式,第三個是求冪。都是以input1為第一個參數,然後按照指定的運算模式運算Iupt2。

[page]

接下來中鍵按住Zhouchang節點,拖到X節點上釋放,一樣選擇Other。在隨後的連接管理窗口中把左邊(Zhouchang)下的Output下的Output X和右邊的X節點下的Input2下的Input2 X連接起來,如果看不到有些屬性值,在菜單中把隱藏的屬性打開。順便說一下,所有的拖動操作都是在Hypergraph完成的。

    現在重要的一點要來了,我們現在要做的就是求出物體的角度,再新建一個乘除節點,並且重命名為Angle,中鍵按住X節點,拖到Angle上釋放,選擇Other,把左邊Output下的Output X和右邊的Input2下的Input2 X連接,還要設定Angle節點的Input1值最左邊的數值為360,這三個輸入框相對應的值是X Y Z,運算模式選擇乘。

[page]

 連來連去,頭都大了,接下來中鍵按下Angle節點,拖動釋放到模型(che)節點上,選擇Other,在連接管理窗口中把左邊(Angle)的Output下的Output X和右邊模型下的Rotate下的Rotate Z連接起來。注意,這個例子中的節點名稱很重要,不要搞錯了。

    現在看看場景效果,沿X軸方向移動車輪模型,看到了沒有?車輪跟隨著X軸的不斷變化而不停地旋轉著。這個例子中我們用的是X軸的移動變化,當然也可以選擇Y或者Z軸。不過好像不對勁,因為車輪的轉動方向和移動方向不符合現實。這點很好辦,隻要我們把運算出的結果反轉一下就可以了,而做這一點是反轉節點reverse的拿手好戲。新建一個reverse節點,中鍵拖動Angle到剛建的reverse上,在彈出菜單中選擇Input,這樣就把運行結果反轉了一下。

[page]

 然後把已經反轉的運算結果輸出到模型(che)的rotate Z上,中鍵拖動reverse1到模型(che)上,選擇other,在連接窗口中把左邊(reverse1)下的Output下的Output X和右邊窗口(che)下的rotate中的Ratate Z連接起來。

    大功告成了,現在X方向移動場景中的模型,模型會隨著X距離的變化轉動,而且這個轉動是個精確的數值。這個精度當然不是非常精確的,它受控於模型的直徑和圓周率的值。換句話說,直徑取得越精確,轉動的結果越精確。
    有朋友可能會問,那麼如果我縮放了模型,這個值豈不錯了。沒錯,如果把車輪模型進行縮放的話,這個結果的確不正確,現在我們就來讓最後的結果可以隨著車輪模型自動更新。當然這是有限製的,比如隻能等比例縮放XY軸,不過好像也沒有橢圓的車輪吧。回憶一下,在第一個乘除節點Zhouchang的Input2 X值取的是2,這是車輪模型的直徑值,也就是說隻要這個值能夠隨著模型的縮放更新的話,那麼我們的目的就達到了。一句題外話,一定要保證模型現在的縮放值都是1,否則就沒戲。
    再創建最後一個乘除節點,重命名為Scale_R,然後中鍵拖動模型節點(che)到scale_R上釋放,選擇other,在連接窗口中把左邊模型(che)下的scale和右邊scale_R節點的Input1連接起來,接著把scale_R的Input2 X(就是input2最左邊的)設為值設為2,這是模型的直徑值(必須保證此時的模型縮放率為1),要視你的模型而定,我這裏是2。

[page]

說說為什麼一定要保證模型此時縮放率為1呢?因為我們要的是直徑能夠隨著模型縮放而自動更新,這個結果說到底就是模型的縮放率乘以它縮放率為1時的直徑值。其實有個更好的方法,就是把標注距離的節點下的值屬性做為input1 X的,然後把標注節點做為子物體連接到模型上。不過我這maya不知道什麼原因,怎樣也找不到需要的那個屬性。
最後一步,把上麵的scale_R的輸出值連接到計算周長的節點Zhouchang下的Input2中的Input2 X,這樣就實現了周長的動態變化。中鍵按下scale_R,釋放到Zhouchang節點上,選擇other,把左邊的scale_R下的Output中的Output X和右邊的Zhouchang下的Input2中的Input2 X連接起來。

    現在全部連接完畢。展開Hypergraph窗口中Che節點的輸出和輸入連接,可以看到如下圖。

[page]

 現在無論如何移動X軸或者XY軸縮放得到的結果都是正確的了。補充一點,如何你拖動模型節點(che)時連接窗口中找不到相應的屬性,那麼應該看看下麵這圖。

    不要把下麵那個Nurbsbook1選擇了,這個隻是陰影組節點的幾何物體信息。

相關文章

  • 3D教程-基礎動畫練習

    1、如圖是一個已經設置好的場景,分為5個部分,4個車輪,一個車身。點擊放大2、選擇四個車輪,使用鏈
  • 車輪駕考通好用嗎 功能有哪些

    車輪駕考通2018科目四試題安卓版擁有獨家高清教學視頻+權威解析,幫助超過1億學員順利拿到駕照,車輪...

感謝速聯科技、八度網絡、九九數據、億恩科技、群英網絡讚助部分帶寬!

關於本站 | 聯係方式 | 版權聲明 | 下載幫助(?) | 網站地圖

Copyright 2002-2020 95262.com 【數碼資源網】 版權所有 粵ICP備2020128507號-1

本站所有軟件來自互聯網,版權歸原著所有。如有侵權,敬請來信告知 ,我們將及時撤銷。