実装に関して本質的に「ボクセル」は何もありません。それは、ある種の形に形成されるポイントのコレクションを表すだけです。 ボクセルが概念として導入される唯一のポイントは、シェイプを構築する前に、指定されたポイントを16.0(標準化された16x16x16ボクセル/キューブの概念)で除算するBlockクラスで提供されるサードパーティメソッドにあります。 しかし、これ以外では、プライマリクラスとタイプでは、この概念の適用はなく、それらは純粋に、任意の次元または解像度の形状を表すポイントです。 MojangがそれらをString内のVoxelShapeと呼んでいること、およびYarnがMojangの命名決定を尊重する傾向があることを認識していますが、これは、プレフィックスが冗長であると見なされる可能性があるため、名前を簡単に簡略化できるさまざまなケースの1つだと思いますまたは概念的に正しくありません。 これに関する別の考えは、MojangのtoStringが実際にSimpleAdvancement
名付けた、 Advancement
ケースが正しくないと認識され、Mojangが実際にクラスをAdvancement
と呼んでいることです。 VoxelShape
も当てはまります。 Mojangは、実際には、コードベースで2回だけVoxelShapeとして参照しています。VoxelShapeのtoStringと、ArrayVoxelShapeのIllegalArgumentExceptionメッセージです。 一方、VoxelShapeには、単に形状( "No bounds for empty shape."
)として説明するUnsupportedOperationExceptionメッセージもあります。 ここに置くことはあまりないので、これは「ホットテイク」であり、この変更を推進しているのではなく、単なるワイルドカードの提案であることを全員に思い出させて結論を出します。
Voxel
は、グリッドポイントが整列していることを意味すると思います。 ポイントがボクセルラティスポイント上にない場合は、 Voxel
プレフィックスの削除を確実にサポートします。
それで、ここにホットテイクの反対の問題があります:ボクセルは、このウィキペディアの記事で説明されてます。
ただし、Minecraftのコンテキストでは、 Voxel
はブロックスペース内のピクセルの概念の一般的な用語ですが、これらの形状は、ブロック座標に明示的にバインドすることなく、どこでも自由に使用できます。 Shape
が、他のプログラミング環境で見られるようなボクセルの文字通りの概念を暗示するのに十分明確であると考えるかどうかは、本当に異なります。 私たちは、バウンディングボックスおよびベクターを見ると、彼らは必要に応じて世界の位置にバインドすることができ点を表し、と私は同じ動作を簡略化する名前から推測することができ感じる知っていますShape
すぎ。
実装については、本質的に「ボクセル」はありません。
VoxelShape
は、ボクセルで構成されています。 ボクセルの形状は、3次元のブール配列(ボクセル)と、各行、列、およびレイヤーのサイズです。
ポイントがボクセルラティスポイント上にない場合は、ボクセルプレフィックスの削除を確実にサポートします。
それらは直方体格子上の点である必要があります。
FAPの間に、稚魚はそれをVoxelShapeと何度も呼びました。 想定するのはかなり安全だと思います。 閉じましょうか。
これは、MojangがそれをVoxelShape
と呼んでいるという知識で作成されました。 これは、型の概念を単純化することを目的としていました。 ただし、平均すると、現在、投票数はこの変更の減少に傾いているので、それに基づいて終了します。
最も参考になるコメント
FAPの間に、稚魚はそれをVoxelShapeと何度も呼びました。 想定するのはかなり安全だと思います。 閉じましょうか。