# 惑星形式のmapを作る game engineのmapは基本的に平面で作られています。どこまで行っても地平線が広がっているだけで、そこから抜け出すことはできません。月や太陽があっても背面の絵を動かしているだけです。 これを現実に合わせた形を独自に作っています。これを`planet system`と呼びます。 地球があって、上に飛ぶと大気圏があり、大気圏を抜けると宇宙があり、月があり、太陽があるという形にすることを目指します。全てはつながっていて、そこに行くことができます。 ## 海の境界を消す 海には境界があってそれが惑星システム(planet system)を構築する際に邪魔になるので消します。 ## ocean wavesで惑星の海を作る [ocean waves](https://www.unrealengine.com/marketplace/ja/product/ocean-waves) 必要なものを`/Content/OceanWaves/Levels/EarthSizedOceanPlanet`からcopyして持ってきましょう。 - `BP_EarthSizedSphericalMesh` - `BP_EarthSizedOcean` - `WaterVolume` `BP_EarthSizedSphericalMesh`の`transform-location-z:-63600000`にします。`Sphere Radius:63600000`にします。`SphereEdge Length:16000000`になるはずです。 次に海上の影問題を修正するため`Material Overrides`, `Material Outer/Inner`をすべて変更します。私は`/Vefects/Water/VFX/WaterMaterials`を使用しました。 次に`BP_EarthSizedOcean`の`Volume Maaterials`で`WaterVolume`をセットします。`Above/Underwater`を`/Vefects/Water/VFX/UnderWater`に変更します。`height:0`にします。これは海に入って出たときに海中を適用する高さを設定します。 ## ultra dynamic skyで天候と惑星を作る [ultra dynamic sky](https://docs.google.com/document/d/1xAr0Hd3mY7Mp0g0waKLUvJaddUPaVxEeRoEEFXctCE0/) 1. `/Content/UltraDynamicSky/Blueprints/Ultra_Dynamic_Sky`を開きます。 2. そこに地球と月と太陽のBPを入れます。各自が用意してください。なお、地球は`SkyAtmosphere`の下に置いてください。 > 名前は 地球(BP_Earth), 月(BP_Moon), 太陽(BP_Sun) としておきます。 3. `BP_Earth`は詳細から`transform-location-z:-636000000`, `transform-scale:6360000`にします。 4. `Sky_Sphere_Mesh`の`transform-scale:50000`にします。 5. 関数の`Current Star Color(pure)`にて高度を取得できるため、各componentの表示と非表示(visibility)を切り替えます。 - `BP_Earth`: `transform-location-z:-636000000`, `transform-scale:6360000` - `Sky_Sphere_Mesh`: `transform-scale:50000`