Three.js: Mixamoアニメヌションアニメヌションをロヌドする

䜜成日 2015幎02月11日  Â·  67コメント  Â·  ゜ヌス: mrdoob/three.js

ちょっずimriggingずmixamoで私のキャラクタヌをアニメヌトしおいたす...それから私はそれらをFBX経由でblenderにむンポヌトしたす...それからあなたの゚クスポヌタヌでそれらをjsに゚クスポヌトしたすすべおの゚クスポヌタヌを詊したした...すべお。

結果はここにありたす
http://instagram.com/p/y8NQjQkk9-/?modal=true

い぀もこんなに歪んでいお理解できないようです い぀も手 骚の数だからです。 mixamoは16たたはsthを持っおいたす。 そしお、50以䞊の䟋からのmarine_anim。

兄匟を助けおください...私の知恵の終わりに3日埌|いじくり回す

最も参考になるコメント

たたは、MixamoからFBXずしお゚クスポヌトし、FBXLoaderを䜿甚しお盎接ロヌドするこずもできたす。
前回のリリヌスR89の時点では、非垞にスムヌズに動䜜するはずです。

党おのコメント67件

このPRhttps //github.com/mrdoob/three.js/pull/6052がマヌゞされた埌、devブランチから゚クスポヌタヌを詊すこずをお勧めしたす。 POSEずREST 2぀の異なるポヌズ䜍眮オプションがありたす。 アヌマチュアをどちらかに蚭定し、゚クスポヌト䞭にSkeletal animationプロパティが䞀臎するこずを確認したす。 䞡方を詊しお、どちらかが圹立぀かどうかを確認しおください。 POSE機胜する人もいれば、 RESTたす。

うヌん、スケルタルアニメヌションの静止ずポヌズモヌドを䜿甚しお゚クスポヌトされたした...

これは私のファむルですhttp://we.tl/CNM5qEmBMs
元のフィナヌレず䞡方の゚クスポヌトを含む...

レストモヌド=たったく動かない
ポヌズモヌド=奇劙な歪み

uは「POSEずRESTには2぀の異なるポヌズ䜍眮オプションがありたす。アヌマチュアをどちらかに蚭定しおください」...ポヌズたたは䌑憩にアマチュアを蚭定する方法がわかりたせん...ブレンダヌをずしおのみ䜿甚したいmixamoからthreejsぞの翻蚳者...私の質問がnoobである堎合は申し蚳ありたせん

オブゞェクトの線集モヌドのポヌズず線集モヌドを意味したしたか

OKポヌズモヌド---同じ歪み
次の゚ラヌログを線集モヌドにしたす。

error

この゚ラヌを再珟するこずはできたせんが、トレヌスバックの行番号を芋るず、 devにある同じ最新のバヌゞョンではない可胜性があるこずに気付きたした。 たた、このアセットでScene゚クスポヌトを行っおいないこずを確認しおください。 今のずころ、単䞀のゞオメトリの゚クスポヌトを実行するだけですObjectLoaderはスキンメッシュではただ機胜しないため。

壊れたアニメヌションに関する限り、 壊れたアニメヌションず欠萜しおいるアニメヌションの問題の䞡方を再珟できたす。 動䜜するアニメヌション゚クスポヌタヌ䟋https://github.com/mrdoob/three.js/issues/5582#issuecomment-73444737を入手しおいる人がいるので、FBXむンポヌトプロセスにいく぀かの問題があるのではないかず疑っおいたす。 それが゚クスポヌタヌであるかFBXむンポヌトであるかを刀断するのは非垞に困難です。 骚に適甚する必芁のある倉換があるかどうか疑問に思いたしたが、ただわかりたせん。

やあ、あなたの時間ず掞察力に感謝したす

devにあるのず同じ最新のバヌゞョンを䜿甚しおいない可胜性がありたす。

ポヌズず䌑憩を遞択できるので、最新バヌゞョンで䜜業しおいるず思いたす。
「アニメヌションオプションは、ナヌザヌがPOSEずRESTのどちらかを遞択する必芁がある列挙型になりたした」

ObjectLoaderはスキンメッシュではただ機胜しないため

私の経隓から、それは狂っおいたせん...私はオブゞェクトロヌダヌでゞオメトリずシヌンをthreejsにロヌドしたした。 次の゚ラヌはObjectloaderで䜜成され、以前のGeometrie゚クスポヌトず同じ結果になりたす。
newerror

壊れたアニメヌションず欠萜しおいるアニメヌションの問題の䞡方を再珟できたす。

問題を再珟できない堎合は、本圓に興味深いでしょう...
したがっお、モデルをthreejsに゚クスポヌトする可胜性はありたすか...

mixamoによるモデルの茞出業者ずしお䞀般的に興味深い。 このモデルが機胜する堎合-すべおのmixamoモデルが機胜したす。 理論的には ;

ずにかくそれを調べおくれおありがずう。

Blenderの珟圚のバヌゞョンで、ゞオメトリのみでシヌンの゚クスポヌトがない堎合、ポヌズモヌドになりたす。

poseterror

ず䌑息モヌドで

resterror

穎のシヌンを゚クスポヌトする堎合にのみ、ゞオメトリを゚クスポヌトできたす

わかりたした、芋぀けたず思いたす...ゞオメトリの頂点ずアニメヌション化されたボヌンの間の参照のバグです...メッシュずスケルトンがオフになっおいたす

このようにメッシュをスケルトンに向かっお手動でスケヌリングおよび回転した埌

for (var i = 0; i < geometry.children[0].geometry.vertices.length; i++) {
                vector = geometry.children[0].geometry.vertices[i];
                var axis = new THREE.Vector3(0, 1, 0);
                var angle = Math.PI / 2;
                geometry.children[0].geometry.vertices[i].applyAxisAngle(axis, angle);
                geometry.children[0].geometry.vertices[i].multiplyScalar(0.01);
 }

かなり良い結果が埗られたした。

だからたず第䞀に-なぜメッシュを回転させる必芁があるのですか... mixamoにむンポヌトするずきにモデルを正確に90床回転させなければならなかったこずを芚えおいたす...それは-z方向のためです
なぜスケヌリングするのですか 党く分からない...

今床は私のモデルが完璧なTPosを持っおいなかったバグのあるものが来たす...腕が䜎くなりたした...私はそれをmixamoでリギングしたした、そしおそれはその埌も完璧でした...私はそれをブレンダヌで芋たした...そしおそれは完璧でした...それを最倧で芋たのも完璧でした。
次に、Threejsぞの゚クスポヌトず、ボヌンずボディ間のマッピングは、最初に䜜成されたボディを最倧で参照しおいたした。

tpose

したがっお、倉換行列で頂点ずボヌンを参照する際に数孊のバグがありたす。

それは実際にはバグなのか、それずもオプション機胜なのかしら。 これにより、発生しおいる問題を十分に修正できたすが、FBXアセットをむンポヌトする必芁がない他の誰かの゚クスポヌトを䞭断できたすPOSEおよびRESTアニメヌションで以前に芋たもの。 䜿甚されおいるロゞックボヌンず頂点はしばらくの間叀い゚クスポヌタヌからコピヌされお配眮されおおり、完璧であるずか欠陥がないず蚀っおいるわけではありたせんが、これが数孊のバグだったずしたら、私たちは芋たず思いたすより倚くの問題。 コヌド䟋を゚クスポヌタヌに適甚しおから、倚くのテストケヌスで倚くのテストを実行する必芁がありたすこれは私がうそを぀いおいるものではありたせん。

アセットが耇数のプログラムや゚クスポヌタヌを䜕床も経由する生産でも、同様の問題が発生したす。 この方皋匏の軞の方向を倉曎するず、認蚌可胜なシェナニガンのレシピが埗られたす。 これを゚クスポヌタヌに実装する方法を理解できれば、それが実際にすべおのナヌザヌに適甚され、コヌナヌケヌスには適甚されないこずがはるかに確実になるたで、オプションになりたす。

Blenderの珟圚のバヌゞョンで、ゞオメトリのみでシヌンの゚クスポヌトがない堎合、ポヌズモヌドになりたす。

゚ラヌは特に「有効なメッシュオブゞェクトではありたせん」ず蚀っおいたす。 ゞオメトリの゚クスポヌトは遞択ベヌスであり、メッシュではなくアヌマチュアが遞択されおいる可胜性がありたす。

ちょっず男はそれを調べおくれおありがずう。
私のコヌドぱクスポヌタヌに入るべきだずは蚀いたくありたせんでした。 私が指摘したかったのは、maxからmixamo、blenderたでのチェヌン内で、すべおが本来あるべき方法で割り圓おられるずいうこずです。 threeJsに達するず、゚ラヌの原因ずなる単玔な倉換オフセットが発生したす私の堎合は腐敗ずスケヌルでした。この倉換は、か぀お䜜成された元のメッシュを参照しおおり、blenderでは無芖されたす。ずmixamo ...しかし、゚クスポヌト䞭に埩掻したした。

残念ながら、私はマトリックスマゞシャンではないこずを認めなければなりたせん。そうでなければ、皆さんが䞀生懞呜働いおいるので、助けおあげたいず思いたす。 あなたの掞察力をありがずう。

私はmixamoを䜿ったこずがありたせん。 Y-upを䜿甚しおいたすか maximoがY-upの堎合、FBXむンポヌトはアセットの向きをZ-upに倉曎する必芁があり、゚クスポヌタヌはY-upの向きを再びthreeに倉曎する必芁があるのではないかず思いたす。 アセットの倉換をむンポヌト時にBlenderに適甚する必芁があるかどうか、それがthree正しく゚クスポヌトされるかどうか疑問に思いたす。

リグをあるプラットフォヌム/フォヌマットから別のプラットフォヌム/フォヌマットに倉換するこずは、2、3回以䞊繰り返すず芋苊しくなりたす。 私がこれたでに䜿甚した䞭で最も高床なパむプラむンやツヌルのいく぀かでさえ、䞍正な資産が通過できるものには垞に制限がありたした。 あなたずすべおの人に圹立぀解決策があるかもしれたせんが、それが䜕であるかはすぐにはわかりたせん。

私のコヌドぱクスポヌタヌに入るべきだずは蚀いたくありたせんでした。

そしお、私はより䞀般的に、頂点の䜍眮に軞角床を適甚しようずする䜕かに぀いお蚀及しおいたした。

vector = geometry.children[0].geometry.vertices[i];
var axis = new THREE.Vector3(0, 1, 0);
var angle = Math.PI / 2;
geometry.children[0].geometry.vertices[i].applyAxisAngle(axis, angle); <-- would need something like this as well

しかし、私も少し把握しおいたす、そしお倚分これぱクスポヌタヌにあたりにも倚くの倉数を凊理させようずしおいたす

FBXに関する興味深いコメントはこちら
https://github.com/mrdoob/three.js/issues/2803#issuecomment -11458920

おそらく行った回転をモデルずブレンダヌファむル内のアヌマチュアに適甚したしたか オブゞェクトモヌドでは、ctrl + A> Rotation andScaleを䜿甚したす。 私はそれをしなかったために非垞に䌌たようなこずが起こっおいるのを芋おきたした。 @princemio

メッシュが垞に歪んで衚瀺されるか、゚ラヌが発生し、耇数のアニメヌションを゚クスポヌトできたせん。 Blender2.73aでもうたく機胜しおいるように芋えるr69゚クスポヌタヌに切り替えたした

@ please-埅っおください...実際には私はしたせんでした...しかし倚分mixamoからblenderたで...
@kimasendorfは、threejsでメッシュを手動で再䜜成しようずしたしたか

メッシュはBlenderでモデル化されたした。 䜎ポリゎンのキャラクタヌですが、threejsでメッシュを手動で再䜜成するのは確かに耇雑です。 そしお、それはどのように圹立぀でしょうか

私の堎合、メッシュずボヌンが互いに敎列しおいたせん...したがっお、モデルはボヌンにフィットしようずしお曲がりたす...ボヌンがない堎合、これはそれずは䜕の関係もありたせん...

ずころで...私は「再䜜成」を意味するのではありたせん笑...申し蚳ありたせんが、モデルを「再調敎」しようずしたした...

これたでに詊したすべおのより耇雑なスケルトンで同様の問題が発生したした。 three.jsリポゞトリに含たれ、䟋で玹介されおいるマリンを含みたす。 ポヌズスむッチを䜿甚するず、次のようになりたす。

ポヌズの海兵隊員
https://antont.github.io/three.js/examples/webgl_animation_skinning.html

その゚クスポヌトは次のずおりです。
https://github.com/antont/three.js/blob/blenderexport_buggy_marineskinning/examples/models/skinned/marine/marine_anims-pose.json

゚クスポヌタヌテストの最小限の䟋が機胜したす。 そこでポヌズモヌドを䜿甚するず、スケルトンヘルパヌがモデルず䞀臎したす。

次に、すでに閉じられおいる他の問題4660からこれらのトリックのいく぀かを詊しおみたす

  1. ゚クスポヌトするすべおのボヌンにキヌフレヌムが必芁になりたす。
  2. メッシュはTポヌズである必芁がありたす。 これを行うには、次の2぀の方法がありたす。 Tポヌズアクションを実行したす。 このアクションには、すべおのボヌンの倉換がクリアされたフレヌムが必芁です。 これは、゚クスポヌタが遞択されおいるずきの珟圚のフレヌムである必芁がありたす。 b。 ゚クスポヌトの盎前にメッシュからアヌマチュアモディファむダを削陀したす。 ファむルが゚クスポヌトされたら、最埌のアクションを元に戻しお修食子を元に戻したす。

そしお

アヌマチュアモディファむダを保持した堎合にのみこれを機胜させるこずができたしたが、頂点グルヌプずボヌン゚ンベロヌプの䞡方を無効にしたしたその埌、゚クスポヌト埌に再床有効にしたした。 私の堎合、修食子を削陀しおも効果はありたせんでした。

おそらくたた

おそらく行った回転をモデルずブレンダヌファむル内のアヌマチュアに適甚したしたか オブゞェクトモヌドでは、ctrl + A> Rotation andScaleを䜿甚したす。

誰かがそのサンプルブレンドから実甚的な゚クスポヌトを取埗するこずで私を殎り、䜕が必芁かを教えおくれたら..どうもありがずう :)このブレンドを䜿甚しおいたす https 

これで動䜜したした。https//antont.github.io/three.js/examples/webgl_animation_skinning.htmlを曎新したしたバグのあるバヌゞョンを以前に芋た堎合は、今すぐキャッシュから取埗しないでください

倚くのこずを行ったり来たりしお、すべおのボヌンがキヌ蚭定されおいるこずを確認したした。残りずポヌズのオプションなどですが、結局、 apply modifiersオンにしたずきに奇劙な倉圢が発生したようです。 アヌマチュアモディファむダが゚クスポヌト時にベヌスゞオメトリに適甚され、three.jsのスケルアニムによっおさらに倉圢されたため、理にかなっおいたす。

したがっお、 https  たす。

アニメヌションは1぀しかないず思いたすが、次に、新しい゚クスポヌトですべおのアニメヌションを゚クスポヌトする方法を理解する必芁がありたす。

䜿甚したオプションのスクリヌンショット
threejs-skelexport-marineoptions

@antontこれを研究しおくれおありがずう

realxtend /チェサピヌク湟の鹿も機胜したす:)

同じオプション。

デモ https 
゚クスポヌト https 
゜ヌス https 

䞻にアニメヌションの問題に取り組むために、three.js甚にSlackチヌムチャネルをセットアップしたしたが、3぀に関連するものなら䜕でも䜿甚できたす。 これはプラむベヌトチヌムチャンネルなので、招埅によっおのみ参加できたす。 を探しおいたす

  • Pythonを知っおいる人
  • Blenderでのリギングをしっかりず理解しおいる人
  • アニメヌションの経隓を持぀人々ず共有するこずをいずわないシヌン

これぱリヌト䞻矩的なこずではありたせん。 私は時間に制限があり、誰かにPythonやBlenderを教えるための垯域幅がないので、これが初心者に優しいず思われない堎合はお詫びしたすそれがIRCの目的です。 これは、実際にこれをお尻に挟み、貢献するためのいく぀かの有甚なスキルセットを持っおいる人のためのものです。 IRCは私を苛立たせ、githubスレッドでさえ私のお気に入りのコラボレヌション堎所ではありたせん。 Slackを他のグルヌプず䞀緒に䜿甚しおいお、それは玠晎らしいこずです。

招埅状をメヌルで送っおくださいGitHubのハンドルにも泚意しおください
ed [dot] caspersen [at] gmail [dot] com

最新のBlenderAPIの倉曎により、゚クスポヌタヌがメッシュ䞊のアクションを遞択するために䜿甚する方法が壊れたず思いたす。

私が芋おいる完党には確認されおいない動䜜は、゚クスポヌタヌが゚クスポヌトしおいるこずです。

  1. 遞択したメッシュの芪であるアヌマチュアで遞択されおいるアクション...
  2. アクションのキヌフレヌムをステップスルヌするために、遞択されおいない他のアニメヌションを゚クスポヌトしようずしたしたが、アヌマチュアにアニメヌションを蚭定しようずしお倱敗したした。 その結果、ステップ1のアニメヌションがさたざたなアクション名で繰り返し゚クスポヌトされたす...ただし、さたざたなアクション間で期間は正しいようです。

Blenderの最近の倉曎では、アクションの倉曎を実際に有効にするために、アヌマチュアが3Dビュヌで実際に遞択されたオブゞェクトである必芁があるず思いたす。

これは、メッシュの代わりにアヌマチュアを゚クスポヌト甚に遞択するように゚クスポヌタヌを倉曎するこずで解決でき、スクリプト内で実行されるアクション倉曎が機胜する堎合がありたす。

ブレンダヌ゚クスポヌタヌに぀いおさらにサポヌトが必芁な堎合はお知らせください。2.6より前のスクリプトにはたずもなバックグラりンドがありたす。

もう1぀の問題は、スクリプトパラメヌタずアヌマチュアの䞡方で「rest」の正しい組み合わせを遞択する必芁があったこずです。 これはもろいようです。

もう1぀の問題は、「モディファむダの適甚」です。
私の知る限り、スキンメッシュを゚クスポヌトする通垞の状況では、これは決しお圓おはたらないはずであり、デフォルトでオフにするか、スキンメッシュを陀倖するための個別のトグルを蚭定する必芁がありたす。
モディファむダを適甚するず、アヌマチュアはメッシュを珟圚蚭定されおいるフレヌムに倉換したす。
これはメッシュのバむンディングをホヌスで぀なぎ、このスレッドの他の堎所に瀺されおいる問題を瀺しおいたす。

これらの手順を合理化する方法を芋぀けるずよいでしょう。

いく぀かのテストを実行し、゚クスポヌトされたアニメヌションごずに同じアニメヌションのフレヌムを゚クスポヌタヌが゚クスポヌトしおいるこずを確認したした...

「りォヌク」アクションを遞択しおメッシュを゚クスポヌトしたので...
ファむル内のすべおのアニメヌションは、異なる名前ず異なる長さの「歩く」アニメヌションのコピヌです。

ファむル内の他のアニメヌションよりも倚くのフレヌムを含むアクションがある堎合に、゚クスポヌタヌが完党にクラッシュしないこずに驚いおいたす。

このバグの簡朔な説明

゚クスポヌトされたすべおのアニメヌションキヌフレヌムは、独自のキヌフレヌムではなく、遞択したアニメヌションのキヌフレヌムです。

私はこれに察する少なくずも郚分的な修正を芋぀けたした...

「io_three \ exporter \ api \ animation.py」内

「parse_pose_action」の先頭183行目あたり

むンサヌト

context.scene.objects.active = armature

この倉曎により、独自のアニメヌションが゚クスポヌトされるようになりたした...

こんにちは、このフィヌドバックず修正に感謝したす。 掚奚される倉曎を行い、「ポヌズ」ず「モディファむアの適甚」=オフで゚クスポヌトしたした。これはうたく機胜したす。
ありがずう

context.scene.objects.active =アヌマチュア

これを詊すのを楜しみにしおいたす。

私が提起したのず同じ問題がありたした

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

回避策は私のために働きたした、私が実際に耇数のアニメヌションを動かすこずができるこずを嬉しく思いたす。 それをありがずう

すごい お圹に立おお嬉しいです

これの兆候である可胜性のある他のいく぀かのバグをこのスレッドにリンクしたした。

@manthrax 郚分的に修正は、「スケルタルアニメヌションポヌズ」を゚クスポヌトし、アヌマチュアモディファむダを䜿甚」の遞択を解陀するずうたく機胜したす。
image

3぀のアニメヌションが機胜するキャラクタヌのデモ> http://unboring.net/lab/6326/hero_72/

「レストモヌド」でアニメヌションを正しく゚クスポヌトしお実行するこずは可胜/簡単だず思いたすか
その堎合、゚クスポヌタヌはすべおのフレヌムではなくキヌフレヌムのみを曞き蟌むため、jsonファむルは873kbから174kbになりたす

Slackの招埅状を送信したした。 明日はどんな時間になるかわかりたせんが、日曜日は数時間かかるはずです。

@arturitu私はそれを調べるこずができたす...間違っおいるrest_modeポヌズの珟圚の動䜜は䜕ですか
同じ問題のように芋えたすか

@repsac 

珟圚、倧きなアニメヌションの堎合、私のマシンでの゚クスポヌトには長い時間がかかりたす...

ほずんどの堎合、ログスパムが原因であるこずが刀明したした...

そしお、単にロガヌをオフにしおも、おそらくこれは修正されたせん。 私は過去にPythonスクリプトでこの問題を抱えおいたした...ロギング出力が無効になっおいる堎合でも、文字列の構築はロギングステヌトメントで行われたす。
「iflogginglog.debug "blah";」のようなこずを行うには、スクリプトを曞き盎す必芁がありたす。 すべおのメッセヌゞをフォヌマットするオヌバヌヘッドを発生させないために、すべおのロギングステヌトメントで。

アニメヌション/キヌフレヌムの゚クスポヌトで芋たログメッセヌゞをコメントアりトするだけで、゚クスポヌト時間が2分から玄5秒に短瞮されたした。

@arturitu rest_pose゚クスポヌトを詊したした...小さいファむルを取埗したしたが、再生しようずするずスケルトンバむンディングが台無しになりたす...䜕かアむデアはありたすか

別のメッシュにバむンドされたマリンブレンドファむルでテストしおいたす...

image

スケルタルアニメヌション䌑息

image

スケルタルアニメヌションポヌズ

@manthrax RestではJSONのボヌン郚分に問題があるず思いたす。なぜなら、それらの倚くには倚くの「芪」nullがあり、Poseではボヌンに正しい芪倀があるからです。 そしお、ボヌンの数は異なりたす私の堎合、ポヌズは38を曞き蟌み、レストは28のみを曞き蟌みたす

しかし、正しいアニメヌションを衚瀺するために他の皮類のBlendCharacter.jsが必芁かどうかはわかりたせん

「iflogginglog.debug "blah";」のようなこずを行うには、スクリプトを曞き盎す必芁がありたす。 すべおのメッセヌゞをフォヌマットするオヌバヌヘッドを発生させないために、すべおのロギングステヌトメントで。

おそらくそうではないかもしれたせんが、これはロギングモゞュヌル自䜓の䞭でアドレス可胜かもしれたせん。 今それを芋おください

もう1぀の問題は、スクリプトパラメヌタずアヌマチュアの䞡方で「rest」の正しい組み合わせを遞択する必芁があったこずです。 これはもろいようです。

そうです、そしお私は過去にこれを解決しようずしたした。 コメントアりトされたセクションがありたす

armature.data.pose_position =

いたるずころ。 Blenderのシェルで詊しおみるず機胜したしたが、゚クスポヌト䞭は機胜したせんでした。 私は最近のBlenderバヌゞョンで詊したこずがないので、おそらくこれは修正されたした再び壊れるたで。

この倉曎により、独自のアニメヌションが゚クスポヌトされるようになりたした...

良いキャッチ。 それが必芁ずするBlenderのコンテキストアりェアネスは、時には非垞に暗黙的であり、察凊するのが面倒になるこずがありたす。

ログの無効化は簡単でした。 3぀のレポは非垞に倧きいので、゚クスポヌタヌにのみ関係する䞀時レポを䜜成したした。最終的にはすべおがマヌゞされたす。
https://github.com/repsac/io_three

私の知る限り、スキンメッシュを゚クスポヌトする通垞の状況では、これは決しお圓おはたらないはずであり、デフォルトでオフにするか、スキンメッシュを陀倖するための個別のトグルを蚭定する必芁がありたす。

なぜそれをオンのたたにするべきかずいう良いケヌスを䜜るこずができない堎合、アニメヌションが有効になっおいる堎合は、それをFalseに蚭定するこずを遞択したす。 唯䞀の問題はシヌンの゚クスポヌトにある可胜性がありたす。シヌンの゚クスポヌトでアニメヌションをサポヌトする必芁がある堎合は、私はフェンスにいたす。 Blenderが内郚でアクションを凊理する方法に問題があり、非垞に壊れやすいように芋えたす。

@repsac蚀いたかっただけです。゚クスポヌタヌは玠晎らしいです。 私のコメントが批刀ずしお倖れないこずを願っおいたす...私は過去にはるかに原始的なブレンダヌ゚クスポヌタヌを曞いたこずがありたす..しかし、これの範囲では䜕もないので、それが倧きな成果であるず蚀っおも過蚀ではありたせん。

re Loggingロギングフレヌムワヌクの出力を無効にするだけで、ログメッセヌゞのフォヌマットのオヌバヌヘッドがどのように解消されるかはただわかりたせんが、フレヌムワヌクのニュアンスがわからない可胜性がありたす。

私の知る限り、 "someLoggingFunction" formated textxyz ""の圢匏のロギングでは、関数が内郚でテキストを出力しない堎合でも、垞にメッセヌゞのテキスト倉換/フォヌマットが発生したす。

オヌバヌヘッドがれロのロギングの堎合、「Logger.logfunction{return SomeFormattedText;}」の圢匏をずる必芁がありたす。枡された関数は、ロギングが有効になっおいる堎合にのみ呌び出されたす。

。 真にコンパむルおよび最適化された蚀語では、コンパむラヌは関数がno-opであるこずを怜出し、フォヌマット呌び出しをsklpできる堎合がありたすが、それでも、フォヌマット呌び出しはプログラムの残りの郚分に副䜜甚をもたらす可胜性があるため、通垞はただ含たれおいたす。

reアニメヌションをサポヌトするシヌンの゚クスポヌト...
短期的には、その道を進むのはおそらく時期尚早であるこずに同意したすが、それが機胜するポむントに到達した堎合、アニメヌションでレベル党䜓を構築し、゚クスポヌトできるこずは非垞に玠晎らしいこずです。 WYSIWYGからthree.jsぞの颚車は回転したす...川や滝はUVアニメヌション化できたす..プラットフォヌムは飛び回るこずができたす..すべおコヌドを蚘述せずに。 い぀か...D

私の知る限り、 "someLoggingFunction" formated textxyz ""の圢匏のロギングでは、関数が内郚でテキストを出力しない堎合でも、垞にメッセヌゞのテキスト倉換/フォヌマットが発生したす。

ロギング呌び出しは、次のようにフォヌマットする必芁がありたす。

logger.info("foo bar %s", arg)

したがっお、文字列は、ロギングAPIが内郚で*args枡すたでフォヌマットされたせん。 ロギングロゞックをに倉曎したした

https://github.com/repsac/io_three/blob/master/addons/io_three/exporter/__init__.py

        level = options.get(constants.LOGGING, constants.DISABLED)
        version = options.get('addon_version')
        if level != constants.DISABLED:
            logger.init('io_three.export.log', level=level)

https://github.com/repsac/io_three/blob/master/addons/io_three/logger.py

def _logger(func):

    def inner(*args):
        if LOGGER is not None:
            func(*args)

    return inner


<strong i="18">@_logger</strong>
def info(*args):
    LOGGER.info(*args)


<strong i="19">@_logger</strong>
def debug(*args):
    LOGGER.debug(*args)


<strong i="20">@_logger</strong>
def warning(*args):
    LOGGER.warning(*args)


<strong i="21">@_logger</strong>
def error(*args):
    LOGGER.error(*args)


<strong i="22">@_logger</strong>
def critical(*args):
    LOGGER.critical(*args)

メッセヌゞをフォヌマットしないでください。 私は倧きなシヌンを持っおいないので、これをテストするこずはできたせんが、理論的にはテストする必芁がありたす。そうでない堎合は、プログラミングが嫌いな理由4576になりたす。

私のコメントが批刀ずしお倖れないこずを願っおいたす

サンフランシスコのブログラマヌでいっぱいのハむテク䌁業シリコンバレヌを含むずVFX業界の間で、むンタビュヌで私に蚀われたこずはほずんどありたせん。

珟圚、このスレッド党䜓を調べお、具䜓的に䜕をすべきかに぀いおの箇条曞きリストをたずめようずしおいたす。 䜕かあったら投皿したすので、近くにあるか確認しおください。

玠晎らしい ロギングがカバヌされおいるようです。 私のPythonは、゜リュヌションの埮劙な違いを理解するのに少し匱かったです。

小さな䞖界、私もサンフランシスコにいたす

非垞にクヌルです...このスレッドから収集できる限り、ほずんどの堎合1行の修正であり、「rest」モヌドのあいたいさを解決したす...どのナヌスケヌスのrestモヌドがあるかはただわかりたせん..ご存知の方は、ご理解いただければ幞いです。

私はあなたに特定のリンクを䞎えるためにすべおの叀い問題を掘り䞋げる必芁があるでしょうが、ここでの迅速な察応のために内蚳がありたす

  • r66あたりで、゚クスポヌトをRESTの䜿甚からPOSEモヌドの䜿甚に倉曎するコミットがありたした。
  • 私はこの頃に独自のバヌゞョンの゚クスポヌタヌを開始したした。これが今話しおいるものになり、元のロゞックはRESTロゞックに基づいおいたす。
  • r70で、鉱山は代替の茞出業者でした。぀たり、すべおの地獄が厩壊したずきです。
  • ロゞックをPOSEサポヌトに眮き換えたずころ、他のナヌザヌの゚クスポヌトが䞭断されたした
  • 䜕が起こっおいるのか理解できなかったので、2぀の間のトグルを実装したした

これたでのずころ、察凊すべき2぀の項目があるようです。

1アヌマチュアにアクティブコンテキストを蚭定する

context.scene.objects.active = armature

2スキンメッシュにモディファむダを適甚しないでください

自動ポヌズ切り替えをもう䞀床テストしたす。 誰かがか぀お別のスクリプトからそれを理解したず蚀ったが、その秘密の゜ヌスはそれを茞出業者に入れなかった。

@manthrax私のブランチをチェックアりトしお、これが機胜しおいるかどうかを確認できたすか
https://github.com/repsac/three.js/tree/anim_fix

これは、最初のキヌフレヌムのアヌマチュアがメッシュずたったく同じに構成されおいる限り、ポヌズモヌドのアニメヌションでうたく機胜したす。 ポヌズモヌドでloc / rot / scale倉換を远加し、それらを最初のキヌフレヌムずしお割り圓おようずするず、モデルは歪んでレンダリングされたす。

REST / POSEの問題にも遭遇したした最新のdev-branch。 モデルには40以䞊のボヌンず7぀のアクションがありたす。 POSEは正垞に機胜したすが、゚クスポヌトされたファむルは巚倧です。 RESTは完党に歪んだアニメヌションを持っおいたす。

問題は、゚クスポヌトされた_skinIndices_配列にあるようです。 POSEモヌドずRESTモヌドのどちらでも、_skinIndices_配列は同じですが、゚クスポヌトされた_bones_配列の順序ずむンデックスは完党に異なりたす。 これは、__ rest_bones_が_armature.data.bones_を䜿甚しおボヌンにむンデックスを付け、__ pose_bones_が_armature.pose.bones_api / mesh.pyを䜿甚しおいるためだず思いたす。 埌で__skinning_data_は、REST / POST蚭定に関係なく、垞に_armature.pose.bones_を䜿甚したす。 簡単なテストでこれを確認できるようです。 __skinning_data_で_armature.data.bones_を䜿甚するず、RESTモヌドでモデルずアニメヌションが正しく゚クスポヌトされたす。

これに答えお修正を送信するのに十分なthree.jsを知りたせんが、実際に_skinIndices_たたは_bones_の順序が間違っおいるのはどれですか RESTでの_bones_の順序は、Blenderの頂点グルヌプのむンデックスず同じように芋えたす。これはおそらく良いこずです。

こんにちは、この問題は解決されおおらず、珟圚の状況に぀いおも結論が出おいたせんか だから私はこの問題に぀いお別の懞念がありたす誰かが2぀のアニメヌションの同時再生を経隓したしたか 私のトラむアルは機胜したせんが、3Dオブゞェクトの品質に぀いおはよくわかりたせん。 䞀方、私が䞊で読んだものから、これは実際に可胜かどうか疑問に思いたすか

懞念を完了するためにblender゚クスポヌタヌはNLAを蚱可したすか

@Derivedはい最新のthree.jsで耇数のアニメヌションのブレンドず再生が機胜したす

Nlaは、より䞀般的にはボヌンAFAIKでのみサポヌトされたす

こんにちは、このフィヌドバックに感謝したす。 はい、耇数のアニメヌションを実行でき、アニメヌションの「ブレンド」がありたす。 私はv71を䜿甚しおいたすが、曎新されたブレンダヌ゚クスポヌタヌバヌゞョンを䜿甚しおいたす䞊蚘で説明したように。 しかし、私の芳察をよりよく説明させおください

私のモデルには2぀の装備されたアニメヌションがありたすA1腕を持ち䞊げ、A2頭を巊に回したす。

1A1「腕を持ち䞊げる」を再生しおから、アニメヌションの途䞭で停止したす腕は途䞭にありたす
2再生A2「頭を巊に回す」=>頭を巊に回したすが、腕は元の䜍眮に留たらず、初期䜍眮に戻りたす。
3最埌に、2぀を䞀緒にプレむするず、頭が巊に曲がり、腕が䞊がりたすが、本来のようにではなく、A1持ち䞊げるずA2腕を動かさないず動かない骚の圱響をブレンドしたものです。 A1の移動するものずA2の反察偎。
したがっお、jsonファむルを調べるず、アニメヌションが各アニメヌションのすべおのボヌンのボヌン䜍眮を蚘述しおいるこずがわかりたす。 したがっお、A2「頭を巊に回す」の堎合、アニメヌションには、倉化しない腕のボヌンの䜍眮が含たれたす右、A2、A2では移動したせん。 しかし、three.jsは、これらの骚の䜍眮が重芁ではなく、A1の実行に圱響を䞎えるべきではないずどのように掚枬したすか
この䟋が理解できるこずを願っおいたす。

これで私の心を倱う

これが私のブレンダヌのリグメッシュです

blender-cycle

これがthreejsにありたす

three-cycle

茞出だけで2日連続で過ごしたした。 最新のブレンダヌ、最新の3぀。 茞出業者の珟状はどうなっおいたすか

@DelvarWorld正しく機胜するには、DEVブランチでBlender゚クスポヌタヌを䜿甚する必芁があるず思いたす。

@arturitu私は:(

@DelvarWorld

茞出業者の珟状はどうなっおいたすか

これだず思いたす

repsacは、2015幎12月30日にmrdoobによっお割り圓おが解陀されたした

問題かもしれたせん。 明らかに愛が必芁です。

最近報告されたさたざたなバグを探しに行くかもしれたせん。 この問題を再珟するためのファむルを共有できたすかシンプルであるほど良い

䟿宜䞊、これもここに投皿したす。 テストモデルフォヌム@DelvarWorldを゚クスポヌトしおみお、コメントずスクリヌンキャプチャを

@phfatmonkey
https://github.com/mrdoob/three.js/pull/8412#issuecomment -210675561これ

これらすべおの問題を修正するための玠晎らしい䜜業+1

パッチ適甚が完了したら、残りの、新しく䜜成された、たたは発芋された゚クスポヌタヌの問題の説明たたはリンクを含む新しいチケットを開いおいただけたせんか。

既存のチケットのどこかに投皿されおいるものを远跡するのは非垞に困難です。

理想的には、ケヌスごずに1぀ただ存圚しない堎合、それらすべおを参照するマスタヌ「Blender ExporterIssues」たたはそのようなもの。

頭のおっぺんを思い出せるのは

  • 法線が回転しおいなかった修正枈み
  • シヌン階局を゚クスポヌトするずきのアニメヌションの問題。 今は動䜜したすか
  • それからあなたの投皿で蚀及されおいる残りのポヌズの問題がありたす
  • 次に、スキニング/キヌフレヌムの問題がありたす゚ラヌメッセヌゞ
  • ...もっずあったず思いたす

もちろん それは玠晎らしい考えです。 私は今週末にそれを達成しようずしたす、
そうでなければ、月曜日に私がオフィスに戻ったずき。
2016幎4月15日午埌5時12分、「tschw」 [email protected]は次のように曞いおいたす。

@phfatmonkey https://github.com/phfatmonkey

8412コメント

https://github.com/mrdoob/three.js/pull/8412#issuecomment -210675561
これです

これらすべおの問題を修正するための玠晎らしい䜜業[画像:: + 1]

パッチ適甚が完了したら、新しいチケットを開いおいただけたせんか。
残りの、新しく䜜成された、たたは発芋されたものの説明たたはリンク
茞出業者の問題

投皿されおいるものを远跡するのは非垞に困難です
既存のチケットのどこかに。

理想的には、ケヌスごずに1぀ただ存圚しない堎合ずマスタヌ「ブレンダヌ゚クスポヌタヌ」
それらすべおを参照する問題」たたはそのようなもの。

頭のおっぺんを思い出せるのは

  • 法線が回転しおいなかった修正枈み
  • シヌン階局を゚クスポヌトするずきのアニメヌションの問題。 今は動䜜したすか
  • それからあなたの投皿で蚀及されおいる残りのポヌズの問題がありたす
  • 次に、スキニング/キヌフレヌムの問題がありたす゚ラヌメッセヌゞ
  • ..。

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信するか、GitHubで衚瀺しおください
https://github.com/mrdoob/three.js/issues/6050#issuecomment -210693332

Blenderで実行できるノンリニアアニメヌション線集に぀いおはどうですか この質問に興味を持っおいる人は誰もいたせんか 以前のメッセヌゞでポむントを説明したしたが、コメントはありたせんか

@derivou
どのメッセヌゞ

カスタムコヌドが必芁な堎合、誰かがそれを曞かなければなりたせん。 貢献は倧歓迎かもしれたせん...

2月5日付けの䞊蚘のメッセヌゞでは、いく぀かのアニメヌションを組み合わせる際の問題に぀いお説明したした。
開発を手䌝っおいただければ幞いですが、アむデアを共有し、それを実装する方法に぀いお話し合うには、最初にいく぀かの議論が必芁だず思いたす。 そこで、提案アむテム「ノンリニアアニメヌション」7913を開きたした。

これは長い問題であり、すべおを読んだわけではないこずを告癜したすが、問題がただOPで説明されおいるずおりである堎合぀たり、Mixamoでキャラクタヌをアニメヌション化し、three.jsでロヌドする方法が必芁な堎合、達成できたすこれは、glTFBlender゚クスポヌタヌずTHREE.GLTFLoaderを䜿甚したす。 これが私のワヌクフロヌです https //medium.com/@donmccurdy/creating -animated-gltf-characters-with-mixamo-and-blender-728dc120e678

たたは、MixamoからFBXずしお゚クスポヌトし、FBXLoaderを䜿甚しお盎接ロヌドするこずもできたす。
前回のリリヌスR89の時点では、非垞にスムヌズに動䜜するはずです。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡