libnoise の Perlin.GetValue(x, y, z) メソッド (C# ポートを使用) は、入力値が整数の場合、0 を返します。タイルの 2D 配列 (配列のインデックスは整数であるため) をノイズの値にマッピングするにはどうすればよいでしょうか? 3D 地形でさえ、最終的に整数値全体に依存するため、これは私にはほとんど意味がありません。このような 3D ランドスケープを生成している人にとって、地形内のこれらの位置は常に 0 の値に制限されていますか?
編集:私はチャンク システムを使用していることに言及する必要があるため、各チャンクの [32, 32] タイルの配列をループして、パーリン ノイズ値を取得します。ワールド空間のチャンクのオフセットを配列内のタイルの [x, y] 値に追加することで、連続した地形が得られることを期待していました。とにかく、私はこのようなことを試しましたが、それでもノイズ関数からゼロになりました:
double temp = generator.GetValue((x + offsetX) / ChunkSize, (y + offsetY) / ChunkSize, 0);
編集 2:ノイズ関数の値を 32x32 テクスチャに出力し、それらを並べて配置します。ノイズが生成されていますが、チャンクのオフセットの x 値と y 値の入力を調整しても連続していません。
編集 3:問題が解決しました。私のオフセット値は、タイル/チャンク座標ではなくピクセル座標に設定されていました。チャンクのインデックスに、チャンク サイズ (タイル単位) だけでなく、チャンク サイズ×タイル サイズを掛けていました。