UE4 カメラを切り替える(Set View Target with Blend)
カメラを複数配置する方法はこちらに。
・カメラを配置する(Camera)
http://kagring.blog.fc2.com/blog-entry-293.html
この配置したカメラを時間指定などで切り替える方法です。
今回もこちらのサイトを参考にさせていただきました。
・UE4 ゲーム中にカメラ切り替えを行なう方法
http://unrealengine.hatenablog.com/entry/2015/09/26/215004
カメラを切り替えるには「Set View Target with Blend」ノードを使います。

「Target」には「PlayerController」を渡します。
作り方によってはこの入力はなくなることもあるみたいです。
「New View Target」には切り替え先のカメラアクターを渡します。
ということもできるようなので、カメラアクター以外でも大丈夫みたいですね。カメラに切り替えるというイメージがあるかもしれませんが、この機能はカメラでなくても実はOKです。ただのスタティックメッシュやライトなどであっても切り替えが可能です。
ただし、アクターの位置や向きに依存したビューになるので見た目を調整したい場合にはカメラアクターかカメラコンポーネントを所持したアクターに対して行なってください。
今回はカメラの切り替えとして使っています。
「Blend Time」には切り替えるブレンド時間を秒で指定します。1.0だと1秒ですね。
0.0を指定すると瞬時にぱかっと切り替わります。最初の初期化時やカットチェンジはこれでよさそうです。
「Blend Func」には切り替え時に使用するブレンド関数を指定します。
「Blend Exp」には上記の切り替え時のブレンド関数に影響する係数を指定します。
「Lock Outgoing」についてはいまいちよくわかっていないのですが
ドキュメントに
とあるので、If true, lock outgoing viewtarget to last frame's camera position for the remainder of the blend.
trueの場合、ブレンドの残りの部分について、出力ビューのターゲットを最後のフレームのカメラ位置にロックします。
対象のアクターが動いているような場合でも、カメラがちゃんと綺麗につながるようにロックしてくてる。
みたいな感じなのかなと思います(あくまで思います)
動いてるカメラに対してブレンドするときなどに必要なのかなと…。
ただ、こういうのはこれに頼らず自分で制御した方がよさそうな気もしますね。
「Set View Target with Blend」の公式ドキュメントはこちら。
・Set View Target with Blend
https://docs.unrealengine.com/latest/INT/BlueprintAPI/Game/Player/SetViewTargetwithBlend/index.html
というわけで使い方としてはこんな感じになりました。

対象のカメラに2秒かけてリニア補完で切り替える。といった処理ですね。
動画は取っていないのですが alwei さんがとったものがあったのでこちらをぺたり。
カメラ切り替えテスト。#UE4Study https://t.co/famdSjfzhu
— alwei (@aizen76) 2015年9月26日
ゲームを作ったりするのには結構使いそうなノードになりそうですね。
| UE4 | 11:25 | comments:0 | trackbacks:0 | TOP↑