
(番外編)プレイ開始時すぐに操作できるようにする
初期状態では、エディタでのプレイしようとすると起動後に画面を一度マウスクリックしないと操作ができないようになっています。
これはデフォルトでマウスによるUI操作を行えるようにするためなのですが、すぐに操作したい場合になかなか不便です。
そこで、即座に操作可能になるよう直してみましょう。
処理を記述する場所
(レベルブループリント、キャラクターのブループリント、Game Modeなど)レベルに出現するならば、どこに処理を書いても問題ありません。
一般的には、「Player Controller」か、それ以外かに二分されます。
入門編をされている方で、まだ「Player Controller」についてよくわからなければ、2番めの「Player Controller以外に記述する」から実践してください。
Player Controller に処理を書く
基本となるPlayer Controller(プレイヤーコントローラ)に記述する方法です。Player Controllerを作成していなければ作成します。
ここでは深く掘り下げませんが、PlayerController はプレーヤーから入力データを受け取ることがメイン機能のブループリントと考えてください。
コンテンツブラウザの新規作成から「ブループリントクラス」を選択。
「親クラスを選択」ウィンドウで「Player Controller」を選びます。
作成した「Player Controller」に名前を設定して開きます。
イベントグラフの「Begin Play」付近で右クリックして、「input mode」と検索します。すると以下の3つがヒットするはずです。
「Set Input Mode Game And UI 」
「Set Input Mode Game Only」
「Set Input Mode UI Only」
このうち、ゲームオンリーを操作させるようにする「Set Input Mode Game Only」を選びます。選んだら、「Begin Play」と接続しましょう。
引数の「Game Controller」入力ピンには、どのプレイヤーに対してこのノードを実行するかを指定しなければなりません。入力ピンからワイヤーを伸ばして、「self」と検索して配置・接続します。これはこのBP自体(つまりPlayer Controller)を指しています。
さて、あとはこのPlayer ControllerをGame Modeに登録すればOKです。
Game Mode を作成します。作成していれば飛ばして登録まで進んでください。コンテンツブラウザの新規作成 ⇒ ブループリントから「Game Mode Base」を選びます。名前は任意につけてください。
開きます。ツールバーから「クラスのデフォルト」を選び、詳細パネルの「Classes」項にある「Player Controller Class」に、先ほど作成したPlayer Controllerを指定します。(コンパイル&保存してください)
レベルの画面に戻ります。レベルの「ワールドセッティング」パネルを開いてください。(画面上に存在しなければメニューバー ⇒ ウィンドウ ⇒ ワールドセッティングから表示できます)
ゲームモードオーバーライドをクリックして、ゲームモードを登録してください。
セッティングは以上です。プレイしてマウスカーソルがでないことを確認しましょう。
Player Controller以外に処理を書く
Player Controller以外に処理を書く方法です。
今回はキャラクターのBPに記述します。キャラクターのBPを開いてください。図ではサードパーソン・テンプレートの「ThirdPersonCharacter」を開いています
「Begin Play」に記述します。
図ではこのように他の処理がありますが、この処理は最初に実行したいので矢印の場所に処理を入れることにします。
任意の場所を右クリックして「Get Player Controller」と検索して配置してください。
「Get Player Controller」のReturn Value 出力ピンからワイヤーを伸ばします。「set input mode」と検索して、「Set Input Mode Game Only」ノードを配置しましょう。
図のように、接続された状態で配置されるはずです。
これを先ほど指定した処理の位置に差し込みます。
コンパイルして、プレイ確認してみましょう。
以上で、設定終了です。おつかれさまでした。