見出し画像

背景を複数使う

ワールドの背景にはSkyboxという機能を使って様々な天候、時間帯、場所を表現することが可能です。
ワールドの設計によってはその背景を複数使いたい場合もあると思います。
ですがclusterのワールドでは基本的に1つしか設定できません。
ここでは疑似的にではありますが、複数の背景を設定する方法を紹介します。
Skyboxの設定については公式のガイドを参照してください。

こんなところで使ってます!

筆者のワールドではギミックと組み合わせて複数のSkyboxを使用している箇所があります。

ホムルーム展望台 スイッチによって空の切り替えが可能
Walk in the Fieldではアイテムを持ってる間だけ空が変化

ObjectSkyboxシェーダー

これを可能にするのが今から紹介するObjectSkyboxシェーダーです。

ほびわんさんよりBOOTHにて配布されています。
まずはダウンロードしてワールドのプロジェクトにインポートしてください。LICENSEREADMEもしっかり読みましょう!

インポートが成功するとHobionePlanetフォルダが追加されて、このような中身になっているはずです。
虹色でSの文字が書いてあるファイルがシェーダーというもので今回使うものになります。

シェーダーとは「描画方法を記述したプログラム」のことです。
これがなければオブジェクトが見えるようにはなりません。
今回使う「ObjectSkyboxシェーダー」は通常はSkyboxで背景としてのみ使える画像をオブジェクトに貼り付けて使えるようにしたものです。

使い方

まずは画像を貼り付けるオブジェクトを用意します。
Cubeを用意して大きさを変更してください。XYZがそれぞれ10ぐらいでいいでしょう。(Scaleで変更可能)
Box Colliderはチェックを外すか削除してください。
これをやっておかないとCubeの中に入れません。

次に新しいマテリアルを作成してください。名前や色はなんでもいいです。

Projectで新しいマテリアルを作成

作成したマテリアルを先ほど作成したCubeにドラッグ&ドロップして適用します。

CubeのInspectorを開き、下のほうにあるShaderというところに先ほどインポートしたシェーダーのファイル(今回は右のもの)をドラッグ&ドロップします。

シェーダーをドラッグ&ドロップ
シェーダーを適用

シェーダーを適用するとShaderの名前がStandardからHobione/Skybox/ObjectSkyboxCubeに変化し、オブジェクトの色も灰色になったはずです。

最後にCubemap(HDR)のSelectを選択してください。

背景画像の一覧が表示されるので、好きなものを選択してください。
これでCubeに背景画像が適用されました!

ObjectSkyboxシェーダーの特性

このシェーダーはオブジェクトの内側に画像を貼ります。
外側から見たときにはなにも表示されないようになっています。
なので、使用する場合は大きなオブジェクトを用意し、その中から見るのが前提となります。

実験場に配置された検証用

また、オブジェクトの境目から先は見えません。

大きさにも注意が必要です。
背景画像なのでなるべく大きいオブジェクトに画像を貼り付けたほうが自然な感じにはなりますが、clusterでは描画距離が1000までとなっています。

オブジェクトに穴があき、外の背景が見える

描画距離を超えたオブジェクトは表示されず、空に穴があいたように見えてしまいます。
ワールドの大きさより少し大きめがいい感じでしょう。
ワールドの大きさが1000を超えてしまう場合はオブジェクトがついてくるアイテムと併用すれば実装可能です。

実際にワールドで使用する場合

いろいろなパターンが考えられますね!

1.部屋ごとに外の景色が変わる
2.切り替えスイッチで変更する(スイッチについては以下のリンクより)
3.時間連動ギミックで変更する(筆者は使ったことありません…)

などなど、他にもアイディア次第で使い方はいくらでもありそうです!
自由な発想で自分の世界を表現してみましょう!

スイッチ1(オンオフ切り替え)

スイッチ2(交互に入れ替え)

スイッチ3(複数から1つを選択)

オブジェクトがついてくるアイテム


<<前の記事
ワールドの軽量化(テクスチャ解像度変更)

次の記事>>
スイッチ1(オンオフ切り替え)

実験場解説ページトップへ

いいなと思ったら応援しよう!