プロジェクトの準備がまだ済んでいない場合は、ブロック崩しの作成方法から先に準備を済ませてください。
ここでは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.Rigidbody
のlinearVelocity [Set]を選択 - ノードの種類選択メニューからActionを選択
Membersタブでメンバーのアクセススクリプトを作成した際に、まだスクリプト生成用のアセンブリが作成されていない場合は新規作成されます。
アセンブリが[Unselected]のままノードを作成した場合の名前はデフォルトのLogicToolkitGeneratedScripts
になります。
アセンブリのドロップダウンをクリックしメニューからCreate New Assemblyを選択すると、任意の名前のアセンブリを作成可能です。
またアセンブリ名の変更は非推奨です。
後から変更するとスクリプトの参照切れが発生するため、間違いのないように気を付けてください。
通常はデフォルトの名前で問題ありません。
サンプルのBlockBreakingではインポートした際の重複を避けるためにBlockBreaking_GeneratedScripts
という名前にしています。
スクリプト生成用のファイルはAssets/Logic Toolkit/Generated Scripts/アセンブリ名フォルダに作成されます。
基本的にスクリプト生成用のファイルを直接変更する必要はありません。
new Vector3ノードの作成
- Linear Velocityフィールドの入力ポートを左側付近にドラッグ&ドロップし、ノード作成メニューを開く
- Membersタブを選択
- 検索欄に
new Vector3
と入力 - 一覧から
UnityEngine.Vector3
のnew 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.Input
のGetAxis(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に投稿する場合はこちら。