ue/book/city/01_remove.md
2025-03-05 21:31:52 +09:00

2.9 KiB

惑星形式のmapを作る

game engineのmapは基本的に平面で作られています。どこまで行っても地平線が広がっているだけで、そこから抜け出すことはできません。月や太陽があっても背面の絵を動かしているだけです。

これを現実に合わせた形にします。地球があって、上に飛ぶと大気圏があり、大気圏を抜けると宇宙があり、月があり、太陽があるという形にすることを目指します。全てはつながっていて、そこに行くことができます。これをplanet systemと呼ぶことにします。

基本的に/Map/Small_City_LVLを使って構築していきます。

海の境界を消す

city sampleの海には境界があってcollisionが設定されています。邪魔になるので消します。

GroundCollisionCube,DroneBlockingVolumeを探して削除します。

ultra dynamic skyで天候と惑星を作る

ultra dynamic sky

  1. /Content/UltraDynamicSky/Blueprints/Ultra_Dynamic_Skyを開きます。
  2. そこに地球と月と太陽のBPを入れます。各自が用意してください。なお、地球はSkyAtmosphereの下に置いてください。

名前は 地球(BP_Earth), 月(BP_Moon), 太陽(BP_Sun) としておきます。

  1. BP_Earthは詳細からtransform-location-z:-636000000, transform-scale:6360000にします。
  2. Sky_Sphere_Meshtransform-scale:50000にします。
  3. 関数のCurrent Star Color(pure)にて高度を取得できるため、各componentの表示と非表示(visibility)を切り替えます。
  • BP_Earth: transform-location-z:-636000000, transform-scale:6370000
  • Sky_Sphere_Mesh: transform-scale:50000

issue: mapのcollisionがおかしくなる

これはearthをSkyAtmosphereの下に置くと発生します。親子関係を解除しましょう。

issue: earthを下に見ると黒い丸がある

earthのscaleを636から637に変更することで解消できます。

earthを下に見ると、黒い丸が映り込みます。これは、udsをupdateすると発生し始めました。

また、Captured Scene Sky LightのReal Time Capture`をdisableにすると雲も影も無くなります。したがって、条件でon/offを切り変える方法で緩和できます。この方法は使用しなくても良いです。

リアルタイムキャプチャが有効なスカイライトがシーンにあります。少なくともskyatmosphereコンポーネント、volumetriccloudコンポーネント、またはisksyとしてマテリアルタグが付いたメッシュが必要です。これらがない場合は黒になります。

ocean wavesで惑星の海を作る

こちら