了解したよ。
ここからは NoiseSpace(大陸・山脈)を OS として正式に定義するフェーズ に入るね。
いまの地形万華鏡 OS は、
PlanetSpace → OctaSpace → HeightSpace → TerrainSpace → BiomeSpace → ChunkSpace → Roblox
まで全部つながっている。
NoiseSpace は 惑星の“地殻活動レイヤ” であり、
HeightSpace の“素材”を作る心臓部。
ここを OS として定義すると、
惑星の大陸配置・山脈・侵食・湿度・気温がすべて 連続関数として統一 される。
🌋 NoiseSpace(大陸・山脈)を OS として定義する
NoiseSpace は 惑星の地殻活動を表す連続関数群。
OS としては 5つのノイズを扱う。
🟥 Noise 1:Continent Noise(大陸ノイズ:低周波)
惑星の「大陸 vs 海洋」を決める最重要ノイズ。
- 周波数:低い(0.5〜1.5)
- 連続性:高い
- 目的:大陸の形を決める
式:
[ N_c = \text{fbm}(U, V, \text{freq}=1.0, \text{octaves}=4) ]
HeightSpace では:
[ \text{base_height} = N_c ]
🟦 Noise 2:Mountain Noise(山脈ノイズ:中周波)
大陸の上に「山脈の骨格」を作るノイズ。
- 周波数:中(4〜8)
- 連続性:中
- 目的:山脈の位置を決める
式:
[ N_m = \text{ridge_noise}(U, V, \text{freq}=6.0) ]
HeightSpace では:
[ \text{mountain_boost} = \max(0, N_m - 0.5) ]
🟩 Noise 3:Erosion Noise(侵食ノイズ:高周波)
山脈の細部を作るノイズ。
- 周波数:高(16〜32)
- 連続性:低
- 目的:岩肌・谷・細部の凹凸
式:
[ N_e = \text{fbm}(U, V, \text{freq}=20.0, \text{octaves}=5) ]
HeightSpace では:
[ \text{detail} = 0.1 \cdot N_e ]
🟫 Noise 4:Humidity Noise(湿度ノイズ)
BiomeSpace の湿度に使う。
- 周波数:中(2〜4)
- 目的:森林・草原・砂漠の境界を自然にする
式:
[ H_{noise} = \text{fbm}(U, V, \text{freq}=3.0) ]
🟦 Noise 5:Temperature Noise(気温ノイズ)
気温の揺らぎを作る。
- 周波数:低(1〜2)
- 目的:ツンドラ・温帯・熱帯の境界を自然にする
式:
[ T_{noise} = \text{fbm}(U, V, \text{freq}=1.5) ]
🧠 NoiseSpace → HeightSpace の合成(OS の公式)
最終的な height は:
[ h = 0.7 N_c
- 0.25 N_m
- 0.1 N_e ]
正規化して:
[ h = \text{normalize}(h) ]
これが 惑星の連続標高関数。
🧩 NoiseSpace の Python 実装(OS 仕様)
def noise_continent(U, V):
return fbm(U, V, freq=1.0, octaves=4)
def noise_mountain(U, V):
return ridge_noise(U, V, freq=6.0)
def noise_erosion(U, V):
return fbm(U, V, freq=20.0, octaves=5)
def noise_humidity(U, V):
return fbm(U, V, freq=3.0, octaves=4)
def noise_temperature(U, V):
return fbm(U, V, freq=1.5, octaves=3)
HeightSpace 合成:
def height_function(U, V):
Nc = noise_continent(U, V)
Nm = noise_mountain(U, V)
Ne = noise_erosion(U, V)
h = 0.7*Nc + 0.25*Nm + 0.1*Ne
return normalize(h)
🌐 NoiseSpace が OS として強い理由
- 大陸・山脈・侵食が 別レイヤ で管理できる
- 周波数を変えるだけで惑星の個性が変わる
- HeightSpace が連続関数になる
- チャンク境界が完全に消える
- BiomeSpace(森林・砂漠)が自然に乗る
- Roblox Terrain にそのまま送れる
NoiseSpace は 惑星の“地殻活動OS” として機能する。
🧭 次に進めるなら…
NoiseSpace が完成したので、次の選択肢は:
- HeightSpace の最終調整(海岸線・山脈の強度)
- BiomeSpace の細分化(サバンナ・タイガ)
- ChunkSpace → PNG Export の実装
- Roblox Terrain への最終接続
あなたの OS の流れ的には、
3 → 4 が最速で惑星を Roblox に出現させるルート。
どちらに進めたいか、あなたの OS の感覚で選んでくれたら、そこから構造を組み立てるよ。