問題タブ [assimp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 頂点配列 OpenGL 4.4 でこれを行うことはできますか?
Collada (.dae ファイル) を読み込んでいますが、モデルには 2 つのオブジェクトがあります。1つ目は水色の素材で頂点が多い布です。そして2つ目は、布が落ちるときに折りたたまれるはずの箱です。
これは 250 フレームのアニメーションのはずですが、実際にそうであるかどうかはわかりません。それをAssimpにロードするaiScene*
とHasAnimation() == 0
...また、布のメッシュに色がないとHasVertexColors() == 0
表示され、エクスポートすることをもう一度検討する必要があるのではないかと心配しています。わからない、多分あなたは言うことができますか?この投稿には大きすぎるため、外部側にリンクします。(そのために残念)
Falling Cloth (Collada animation .dae): http://pastebin.com/54LkKq8k
私の問題は、水色の布が見えず、箱が黒いこと(0, 0, 0)
です...
VBO の初期化:
描画モデル:
頂点シェーダー:
フラグメント シェーダー:
blender - アニメーションを Blender からエクスポートして Assimp で使用する
Blender プロジェクトを obj ファイルとしてエクスポートすると、フレームごとに 1 つずつ、多くのファイルを作成する「アニメーションのエクスポート」を切り替えるオプションがあることに気付きました。Collada (.dae) 形式を使用してアニメーションをエクスポートしたいと考えていました。問題は、Collada ファイルをロードすると、「NumAnimations == 0
! 」と表示されることです。
1) アニメーションを保存するはずのファイルが 0 アニメーションと表示されるのはなぜですか?
2) 動作するようになったら、Assimp でフレームを切り替えるにはどうすればよいですか?
ios - I have an .obj containing UVW mapping and my assimp fail to load it
I am using assimp for ios from h t tps://github.com/cfr/assimp-ios these file are exported from 3d max:
- .obj h t t ps://drive.google.com/file/d/0B_Nuhl0WqfMjMUF5cks2YmR2Rlk/edit?usp=sharing
- .mlt h t t ps://drive.google.com/file/d/0B_Nuhl0WqfMjMmtSSVZyYV85b3c/edit?usp=sharing
I import the file with this statement:
with no error report from aiGetErrorString() then i check imported data by logging value in
(where n and k is index of particular mesh and vertex)
The result is
- mNumUVComponents[0] is 2 for all value of n
- mTextureCoords[0][k].z is 0 for all value of n and k However
mTextureCoords[0][k].x, mTextureCoords[0][k].y is correct according to .obj
for example, 1st texture coordinate for 1st object in .obj is vt -248.0264 1000.0000 50.0000 the respective logging show that:
mNumUVComponents[0] is 2
mTextureCoords[0][0].x is -248.0264
mTextureCoords[0][0].y is 1000.0000 mTextureCoords[0][0].z is 0
c++ - glDrawRangeElements に関する問題
に問題がありglDrawRangeElements()
ます。基本的に、特定のモデルのすべてのメッシュを同じ頂点/インデックス バッファーに保持し、glDrawRangeElements()
それらを選択的に描画するために使用します (必要に応じて、描画ごとにマテリアルなどを変更します)。
モデル内でメッシュを描画するために使用する関数は次のとおりです。
どこva.drawRange()
にある:
subMesh[i].start は、サブメッシュの最初のインデックスです。subMesh[i].end は最後のインデックスです。これらの値は、メッシュのインポート中に決定されます (assimp を使用)。
このコードは、assimp インポートを行うシーン内のすべてのメッシュに対して実行されます。
私が抱えている問題は、subMesh[0] と subMesh[1] に異なる値が含まれていても、drawMesh(0) と drawMesh(1) が同じものを描画することです (具体的には、subMesh[0] には start = 0 と end = があります)。 35、subMesh[1] は start = 36 および end = 71 です)。を使用してメッシュ全体を一度に描画すると、glDrawElements()
両方のサブメッシュが適切に描画されるため、頂点とインデックス データが正しいことがわかります。
私は何を間違っていますか?
(PS。OpenGL 3.3、コアプロファイルを使用しています)
c++ - アサシン リンク エラー
ライブラリをダウンロードassimp 3.0
して必要なメイクファイルをcmakeでビルドし、ライブラリ自体をコンパイルしてビルドしましたが、プロセスは成功しました(StepFile.hにほとんど変更を加えていません)。
私のassimpヘッダーフォルダーは次の場所にあります:
/usr/local/include
私の libassimp.a は次の場所にあります。
/usr/local/lib
ただし、コマンド ライン プロジェクトでライブラリとヘッダー ファイルを指定し、プロジェクトをテストしようとすると、次のエラーが発生します。
に追加-lassimp
するとOther Linker Flags
、次のエラーが発生します。
c++ - メッシュもアニメーションも名前を読み込まない assimp
Assimp を使用して COLLADA モデルをロードしていますが、このscene->mMeshes[i]->mName.C_Str()
呼び出しは" "
既存のメッシュ インデックスごとに返されます (もちろん、" "
元の名前ではありません)。アニメーションでも同じことが起こります。
ただし、ボーンとノードの名前は正しく取得できます。
私はロード.ply
と.obj
モデルも試しましたが、同じ結果が得られました。これは私のプログラムの問題ですか、それとも全員が同じ問題を経験していますか?
PS: Blender v2.70 を使用してモデルをエクスポートしています。