問題タブ [voxels]

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 に答える
402 参照

c++ - フラグメント シェーダー OpenGL で複数の 3Dtexture に書き込む

次のように、データを書き込み、フラグメント シェーダーでボクセルとして使用する 3D テクスチャがあります。

テクスチャはこのように定義されます

そして、これは私がそれを使わなければならないときに

今私の問題は、非常に遅いことに気付いたので、opengl関数を使用せずに、これのmipmapバージョンが欲しいということです。したがって、すべてのレベルで 3D テクスチャを同時に書き込むことを考えていたので、たとえば、最大解像度は 512^3 で、その 3dtex に 1 つのボクセル VALUE を書き込むと、256^3 に対して 0.125*VALUE も書き込みます。 126 ^ 3などのボクセルと0.015625 * VALUE。原子性を使用するimageStoreを使用しているため、すべての値が書き込まれ、これらの重みを使用して自動的に平均値を取得します(補間とまったく同じではありませんが、満足のいく結果が得られる可能性がありますとりあえず)。だから私の質問は、複数の 3dtexture を持ち、同時にそれらすべてに書き込むための最良の方法は何ですか?

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

javascript - 3D モデルをボクセル化する方法を教えてもらえますか?

このウェブサイトでは、その方法について説明しています。http://drububu.com/miscellaneous/voxelizer/index.html しかし、コードで実装する方法がわかりません。

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

c++ - ボクセル エンジンでのチャンク メッシュの作成が遅い

私は C++ でボクセル エンジンに取り組んでおり、チャンクを実装した後、チャンクを生成するのに非常にコストがかかることに気付きました。これはブロックを入れるという意味ではなく、チャンク メッシュを生成するという意味です。

ボクセルの配置と削除を除いて、チャンクが生成されると、ゲームはスムーズに実行されます。チャンクが変更されるたびに、メッシュが再構築されます。これは高価なプロセスです。1 つのチャンクを編集するのに約 0.36 秒かかるため、チャンクを編集すると約 0.36 秒間フリーズします。さらに、単一チャンクのこの 0.36 秒のスパイクのため、チャンク半径または 3 または 4 を超えるワールドをロードするには数分かかります。4 チャンクの場合、189 秒、(4*2)^3*0.36 (0.36 秒でそれぞれ 512 チャンク) かかります。

これは私のメッシュ生成コードです。チャンク内のすべてのブロックを繰り返し処理し、空気でない場合は立方体の頂点を追加し、空気でない場合は無視します。これは後で、私が計画したいくつかのものを含むより複雑な方法になります。これは、方法がすでに遅い場合は悪いことです。

そして、ChunkMesh使用されている構造体。問題は次のとおりです。

問題は、chunkMesh 構造体にあり、push_backs が使用されていると思います。数百回のstd::vectorpush_back では非常に遅いですが、代替手段が見つかりません。ベクトルを何に置き換えることができますか?

チャンクを完全に間違ってレンダリングしようとしていますか? この機能を最適化するにはどうすればよいですか?

どんな助けでも大歓迎です。

ありがとう。

編集: ベクトルを予約しようとしましたが、混乱してパフォーマンスに影響はありませんでした。0.36秒のままです。

ChunkMesh次のように、ブロックの数を取得するコンストラクターを追加しました。

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

c# - Unity3d の 2D スプライトであるかのようにボクセルをアニメートします。これよりも良い方法はありますか?

ドット絵が好きなボクセルモデルを作っています。Unity で使用したいモデルは、非常に小さなヒューマノイドであり、純粋に機能のためのものです。

これらのボクセル モデルをアニメートする方法を探していると、ボーン/リグを追加して、ボクセル スタイルとはまったく異なる滑らかなアニメーションを作成する方法しかわかりません。

2D スプライトがアニメーション化されるのと同じ方法で、これらのボクセルをアニメーション化したかったのです。たとえば、アニメーションをジャンプするための私の最善かつこれまでのところ唯一のテクニックは、ジャンプを押すと、立っているボクセル オブジェクトを破棄し、ジャンプするボクセル モデル オブジェクトを即座にインスタンス化することです。古い学校のスプライト スタイルのアニメーションだけです。マリオのように。

このための私のコードは次のようになります(明らかに文字通りではありませんが、アイデアはわかります):

これは本当に団結でこれを行うための最良の方法ですか? スタンディング ボクセルを子オブジェクトとして使用し、ユーザー入力に関連するさまざまなプレハブ (アニメーションのフレームとして機能する) を破棄してインスタンス化します。

リグなしでボクセルをアニメートする人はいますか? 私は間違った木を吠えていますか?

ありがとう

これが不明確な場合の意味です: https://www.youtube.com/watch?v=u2e8lfViIxg