問題タブ [3d-model]

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.

0 投票する
6 に答える
61960 参照

image-processing - 3D再構成-2D画像から3Dモデルを作成する方法は?

カメラで写真を撮る場合、家の縮尺模型など、カメラから物体までの距離がわかるので、これを3Dモデルにして、操作できるようにしてコメントできるようにしたいと思います。家のさまざまな部分。

座って、複数の写真、ラベルの方向、距離を撮ることを考えれば、その方法を理解できるはずですが、誰かがもっと説明するのに役立つ紙を持っているかどうか尋ねたいと思いました。

私は最善のアプローチを探しているので、どの言語で説明するかは重要ではありません。

現在、家を表示することを検討しています。ユーザーは、カメラからモデルのその部分の上部までの距離など、高さの補助を行うことができます。これが十分にあれば、次の高さの計算を開始できます。残りは、特にトップダウンの画像がある場合は、相対的な高さを計算するために、4つの側面の角度からの画像です。

次に、モデルのさまざまなパーツを区別するために、パーツの色を変える必要があります。

0 投票する
1 に答える
1129 参照

java - Kinect 3D キャラクター メッシュ アニメーション

Kinect から受け取ったデータでキャラクターをアニメーション化しようとして、Java と Processing で書いています。モーションを繰り返す棒人間の作成に成功しました。しかし、OBJ ファイルからロードされた 3D メッシュを実行するのは、それよりもはるかに難しいことがわかりました。私はそれに関する情報を見つけるためにインターネット全体を検索してきましたが、賢明なものは何も見つかりませんでした. 骨などが含まれる可能性があることは知っていますが、繰り返しますが、それを行うためのライブラリはなく、その主題に触れた記事もありません。提案、ライブラリ、ソース、リンク..

0 投票する
1 に答える
348 参照

ipad - iPadアプリケーションで3Dモデルを表示して操作する

Blender / 3d max / mayaからエクスポートされた3Dモデルを表示し、iPadアプリで操作する方法についてお聞きしたいと思います。

UISplitViewController3Dの人間の頭を詳細ビューにロードしたい

ここに画像の説明を入力してください

頭が回転します。たとえば、ノイズに出くわしたときは、ハイライト表示したいのですが、クリックすると、別のノイズに移動しますUIViewController

調べてHTML5を思いついたのですが、使いづらいです。

Cocos3dやその他のエンジンを使用することを思いついたのですが、ゲームではなく通常のアプリでどのように使用できるか。

どこから始めればいいのか、ヒントを教えてください。

どんな助けでもありがたいです。

0 投票する
2 に答える
13188 参照

c# - WPFアプリケーションで3Dモデルを動的にインポートする方法

私はかなり前からこれを探していましたが、適切な方法を見つけることができませんでした。ユーザーがモデルを選択したときに実行時にWPFアプリケーションに3Dモデルをインポートする方法。これは、人気のある3Dモデリングソフトウェア、3DS max、Maya、Blenderなどのいずれかに組み込むことができますが、すべてではありません。.3DS、.MAX、.FBX、.objなどの形式のいずれかをインポートする必要があります。

これに利用できる無料のライブラリがある場合は、それらについて言及してください。自分でコードを作成する必要がある場合は、どこからどのように開始するかをガイドしてください。

0 投票する
1 に答える
2715 参照

python - 生の浮動小数点エンコーディング

更新 元の質問は、この問題に対する適切な質問ではなくなったため、これをそのままにして、私が試した/学んだことと背景を示します。これが単なる「Base64 バリエーション」ではなく、もう少し複雑であることは明らかです。

背景: 私は主にオープン ソース プログラムの Blender で使用するために Python 3.x でプログラミングしています。私は初心者/アマチュアレベルのプログラマーですが、大きな概念をかなりよく理解しています。質問に関連するこれらの記事を読みました。

問題: 各頂点 (floats) の x、y、z 座標に対応する 3D メッシュ データ (float のリストと整数のリスト) と、メッシュの面を構成する頂点のインデックス (整数)。ファイルはxmlのような感じで整理されています...

「頂点」フィールドの例を次に示します。

  1. " Vertices " と " /Vertices "の間には 685506 バイトのデータがあります
  2. これらのバイトは、base64 の標準である aa、AZ、0-9、および +/ のみで構成されます
  3. それらのバイトを取得し、Python で標準の base64decode を使用すると、513792 バイトが返されます
  4. vertex_count="42816" が信じられる場合、各頂点の x、y、z を表すために必要な 42816*12 バイトがあるはずです。42816*12 = 513792. すばらしい。
  5. ここで、デコードしたバイトを 32 ビット浮動小数点数としてアンパックしようとすると、ゴミが発生します...何かがおかしいのです。

どこかに追加の暗号化ステップがあると思います。おそらく、変換テーブル、ローテーション暗号、またはある種のストリーム暗号がありますか? バイト数は正しいのに結果がそうではないのは奇妙です。何か案は?ファイル拡張子が *.mesh に変更された 2 つのサンプル ファイルを次に示します。このファイル形式を公開したくはありません。モデルを使用できるように、Blender のインポーターを書きたいだけです。

以下に 2 つのサンプル ファイルを示します。Vertices フィールドと Facets フィールドから生のバイナリ (b64 デコードではない) を抽出し、会社が提供するこのタイプのファイルの「ビューアー」からバウンディング ボックス情報を提供しました。
サンプルファイル 1

サンプルファイル 2

頂点フィールドに関する注意事項

  • ヘッダーは vertex_count を指定します
  • ヘッダーは、base64 エンコードが行われる前のバイト数である base64_encoded_bytes を指定します
  • ヘッダーは、重要性がまだ決定されていない「check_value」を指定します
  • フィールドのデータには、標準の base64 文字のみが含まれています
  • 標準の base64 デコード後、出力データは... length = vertex_count*12 = base64_encoded_bytes になります。b64 出力に 4 バイト余分にあることがありますか? -エンコード/デコードされたバイトの比率は4/3で、これも典型的なbase64です

ファセット フィールドに関する注意事項

  • ヘッダーは facet_count を指定します
  • base64 エンコードが行われる前のバイト数であるヘッダー base64_encoded_bytes

  • base64_encoded_bytes/facet_count の比率はかなり異なるようです。1.1から約1.2まで。頂点インデックスに対応する 3x4 バイトの整数としてエンコードされている場合、12 の比率が期待されます。したがって、このフィールドが圧縮されるか、モデルが 三角形のストリップで保存されるか、またはその両方が行われます :-/

詳細スヌーピング
会社から提供されているこれらのファイルを表示するための viewer.exe を (16 進エディタで) 開きました (ここでもバウンディング ボックスの情報を取得しました)。以下は、私が興味深く、さらに検索を進めることができるいくつかのスニペットです。

f_LicenseClient...Ì.@...m_wApplicationID.....@...f_bSiteEncryptionActive.....@...f_bSaveXXXXXXInternalEncrypted.....@.... ..f_bLoadXXXXXXInternalEncrypted...¼!@......f_strSiteKey....†......

LoadXXXXXXInternalEncrypted と SaveXXXXXXInternalEncrypted で、会社名を XX でブロックしました。単純なbase64テーブルのバリエーションを超えた暗号化が確実に行われているようです.

SaveEncryptedModelToStream.................Self...pUx....モデル...^×C....ストリーム....

これは、暗号化されたモデルを保存する方法に関する関数定義のように見えます。

DefaultEncryptionMethod¼!@.......ÿ.......€...€ÿÿ.DefaultEncryptionKey€–†....ÿ...ÿ.......€... .ÿÿ.DefaultIncludeModelData –†....ÿ...ÿ.......€...€ÿÿ.DefaultVersion.@

ああ…今それは面白いです。デフォルトの暗号化キー。これらの各記述子の間には 27 バイトがあり、常に「ÿÿ」で終わることに注意してください。「ÿÿ」を除く24バイトです。私には、これは 192 ビットのキーです...しかし、これらの 24 バイトすべてがキーに対応するかどうかは誰にもわかりません。何かご意見は?

80 96 86 00 18 00 00 FF 18 00 00 FF 01 00 00 00 00 00 00 80 01 00 00 00

コード スニペット
このスレッドのスペースを節約するために、このスクリプトをダウンロード用のドロップ ボックスに入れました。フィールド全体を読み取り、頂点フィールドとファセット フィールドから基本情報を抽出し、たくさんのものを出力します。末尾のコメントを解除して、データ ブロックを別のファイルに保存し、分析を容易にすることができます。
basic_mesh_read.py

これは、標準の base64 ライブラリですべての「妥当な」バリエーションを試すために使用したコードです。 try_all_b64_tables.py

0 投票する
3 に答える
57 参照

language-agnostic - 何らかの入力が与えられると、3D モデルを生成する「ルーチン」を保存します

ええと、それは私が次世代の最先端の研究開発プロジェクトで忙しくなる時期です(ただの楽しみのためです...そして最終的にはいくらかの利益が得られるかもしれません)。

今回は、サービスについて素晴らしいアイデアがありましたが、残念ながら詳しくは言えません。

ただし、このプロジェクトの主要な部分は、特定の入力基準から 3D モデルを生成する機能です。生成されたモデルは世代ごとに異なる必要があります。

そのため、これはゲームで使用される静的モデルとは大きく異なります。モデル座標だけでなく、実際のコードを保存する必要があると思います。

出力の例を挙げると、次のようになります。

したがって、ここでいくつかの点に取り組む必要があります。

  1. これらのモデルをデータとして保存するにはどうすればよいですか?
  2. 役立つツールを知っていますか?
  3. ランダム要素を組み込む必要があります (たとえば、リンゴの形は毎回少しずつ異なります)。
  4. ここで数学がうまく機能すると思いますが、これらは複雑な形状であるため、各モデルに必要な数式を作成することは不可能ですよね?
  5. また、テクスチャは、モデルをランダムに見せるだけでなく、モデルの各部分に関連している必要があります (たとえば、生成されたリンゴの 40 ~ 60% を赤で、残りを緑で詳細化することができます)。
0 投票する
0 に答える
412 参照

opengl - libg3d を使用して波面モデルを OpenGL にロードする方法

私は論文プロジェクトに取り組んでいます。Wavefront (.obj) モデルを OpenGL に読み込もうとして、助けが必要です。検索していたところ、さまざまな 3D モデル形式をロードできるLibg3Dを見つけました。

モデルをロードする方法を理解するのに問題があり、opengl アプリケーションにモデルをロードするために libg3d を使用できるかどうか。

0 投票する
1 に答える
2616 参照

android - OpenGLESAndroidの3Dモデル形式

XNAモデル形式で作業していたときは明らかな.Xまたは.FBXでしたが、ボーンがあったので、アニメーションと衝突検出を行うことができました。おそらく、必要なものはすべて揃っていました。しかし今、私はAndroidとOpenGL ESで作業を始めました、そして私は好ましいモデルフォーマットについて何も見つけることができないようです、私は.OBJを見続けます、しかしそれらは骨をサポートしません、私はまたcolladaとmd5フォーマットについて何かを読みましたがそこで聞きましたそれらのロードに問題がありますか?min3dでの提案もありますが、サードパーティのものを使用するというアイデアは好きではありません。

誰かがモデルとOpenGLESの状況、(少なくとも私の観点からは)好ましい明白な選択肢がない理由、そしてどの形式またはソリューションを使用すべきかについて少し説明してもらえますか?

また、これは私の最初の質問です。私が自分自身を正しく説明しなかった場合、または他の質問の誤りをした場合は、提案を書いてください。

0 投票する
1 に答える
2191 参照

android - QR コードを使用して 3D モデルをレンダリングする

QR コードを使用してカメラで 3D モデルをレンダリングしたい。私はAndroid 4.0プラットフォームを使用しています。私の質問は -

  1. 3D モデルを QR コードに保存するにはどうすればよいですか? (URL、テキスト、場所などのジェネレーターを見たことがありますが、3Dモデルはありません)

  2. AR トラッキング アルゴリズム (NyARToolkit - ARToolkit Android バージョンなど) を使用する必要がありますか? はいの場合、同期はどのように行われますか?

私はちょっと迷っています。助けてください。

前もって感謝します!

ここに例があります

0 投票する
4 に答える
3099 参照

3d - 現在のどのWebGLライブラリがほとんどの3Dモデル形式(およびどの形式)をサポートしていますか?

しばらく検索しましたが、現在のどのWebGLソリューションが最も多くの3D形式をサポートしているかわかりません。また、どの3Dフォーマットがサポートされているかを知る必要があります。

これらの情報を含む更新された比較または表はありますか?

コッパーリヒトのようなもの?別の方法は?

ネイティブフォーマットを直接使用したいので、常に手動でjsonに変換することはできません