2017-03-19 3 views
2

私はTHREE.jsにエクスポートしようとしているBlenderの基本的なウォークアニメーションを持っています。これは、再生ブレンダーで素敵になりますブレンダーエクスポートされたJSONモデルはTHREE.jsで間違ったアニメーションを表示します

enter image description here

、THREE.js輸出国で輸出された後、それはブラウザ上で次のようになります。

enter image description here

形状が壊れています、すべての体の部分ではありませんが、確かにいくつかの問題があります。私は今何をすべきか分からず、いくつかのオプションをチェック/チェックしていない状態でエクスポートしようとしました。

私はまた、この記事で説明を読んで、私は必要なすべての手順に従っだと思うが、それでも、この奇妙なアニメーション取得:コードI

http://unboring.net/workflows/animation.html#preview

https://github.com/mrdoob/three.js/pull/8412#issuecomment-210675561

https://github.com/mrdoob/three.js/issues/6050

を現在JSONモデル/アニメーションを読み込むために使用しています:

 var loader = new THREE.JSONLoader(); 
     var action = {}, mixer; 

     loader.load(path + '/dino.json', function (geometry, materials) { 
      materials.forEach(function (material) { 
       material.skinning = true; 
      }); 

      character = new THREE.SkinnedMesh(
       geometry, 
       new THREE.MeshFaceMaterial(materials) 
      ); 

      scene.add(character); 

      /* ANIMATION */ 
      mixer = new THREE.AnimationMixer(character);     
      action.walk = mixer.clipAction(geometry.animations[ 3 ]);    
      action.walk.setEffectiveWeight(1); 
      action.walk.enabled = true; 

      /* Update/render functions */ 
      onUpdateFcts.push(function(delta, now){ 
       mixer.update(delta); 
      }); 

      action.walk.play(); 
     }); 

私はBlender 2.78cとTHREE.js r84を使用しています。この改訂版にはBlenderエクスポータツールが含まれています。

答えて

2

私は同様のアニメーションの問題について、いくつかの興味深いリンクを発見した:

Model with bones animation (blender export) animating incorrectly in three.js

http://dev.mothteeth.com/2012/10/threejs-blender-exporting-skeletal-animations/

Blender exports a three.js animation - bones rotate strangely

これらのアドバイスのすべてを読んだ後、私は視覚的なアーティファクトなしアニメーションメッシュを成功裏に輸出していましたこのワークフローに従う:

  1. アーマチュアの骨をメッシュの周りに骨で作成します。完了し、オブジェクトモードで、最初にメッシュを選択し、次にアーマチュアを選択し、CTRL + P>自動ウェイトを押します。これにより、メッシュ上にアーマチュアモディファイアが生成されます。私が読んだものに対して、アーマチュア修飾子は、エクスポートする前に削除する必要はありません。
  2. 残りの位置のようなデフォルトのポーズが必要です。これは、Blenderで選択したものでなければなりません。また、そのデフォルトポーズで再生フレーム0を選択する必要があります。
  3. すべてのポーズの最初と最後にキーフレームを作成しましたが、これは重要です。
  4. すべてを選択解除し、アーマチュアではなくメッシュのみを選択する必要があります。これは、オブジェクトモードで実行する必要があります。
  5. 私のエクスポート設定:

enter image description here enter image description here

注:私はこれは私が運に従っていました同じワークフローであると言わなければなりません。今回の違いは、最初にすべての頂点グループを削除し、アーマチュアモディファイア(アーマチュア自体ではなく)も削除し、最初のものからすべてのステップを再作成したことです。さて、エクスポートされたアニメーションメッシュは十分にうまく機能しました!

関連する問題