投稿

2月, 2019の投稿を表示しています

[Unity] skyboxをどの方向にでも回せるようにする

イメージ
※これを書いた時点でのUnityのversion:2018 3.5f1 Unityのskyboxって、materialに付随するRotationパラメータをいじっても良いんですが、それって水平方向にしか回らないんですよね。 いろいろ調べてみましたが、やっぱりみなさん同じところで不満に思うようで、skyboxを回すスクリプトを書いてくださっている方もいました(注:外部リンク) https://github.com/przemyslawzaworski/Unity3D-C-programming/blob/master/cubemap_generator.cs ただ、このスクリプト、どうやら旧型の6面のskyboxにしか働かないようです(パノラマとかは多分サポートしてない)。 そこでこの記事では、どのようなskybox、というかskyにも通用するであろうもっともシンプルな方法をご紹介します。 やり方は、 1、cameraを2つ用意 2、片方のcameraはskyboxだけを映し、もう一つのcameraはそのあとで他のobjectを映す 以上。 気づいてしまえば簡単で、あとは細かいパラメータの設定の仕方を知っているかどうかだけです。 1、cameraを2つ用意   デフォルトでMain Cameraがついてると思いますので、もう一つ追加しましょう。メニューバーのGameObjectから追加しても良いし、Hierarchyタブ右クリックでCameraを選択してもよし。 2、2つのcameraのパラメータの赤枠部分を以下のようにセット。   ー Main Camera      ー 2つめのcamera    Depthは描画順に相当します。 これでOK、2つめのcameraが空を映してるので、これを回せば好きな方向に空を回せます。 ただし、Game viewでのみ。Scene viewでは回らないので注意してね。 上の画像ではskyboxにAsset Storeで無料配布中のMilkyWay、オブジェクトとして適当にTerrainを置いています。