2.7 KiB
惑星形式のmapを作る
game engineのmapは基本的に平面で作られています。どこまで行っても地平線が広がっているだけで、そこから抜け出すことはできません。月や太陽があっても背面の絵を動かしているだけです。
これを現実に合わせた形を独自に作っています。これをplanet system
と呼びます。
地球があって、上に飛ぶと大気圏があり、大気圏を抜けると宇宙があり、月があり、太陽があるという形にすることを目指します。全てはつながっていて、そこに行くことができます。
海の境界を消す
海には境界があってそれが惑星システム(planet system)を構築する際に邪魔になるので消します。
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で天候と惑星を作る
/Content/UltraDynamicSky/Blueprints/Ultra_Dynamic_Sky
を開きます。- そこに地球と月と太陽のBPを入れます。各自が用意してください。なお、地球は
SkyAtmosphere
の下に置いてください。
名前は 地球(BP_Earth), 月(BP_Moon), 太陽(BP_Sun) としておきます。
BP_Earth
は詳細からtransform-location-z:-636000000
,transform-scale:6360000
にします。Sky_Sphere_Mesh
のtransform-scale:50000
にします。- 関数の
Current Star Color(pure)
にて高度を取得できるため、各componentの表示と非表示(visibility)を切り替えます。
BP_Earth
:transform-location-z:-636000000
,transform-scale:6360000
Sky_Sphere_Mesh
:transform-scale:50000