1

単純な立方体のモデルがあるとします。(立方体よりも複雑ですが、この説明のために単純化します。)

したがって、Sketchup を使用している場合、立方体は Xmm x Xmm x Xmm で、X は整数です。次に、Collada ファイルをエクスポートし、続いてそれを threejs にロードします。

ジオメトリ バウンディング ボックスを見ると、値は整数ではなく浮動小数点数です。

だから今、私は立方体を互いに隣り合わせに置き、その間に小さなスペースを置いていると仮定します。たとえば、1 ピクセルです。画面は半分のピクセルを描画できないため、1 つのピクセルが表示されることもあれば、2 つのピクセルが表示されることもあり、均一性が失われます。

インポートされたモデルを整数次元にすることができれば、これを十分に解決できると思います。Sketchup から始まるモデルのすべての部分に完全にアクセスできるので、プロセスのどの時点でも公正なゲームです。

出来ますか?

ありがとう。

明確化: 私のアプリには 2 つのビューがあります。これが関係しているビューは、ピースをまっすぐ見下ろしている OrthographicCamera を使用しているため、これは実際には 2D ビューです。この質問の目的のために、モデルをインポートした後、均一な間隔の正方形のグリッドのように見えるはずです。

更新:実際の回答を提供できない限り、返信しないでください。何かを達成する方法を見つけるのに助けが必要な場合は、新しい質問を投稿します. この質問については、インポートされた Collada モデルをフル ピクセルに揃えることが可能かどうか、可能であればその方法を知りたいだけです。現時点では、これは主に私の好奇心を満たし、何が可能で何が不可能かについての知識を増やすためのものです。親切に助けてくれたコミュニティに感謝します。

4

2 に答える 2

0

ここで、3D プログラミングについてこのことを学ばなければなりません: 数字は何の意味もありません :)

実世界1mmで、測定および再現できるものを指定します2.13cm100Kgしかし、描画ライブラリの場合、これらの数値は何の意味もありません。

描画ライブラリでは、3D ポイントは常に 3 つの float 値で表されます。ポイントをライブラリに送信すると、ポイントが 2D ポイントに変換され (2D サーフェスで表示する必要があります)、最終的にこれらの 2D ポイントがラスタライザーに渡されます。これは、浮動小数点値を整数値に変換し(画面の解像度はNxMピクセルであり、整数でもNありMます)、実際のピクセルに色を付けます。

あなたの問題は単に問題ではありません。立方体は1mm実際には何の意味もありません。天文アプリケーションを設計している場合、そのオブジェクトは決して見えませんが、それが微視的なものである場合は、画面よりもはるかに大きくなります。重要なのは、ポイントの座標と、アプリケーション全体のスケールです。

キューブの話に戻りますが、1px隣接する 2 つのキューブの間に挿入しようとしないでください。立方体は で定義されているため、世界mmに適した距離を選択してmm、ラスタライザーに仕事をさせてピクセルに変換してください。

于 2012-09-23T09:33:56.367 に答える
0

私は 2 人の同僚から、これは通常の手段では実際に不可能であることを突き止めたとの連絡を受けました。

于 2012-09-28T03:17:12.060 に答える