我正在研究一個小型多人遊戲,其中有一個單人皮膚玩家網格,許多玩家使用它。 一些背景:我試過通過maya和blender collada導出加載。兩者似乎都引用了某種形式的動畫數據,但我無法使其工作。我已經嘗試過Maya JSON導出器,它只用一條材質線就吐出小小的1k文件。最後,攪拌機JSON出口商工作。所以,現在Model with bones animation (blender export) animating incorrectly in three.jsThree.js - 剝皮的骨骼網格實例,動畫和混合
我有一個geometry
對象,從JSON加載器materials
陣列:對於那些還試圖加載蒙皮網格,我發現這非常有幫助。
我可以在材料上設置skinning=true
,創建一個THREE.SkinnedMesh
,將其添加到現場,通過THREE.AnimationHandler.add
添加動畫(我在什麼AnimationHandler
實際上做還不是很清楚),創建一個THREE.Animation
,叫play()
和update(dt)
。最後,我有一個單一的網格和一個動畫在我的場景中播放。
現在我想這些是什麼?
許多情況下 - 我想不止一個球員的典範在我的現場跑來跑去。
- 我不希望加載多次相同的網格和動畫數據。
- 動畫時間應該是每個實例(所以它們並非全部同步動畫)。
我應該創建同一型號許多
THREE.SkinnedMesh
和THREE.Animation
?THREE.AnimationHandler
在哪裏?許多動畫 - 我想要空閒/運行週期能夠單獨播放。
AFAIK只有一個動畫關鍵幀的時間線。 Three.js如何爲我分區,還是我必須手動執行?
動畫混合 - 當角色停止運行,並與空閒動畫仍然有效,我不想從一個到另一個瞬間捕捉。我想暫停運行動畫並將該狀態混合回空閒動畫中。
這是目前可能與蒙皮網格(不變形目標)?有沒有關於這個的例子或文檔?
任何信息將不勝感激,即使只是在正確的方向微調。 我沒有完整的教程,我想了解一些關於這些功能的更高級別的信息。
我可以高興地落實和,但我希望讓我開始對threejs剝皮和動畫框架的一些信息/描述文檔。例如,this並不多。
[編輯]
謝謝,@NishchitDhanani,這個頁面是相當不錯的,但沒有提及多個動畫或混合骨骼動畫:http://chimera.labs.oreilly.com/books/1234000000802/ch05.html#animating_characters_with_skinning
本頁面說多個動畫仍然是一個問題,當前但不更多(在評論中討論了一點): http://devmatrix.wordpress.com/2013/02/27/creating-skeletal-animation-in-blender-and-exporting-it-to-three-js/
目前的答案是...
- 使用許多
THREE.SkinnedMesh
,仍然不確定約THREE.AnimationHandler
。 - 不知道。也許有辦法在
THREE.Animation
中手動修改開始/結束關鍵幀。 - 未執行AFAIK。我可能會嘗試創建一個自定義着色器,它可以使用兩個
THREE.Animation
s並在它們之間進行插值。
任何人有一個人誰擁有從MAYA 2013導出的場景,還有沒有其他選擇的任何建議。除了將其導入到不同的程序中 –
@RyanBlevins我正在使用collada作爲我的關卡網格+燈光等。它只是骨骼動畫我無法工作。 collada加載程序爲您提供了一個帶'.scene'的對象。您可以添加整個事物或從其子項中挑選。 – jozxyqk
它必須具有剝皮的骨骼動畫。 –