1. Playerの挙動作成

プロジェクトの準備がまだ済んでいない場合は、ブロック崩しの作成方法から先に準備を済ませてください。

ここではPlayer(水色のパドル)の挙動を作成します。
パドルをADキーや左右キーで移動する挙動をLogic Behaviorコンポーネントを使用して実装します。

PlayerにLogic Behaviorの追加

  • Playerオブジェクトを選択
  • InspectorウィンドウのAdd Componentボタンをクリック
  • コンポーネント追加メニューからLogic Toolkit/Logic Behaviorを選択してLogic Behaviorコンポーネントを追加
  • Logic BehaviorのEditボタンをクリックし、Logic Editorウィンドウを開く

PlayerのLogic Behaviorを編集

Input.GetAxis("Horizontal")による水平軸入力から移動速度を計算しRigidbody.linearVelocityに代入することで、パドルの移動を実装します。

Updateノードの作成

  • Startノードを削除する
  • グラフ上をクリックしフォーカスがある状態で Spaceキーを押し、ノード作成メニューを開く
  • Scriptsタブを選択
  • 一覧からEvents/Updateを選択してUpdateノードを作成

Rigidbody.linearVelocityの設定ノードの作成

Logic Toolkitのスクリプト生成機能を使用してメンバーにアクセスします。

  • Updateノードの実行ポートをノードの右側付近にドラッグ&ドロップし、ノード作成メニューを開く
  • Membersタブを選択
  • 検索欄にRigidbody linearVelocityと入力
  • 一覧からUnityEngine.RigidbodylinearVelocity [Set]を選択
  • ノードの種類選択メニューからActionを選択

Membersタブでメンバーのアクセススクリプトを作成した際に、まだスクリプト生成用のアセンブリが作成されていない場合は新規作成されます。
アセンブリが[Unselected]のままノードを作成した場合の名前はデフォルトのLogicToolkitGeneratedScriptsになります。
アセンブリのドロップダウンをクリックしメニューからCreate New Assemblyを選択すると、任意の名前のアセンブリを作成可能です。
またアセンブリ名の変更は非推奨です。
後から変更するとスクリプトの参照切れが発生するため、間違いのないように気を付けてください。
通常はデフォルトの名前で問題ありません。

サンプルのBlockBreakingではインポートした際の重複を避けるためにBlockBreaking_GeneratedScriptsという名前にしています。

スクリプト生成用のファイルはAssets/Logic Toolkit/Generated Scripts/アセンブリ名フォルダに作成されます。
基本的にスクリプト生成用のファイルを直接変更する必要はありません。

new Vector3ノードの作成

  • Linear Velocityフィールドの入力ポートを左側付近にドラッグ&ドロップし、ノード作成メニューを開く
  • Membersタブを選択
  • 検索欄にnew Vector3と入力
  • 一覧からUnityEngine.Vector3new Vector3(float x, float y, float z)を選択
  • ノードの種類選択メニューからComputeを選択

Float Mulノードの作成

  • Xフィールドの入力ポートを左側付近にドラッグ&ドロップし、ノード作成メニューを開く
  • Scriptsタブを選択
  • 検索欄にFloat Mulと入力
  • 一覧からFloat Mul (Compute)を選択

Float Mulノードの編集

移動速度を5に設定します

  • Value 2フィールドの数値を5に設定

Input.GetAxisノードの作成

  • Float MulノードのValue 1フィールドの入力ポートを左側付近にドラッグ&ドロップし、ノード作成メニューを開く
  • Membersタブを選択
  • 検索欄にInput GetAxisと入力
  • 一覧からUnityEngine.InputGetAxis(string axisName)を選択
  • ノードの種類選択メニューからComputeを選択

Input.GetAxisノードの編集

水平入力を出力するように設定します。

  • Axis Nameフィールドの文字列をHorizontalに設定

Speedの変数化(任意)

移動速度をFloat Mulに直接記述していると、後から見返す際にどこに速度を記述しているかが分かりにくいため、このような数値はブラックボードの変数にしておくと良いです。

  • サイドパネルのBlackboardタブを選択
  • Rootタブを選択
  • +ボタンをクリックし、型選択メニューを開く
  • 一覧からPrimitive/floatを選択
  • 名前をSpeedに設定
  • 数値を5に設定
  • Speed変数をグラフのFloat MulのValue 2フィールド付近にドラッグ&ドロップし、ノード作成メニューを開く
  • Get Variable (Compute)を選択
  • Speed取得ノードの出力ポートからFloat MulのValue 2フィールドの入力ポートへドラッグ&ドロップして接続

Playerの挙動確認

ここまで作成するとグラフは以下のようになっています。

プレイ開始してPlayer(水色のパドル)の挙動を確認します。

  • Aキー左矢印キーで左に移動することを確認
  • Dキーから右矢印キーで右に移動することを確認
  • 壁に当たったら停止することを確認

次回

次回は2. Ballの挙動作成を行います。

完了を投稿

ここまでの作業完了をSNSに投稿する場合はこちら。