以下の内容はhttps://www.karvan1230.com/entry/2022/06/14/212619より取得しました。


【小ネタ】カメラのClipping Planesを使った場面展開

シン・ウルトラマン

シン・ゴジラは楽しく観れたのにシン・ウルトラマンはちょっと寒く感じた皆さんこんにちは。いや、全体的には面白かったんですがね、シン・ゴジラと同じノリで官僚やら政治家やらが話に割り込んでくるわりに、矛先をあっさりと納めて聞き分けが良いので肩透かしを食らう感じ、竜頭蛇尾、私の苦手な言葉です。

 

Death's Door

エルデンリングをクリアしてしまい、期待していた「Trek to Yomi」が余りに"Not for me"な仕上がりだったので、PSストアで半額だった「Death's Door」というゲームを購入しました。

ゼルダライクなクォータービューのアクションRPGで、爽快なアクションと探索&謎解きが融合した秀逸なゲームでした。
難易度はそれほど高くなく10時間程度でクリアできるボリュームですが、森林、墓地、庭園、雪山等フィールドの種類は豊富で、そこに登場するダンジョンもギミック満載で飽きることがありません。
ボスがちょっと固めで単調になりがちですが、洗練された操作感と程良い謎解き、トゥーン調でコミカルなグラフィックと演出、美しいBGMもレベルが高く、インディーゲームとしてかなり高品質なゲームだと思います。
いつかこのレベルのものを作ってみたいですね。

 

複数台カメラ

Unityでは同じシーン内に複数台のカメラを設置することができます。

その場合、Depth値が低い順にカメラの映像は描画される為、結果、高い側の映像で上書きされる事になります。

なので、カメラA,Bそれぞれが別の映像を取っている場合、Depth値が高い側のカメラに対してアクティブの有効/無効を切り替えるだけで簡単にカットインのような映像を作ることができます。

 

Clipping Planes

一方、Unityのカメラには「Clipping Planes」というプロパティがあり、これはカメラが撮影を開始・停止するカメラからの距離を設定しています。
この「Clipping Planes」で指定された撮影範囲はシーンビュー内でカメラを選択すると確認することができます。

逆に、この範囲外にあるオブジェトは画面に描画されないので、Farの値を極端に小さくして設定して何も描画されない状態にして

それを徐々に大きく変えていけば、Depth値が低い方のカメラ映像から高い方のカメラ映像へ徐々に変化する映像ができそうです。

 

DOFarClipPlane

Clipping Planesの値をスクリプトで動的に変えたい場合はDOTweenを使うと便利です。
DOTweenにはCameraコンポーネントに対するTweenメソッドも用意されており、以前、このブログにて紹介しています。

www.karvan1230.com

 

今回はDOFarClipPlaneというメソッドを使用して
カメラA(Depth値が低い方)の映像から

 

カメラB(Depth値が高い方)の映像へと変えていきます。

 

最初にカメラBのFar値を低い値に設定し、DOFarClipPlaneで元の値に戻していきます。

いい感じに切り替えることできました。

 

とは、いえ・・・

今回の手法はカメラのClipping Planesを使うため、映像はカメラの奥行方向にしか変化させられません
なので汎用性は低く使い道はあまりないと思いますが、ゲーム内の一つの演出としては面白いと思います。

こんな感じで

 




以上の内容はhttps://www.karvan1230.com/entry/2022/06/14/212619より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14