UnrealEngine奮闘記

アンリアルエンジンでの開発やTIPSをまとめたblogです

インベーダーゲームを作る その2固定カメラの設定

プレイヤーの前にまずカメラ操作が必要だったので、今回はカメラについてです。

・カメラの作成
・Blueprintの概要
・Level Blueprintの実装(固定カメラ)

カメラの作成

現状で画面上部のPlayを押すとプレイヤーに追従してカメラが動くと思います。
これだとインベーダーゲームでは都合が悪いので、カメラを固定したいと思います。

まずカメラを作成します。

最初に左上の「Modes」内のBasicにあるCameraを、レベルに置いてあるPlayerStart(コントローラーのアイコン)が見える場所に置きます。

f:id:swiftnest:20140425001048j:plain

次にいよいよBlueprintを作成します。

Blueprintの概要

Blueprintは大きく分けて2種類あります。

1つはLevel Blueprintで、レベル全体を制御するBlueprintで、主に初期化周りやシーケンス制御などに使用します。

もう1つはClass Blueprintで、オブジェクトに埋め込んでオブジェクト自体を制御します。

Blueprintの概要はこちらを参考にして下さい(英語)
https://docs.unrealengine.com/latest/JPN/Engine/Blueprints/Overview/index.html

今回は初期化時にカメラを固定カメラに変更するのが目的なので、Level Blueprintを使用します。

Level Blueprintの実装(固定カメラ)

まずカメラをアクティブにした状態(カメラが黄色になっている状態)で
画面上部アイコンのBlueprints -> Open Level Printを選びます。

Level Blueprintのエディターが開きますので、そこで右クリックし「Event Begin Play」と検索ウィンドウに入力して作成します。
Event Begin Playはレベルが生成された瞬間に呼ばれるイベントです。

次に同じく「Get  Player Controller」を作成します。

さらに右クリックメニュー上部にある「Add Reference to CameraActor2」を選びます。
もしメニューに無い場合はカメラが非アクティブなので、カメラをアクティブにしてから再度右クリックして下さい。

最後に「Set View Target with Blend」を入力します。その際に右上のContext SensitiveのチェックボックスがONになってると検索しても出てきませんのでOFFにします。

f:id:swiftnest:20140425004109j:plain

それらを以下のように繋ぎます。

f:id:swiftnest:20140425004214j:plain

白い線が実行線です。この様に接続する事でEvent Begin Playが呼ばれた後、Set View Target with Blendが呼ばれます。
白い線以下が引数で、青や緑は型を表します。

実はこのBlueprintについては、私もAnserHubからやり方を知った為、詳細は判っていません。
詳細の判る方は教えてもらえると嬉しいです。

これで保存し再度Playを押すと、カメラが配置したカメラに切り替わっているのと、キー操作が効かなくなっているかと思います。

次回こそ、プレイヤーの制作を行います。