凛(kagring)のUE4とUnityとQt勉強中ブログ

2016 年から UE4 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE4 カメラを切り替える(Set View Target with Blend)

UE4 でカメラを切り替える方法です。
カメラを複数配置する方法はこちらに。

・カメラを配置する(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」ノードを使います。
カメラ切り替え005
「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

というわけで使い方としてはこんな感じになりました。
カメラ切り替え004
対象のカメラに2秒かけてリニア補完で切り替える。といった処理ですね。

動画は取っていないのですが alwei さんがとったものがあったのでこちらをぺたり。

ゲームを作ったりするのには結構使いそうなノードになりそうですね。
スポンサーサイト

| UE4 | 11:25 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/294-adddcaf6

TRACKBACK

PREV | PAGE-SELECT | NEXT