問題タブ [voxel]

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 投票する
1 に答える
2169 参照

performance - 八分木について

私は地形エンジンのようなMinecraftを作成していますが、正確には八分木とは何か疑問に思っていました。私のエンジンでは、エンジンの各部分をチャンクまたは領域に分割しました。これは、私が読んだものから、それと関係があります。また、インデックスがゲーム内のパフォーマンスを向上させるかどうか、もしそうならどれくらいになるのだろうかと思っていました。パフォーマンスを向上させるための他のアイデア/方法をいただければ幸いです。裏面カリングはすでに含まれていることに注意してください。ボックスまたは側面が非表示になっている場合は、その側面を表示しないでください。

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

c# - ボクセル エンジンのパフォーマンスの向上

以前のいくつかの投稿で述べたように、私はマインクラフトのようなエンジンを作成しています。

地形を領域に分割し、カメラの視錐台にある領域のみをレンダリングします。各領域の頂点バッファーが bulit の場合、各ブロックが表示されているかどうかを確認し、表示されていない場合はバッファーに追加されません。表示されている場合は、どの側面が他のブロックに囲まれていないかを確認し、それらの面を構築します. また、反時計回りのカリングを有効にしています。

パフォーマンスを向上させる他の方法を提案できる人はいますか? 前述の理由が、フレーム レートが低い理由である可能性があります...また、このエンジンにインデックスを追加するとパフォーマンスが向上するかどうかも知りたいです。

また、これはメモリ割り当てとは何の関係もないと思います。

編集:わかりました、私はインデックスバッファを暗示しました。パフォーマンスは大幅に向上しましたが、さらに向上できると思います...

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

java - 3D配列を3Dモデルに変換する

3DJava配列を3Dボクセルモデルに変換するために使用できるソフトウェアの種類を見つけようとしています。私はJavaでボクセル地形ジェネレーターを開発していますが、3次元整数配列を視覚化する方法が必要です。この目的に適したソフトウェア(またはAPI)は何ですか?

また、変換しようとしている配列は整数の3D配列であり、各整数は特定の色のボクセルに対応している必要があります。

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

c# - プレーヤーからボクセルへの衝突の検出/応答

私はボクセルの大きな配列、ラマインクラフトを持っています。プレイヤー/敵はこのグリッドにいます。この種の衝突検出を行う方法がわかりません。これは動的可動オブジェクト対動的可動オブジェクトではなく、可動オブジェクト対静止した地面/壁/天井であることに注意してください。

私は検出に問題はありません、それは私がどのように行うべきかわからない応答です。

作業する必要があるのは、プレーヤーの位置、速度、バウンディングボックス、およびプレーヤーを囲む1x1x1ボクセルの配列です。

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

c# - ボクセル エンジンが最適化するために XNA で立方体モデルの特定の面を非表示にするにはどうすればよいですか?

こんにちは、マインクラフトに似た地形エンジンを作ろうとしています。

チャンクをロードすることができました。非常にラグが多く、一度に複数のチャンクが読み込まれると再生できなくなります。

これは私のレンダリングコードです:

ご覧のとおり、for-each または for ループは使用していません。これは単なるキューブであるためです。必須ではありません。

私はいくつかの調査を行い、私が見つけた最良の答えは、目に見えない立方体の面を隠す必要があるということでした. たとえば、2 つの立方体が隣り合っている場合、面の間をレンダリングしたくありません。

ここで行き詰まります。ほとんどの人は XNA で描画されたキューブを使用しており、私はモデルを使用しています。

私は XNA を初めて使用し、現在 9 年生なので、立方体を手動で描画するための数学についてあまり理解していないため、モデルを使用しました。

では、表示されている顔だけをレンダリングするにはどうすればよいでしょうか?

0 投票する
0 に答える
828 参照

python - Python で多面体と多角形をボクセルに変換する

私の研究では、3D ポリゴン (面) と 3D 多面体 (ボリューム) の両方をボクセル (等距離立方体) に変換する必要があるため、有限差分 PDE ソルバー スキームがジオメトリで機能します。私はすでにPythonで動作するセットアップを持っていますが、現在非常に遅く不安定です:

1) ポリゴンをボクセルに変換するには、ポリゴンの上にグリッドを配置し、各グリッド ポイントをボクセルに割り当てます。「穴」を防ぐには、ボクセル解像度を上げるときにグリッド解像度を劇的に上げる必要があります。

2) (凸) 多面体をボクセルに変換するには、それを含むグリッドのコンパートメントを実行し、すべてのグリッドポイントに対して sage.all.Polyhedron.contains ( sagemath など) を試します。このルーチンはかなり遅く、

いくつかの辺のリストに対してランダムに多面体の構築に失敗するバグ。

私はいくつかのpythonicな方法を探しています

1) ポリゴンとボクセルのポリゴン面との交点をチェックして、ポリゴンを正しくボクセル化する

2) 迅速で信頼性の高い polyhedron.contains() ルーチンがあります。

これまでのところ、私が見つけたのは CGAL bindings: polyhedron facet Intersection exampleだけです。誰もそれらを経験したことがありますか?

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

opengl - マインクラフトのようなゲームで各面に異なるテクスチャを持つ立方体をレンダリングする効率的な方法は?

私は、Minecraft のようなゲームでさまざまなテクスチャを持つ一連のキューブをレンダリングする最も効率的な方法を決定しようとしています。

インスタンス化されたレンダリングを発見しました。私が行ったことは、立方体のすべての頂点、法線、テクスチャ座標を格納する単一の「立方体モデル」を作成し、そこから配列バッファーを作成して一度 GPU に渡すことです。次に、(translation vector, texture index) 構造体の配列を作成し、インスタンス化されたレンダリングを使用して、同じ立方体を何度も再描画します。そのたびに、適切な texture が変換されます。

(うまくいけば、Notch は、私が自分のテクスチャを作成するまで、私が彼のテクスチャを使用することを気にしません)

問題は、すべての 6 面が常に同じテクスチャを持つとは限らないことです。ブロック タイプごとに異なるテクスチャを取得する方法を見つけようとしています。私が思いついた2つの解決策は次のとおりです。

  1. ブロック タイプごとに異なるモデルを使用します。このようにして、頂点ごとに異なるテクスチャ座標を指定できます。インスタンス化されたレンダリングは引き続き使用できますが、ブロック タイプごとに個別のパスを実行する必要がありました。
  2. ブロックごとに 1 つではなく、6 つの「テクスチャ インデックス」(面ごとに 1 つ) を渡します。

2 番目のソリューションでは、より多くの、おそらく冗長なデータを渡す必要があります。インスタンス化されたレンダリングのメリットがどれほど大きいかはわかりません...したがって、たとえば、最大 256 の「パス」(ブロック タイプごとに 1 つ) を実行する方が良いのか、それとも「1 つの大きなパス」を実行する方が良いのかわかりません。すべてのデータを渡して、すべてのブロックを 1 回のショットでレンダリングします。

それとも、私が気付いていない別の方法がありますか?

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

c++ - ボクセル エディタから再利用するためにデータを保存する最良の方法

個人用にボクセル エディター (C++ および OpenGL) を作成する予定で、作成したオブジェクトを後のプロジェクトで再利用したいと考えています。私が抱えていた問題は、ボクセル データをファイルに保存する最善の方法がわからないことです。私は多くのサイトをグーグルで検索し、'save as octree' と 'save as BSP tree' のどちらが優れていると思いますか? またその理由は?

前もって感謝します。

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

game-engine - 最高のボクセル エンジン/言語?

私は Minecraft に似たボクセル ベースのゲームを作成することを研究していますが、より滑らかでよりリアルな地形と、カスタム ボクセル ベースのキャラクター、プレイヤー、および敵。

私の質問は、このタイプのボクセルに対して最もグラフィカルに最適化された、このタイプのインディー ゲームを開発するのに最適なエンジンと言語は何ですか?

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

terrain - ボクセルベースの地形の適切な密度関数?

私はなんとかC#でマーチングキューブアルゴリズムを実装することができました。これまで、球をレンダリングするアルゴリズムを試しました。密度関数のコーディングはそれほど複雑ではないため、これは簡単な方法です。

しかし今、私はアルゴリズムをさらに進めて、ゲームのためにいくつかの興味深い地形をレンダリングしたいと思っています。したがって、このタスクには適切な密度関数が必要です。私の頭に浮かぶ最初のことは、体積パーリンノイズです。それは大丈夫ですが、私は凸状の形のない地形を探しています。つまり、現時点では洞窟や同様の形状はありません。

わかりました。そのためには、単純な高さマップで十分ですが、ボクセルで生成された地形が必要です。それらを実装するには、どのタイプの密度関数または擬似コードが必要ですか?