web-dev-qa-db-ja.com

Roblox Terrain Generatorのシードとは何ですか?

私はRoblox Studioを使用していて、Terrain Generatorに遭遇しました。テキスト入力「シード」があり、常にいくつかのデフォルトの番号/コードがあります。私は常にシードとは何か、そしてRoblox Seedsにある種のリストがあるかどうか悩んでいます。これが機能のスクリーンショットです: Roblox Studioのテレインエディターのスクリーンショット

私は乱数を入力することでいじくり回しており、それが地形スタイルに影響を与えています。 Roblox Seedsを何度もグーグル検索しましたが、ゲームとグループしか見つかりませんでした。

すべてのRoblox Seedsとそれらがどのように機能するかについて、何らかのリストを作成していただければ幸いです。

2
FlashDrive284

ハイパフォーマンスマークは正しいです。その理由を説明させてください。

テレインジェネレーター、クラウドジェネレーター、海洋シミュレーターはすべて、数学的な波動関数、ランダム関数、ノイズ関数を使用して、興味深く信頼できる形状を作成します。シード値は、ジェネレーター以外の誰にとってもほとんど問題ではありません。その値により、再現可能な結果を​​非常に迅速に確実に作成できます。コンピュータプログラムは可能な限りすべてを最適化する方法を見つける必要があり、地形情報を保存することは大量のデータになる可能性があります!したがって、すべてを保存するのではなく、スマートシステムは必要なときにいつでも地形を再生成しようとします。地形のすべてのスポットは複雑な数学関数を使用して再計算でき、シード値はその計算で重要な役割を果たします。

例として、2Dの丘をいくつか描画したいとします。 正弦波 を使用して、それらの丘の高さを記述できます。

for distanceAway = 0, 1, 0.1 do
    local hillHeight = math.sin( distanceAway )
    print( hillHeight )
end

数学関数を使用して丘を記述しているので、距離が離れていてもすぐにわかるのは、丘の頂上、谷の底、またはその間の何かであることを想定しています。また、実行するたびに同じになります!

しかし、おそらくそれらの丘はすべて似すぎているようです。高さに乱数を追加することで、丘に変化とジッターを追加できます。

for distanceAway = 0, 1, 0.1 do
    local hillHeight = math.sin( distanceAway ) + math.random()
    print( hillHeight )
end

そして、これは素晴らしい追加のように見えるかもしれません:丘は今より多くのバリエーションを持っています、それらは少し異常に尖ったかもしれませんが、少なくとも何度も何度も同じ丘ではありません...しかし、今問題があります。同じ丘をまた頼むと違う!

local distanceAway = 10
local hillHeight = math.sin( distanceAway ) + math.random()
print( hillHeight )
hillHeight = math.sin( distanceAway ) + math.random()
print( hillHeight )

あなたが世界を歩いていると想像してみてください。あなたは丘の上に本当にかっこいい岩や木を見つけました。友達を探すために離れますが、戻ったとき、丘の頂上は谷になっています。そして、それはあなたがどこに行ってもそうなのでしょう。どこにでも再訪する永続的な世界はありません!

したがって、乱数の代わりに、 ノイズ関数 からの疑似乱数を使用してみましょう。今回は、シード値も提供しましょう!

local seedValue = 0.2357
local distanceAway = 10
local hillHeight = math.sin( distanceAway ) + math.noise( distanceAway, 0.5, seedValue )
print( hillHeight )
hillHeight = math.sin( distanceAway ) + math.noise( distanceAway, 0.5, seedValue )
print( hillHeight )

綺麗な!シード番号を指定すると、ノイズ関数は毎回同じランダムに見える番号を再作成できます。これで再現可能な地形生成があり、興味深いバリエーションもあります!

ノイズの他の使用法を確認したい場合は、乱数とノイズについて詳しく説明する素晴らしい テキサス大学のスライドショー があります。

これが、Roblox Terrain Editorが「シード」値を提供できる理由のコンテキストの提供に役立つことを願っています。そして、私の知る限りでは、すべての異なるシードから作成されたマスターリストはありません。ただし、良いものを見つけたら、その番号を友人と共有して、彼らも試してみることができるようにしてください。

3
Kylaaa

コードブロックまたはその他のフォーマット済みテキストを作成するには、4つのスペースでインデントするか、バッククォートのグループで囲みます。

This will be displayed in a monospaced font. The first four spaces
will be stripped off, but all other whitespace will be preserved.
Markdown and HTML are turned off in code blocks:
<i>This is not italic</i>, and [this is not a link](https://example.com)

ブロックではなくインラインコードスパンを作成するには、バックティックを使用します。

$文字はwindow.jQueryの単なるショートカットです。

リスト内にフォーマット済みブロックを含める場合は、8つのスペースでインデントします。

  1. これは通常のテキストです。
  2. これもそうですが、コードブロックに従います。

    Skip a line and indent eight spaces.
    That's four spaces for the list
    and four to trigger the code block.
    
0
hjhj