トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

Sphereのマテリアルをcubemapにしたらskyboxみたいになる。

skyboxはシーンに一つ。でも一つのシーンの中に複数の空を持ちたいときがある。

もしくはSTYLYみたいにskyboxをうまくアップできない?ときとか。

SphereのマテリアルをSkybox>CubemapにしたらSphereの中に入った時にskyboxのような見た目になった。

f:id:bibinbaleo:20190815131425p:plain

2020/9/18追記

もっと他にもいろいろ方法があった。

Cubemapを使わなくても、内側を描画するシェーダーを使ったり、内側に法線があるSphereを使えばいい。

詳しくはこちら

bibinbaleo.hatenablog.com

 

qiita.com

作り方

- 全天周画像のTexture ShapeをCubeににしてApply

f:id:bibinbaleo:20200701105359p:plain
- 大きなサイズのSphereを置く。Collidarは外しておくといいかも。
- Newマテリアルを作成してSphereにセット
- そのシェーダーをSkybox>Cubemapにする

f:id:bibinbaleo:20200701105429p:plain

- Cubemapに最初に作成した全天周画像をセット
- 必要に応じてExposureで回転させる

 

注意

Skeybox>Cubemapのシェーダーのマテリアルを作ってから、Sphereとかに張り付けようとしても張り付かない。

最初にSphereに適当なデフォルトのマテリアルをくっつけて、そのあとシェーダを変えたらちゃんと反映される。謎

完成

 

外から見たとき

f:id:bibinbaleo:20190815131428p:plain

中に入った時

f:id:bibinbaleo:20190815131831p:plain

 

普通にskyboxにcubemapを設定するとこんな感じになる。

f:id:bibinbaleo:20190815131430p:plain

デフォルトだとskyboxの色が環境効として反映されて、StandardShaderのマテリアルはその色になる。

 

最後に

あと普通のStandardシェーダーだとSphereの中に入っても外側のマテリアルの色とか゚テクスチャは反映されない。何も見えないというか外側の世界が広がっている。内側には描画されないシェーダーなんだと思う。

 

Cubemapの実験

bibinbaleo.hatenablog.com