この記事は GRIPHONE Advent Calendar 2021 21日目の記事です。
こんにちは、Unityエンジニアの上岡です。
今年の夏に、昔から好きな実写背景を使っているゲームの最新作がでたんですが
そのゲームが今回360度背景を使うようになっていて
ちょっとした衝撃を受けたので、自分でもカメラを買って遊んでみました。
とりあえずやってみる
Unityで新規プロジェクトを用意します。
特に理由はないですがURPで。
新規Sceneを作って、Sphereを作ります。
(UnityのSphereよりICO球を使ったほうが歪みが少ないらしいですが、今回はUnityのSphereで)
Sphereに設定するMaterialを用意してみます。
ここで注意すべきは、Render FaceをBackに設定することくらいですね。
こうしないとカメラをSphereの中に入れた場合にカリングされて表示されません。
Sphereに作成したMaterialを設定するとこうなります。
小さいのでスケールで100倍してみます。
特に何も特別な設定とかせずにできてしまいましたね・・・。
Unityさん優秀です。
流石に簡単にできすぎたので
3Dモデルを表示してみます。
公式から、サニーサイドアップユニティちゃんを落としてきてあわせてみようと思います。
多少カメラの設定等変更しましたが、デフォルトだとこんな感じですね。
ここから先ほどもやった360度画像をMaterialに設定したShpereを配置し、影だけ表示するプレーンを足元に配置してみました。
結果がこちら。
予想ではもっと浮いてる感じが出てしまうのかと思っていたのですが、全然違和感がなくてびっくりです。
おわりに
正直ネタとしては新しくもなんともないですが、趣味と実益を兼ねてやってみました。
自分でも予想外だったのが、3Dモデルを置いて影を表示したらあまり違和感がなかったことですね。
(背景とキャラの縮尺を合わせるのが結構大変かなと感じましたが)
実際のゲーム開発で背景を実写そのまま使うのは色々とハードルがあるとは思いますが
アイディア次第では何か面白いことができるかもしれませんね。
(冒頭で言った実写背景ゲームは旅ゲーなので、仕様にマッチしていると思います)
これで趣味で撮影した写真がゲーム背景素材に・・・なんてことにはならないでしょうが
何か良いアイディアに落とし込めると、ちょっと面白い感じの仕様ができたりしないかな、と思ったりもします。