【CG】写真を選択すると最適な視点に移動する【UE4】
ネット写真展会場、いろいろフィードバックありがとうございます。
やっぱり…ではあるのですが「良いアングルで写真が見れない。」とのコメントがぶっちぎりでした。
ということで早速改善。
やってみよう
1.アクションのトリガーを決定
写真を選択し右クリックメニュを開くと一番下に イベントを追加 という項目があるので OnClicked を選択。
すると、レベルブループリントの画面が開かれます。
2.ブループリントで視点移動する仕組みを作る
2-1.額縁ごとに個別カメラを用意
メインカメラの視点は残しておきたいので、額縁と対になるようにカメラを用意しました。これを『個別カメラ』と呼ぶことにします。
個別カメラは対象の額縁アクターの子にしておけばいいかな。
2-2.ブループリントで視点移動の設定
Let’s Enjoy Unreal Engine様のサイトを参考にさせていただきました。謝謝。
要はメインカメラと個別カメラがスイッチチングされるように接続します。フリップフロップとか準備されているのですね、今度 一度ブループリント関数リストを見ておこうかなあ。
・Aのときは、CameraActor_Room5_5のカメラに遷移する。
・Bのときは、プレーヤのカメラに遷移する。
という意味です。 Set View Target with Blend() の Blend Time はシューン!!って移動する時間です(トランジション)。遅いよりスムーズ感を出したほうがかっこいい。まああとトランジションに時間がかかる仕様は単純に腹が立つことがあるのでさっさと終わるようにしました。
コーディングしたほうが早い。コメントだけ残しておいて後から改善しよう。でもググるとこれよりもすさまじいブループリントのオンパレードですしまだましな方なのかな。
この先、ブループリントでクネクネ接続するのと、C++でゴリゴリ組むのどっちが良いんでしょうね。ダブルでイケるんでしたっけ、自分で関数作ってブループリントで配置する――っていう方法。
以下みたいなことをやりたいだけなのに。
完成
いかがでしょうか。
これで見て・寄って・歩く分には基本的実装として不自由しなさそうです。
「マウスオーバーでアイコンが変わる」とか「マウスドラッグのときは無反応」も入れないといかん。わかりにくいわ。それか波紋みたいなアニメーションをカーソル周辺に発生させるやつとか。
4人分の会場作ったら暑苦しい感じになってきたので、2階を造ろうかな。
参考サイト
・UE4 ゲーム中にカメラ切り替えを行なう方法 – Let’s Enjoy Unreal Engine
・ネット写真展 常設展 – 建築グラビア