[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を置いています。
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を置いています。
コメント
コメントを投稿