マウスとキーの入力 (6/6)
作成:2015-03-28 10:29
更新:2015-03-28 10:29
更新:2015-03-28 10:29
■マウスの動きに合わせてアクタを動かす
では、「マウスX軸/Y軸」ノードを利用したサンプルを作ってみましょう。以下の手順で作成して下さい。
●ノードの作成
「マウスX軸」ノード――マウスの横方向のイベントノードでしたね。
「マウスY軸」ノード――マウスの縦方向のイベントノードでした。
「Make Rot」ノード――回転角度を表すVector(正確にはRotatorインスタンス)を作成します。これは、2つ用意します。
「Add Actor World Rotation」ノード――アクタを回転するノードです。Local Rotationと違い、ワールド座標を元に回転させます。これも2つ用意します。
「Float * Float」ノード――Float値の掛け算ノードです。これも2つ用意します。
アクタのノード――回転するアクタのノードです。ここでは「Cube」を使っています。
●ノードの接続
「マウスX軸」→1つ目の「Add Actor World Rotation」
「マウスX軸」の「Axis Value」→1つ目の「Float * Float」の1つ目の入力
1つ目の「Float * Float」→1つ目の「Make Rot」の「Yaw」
1つ目の「Make Rot」の「Return Value」→1つ目の「Add Actor World Rotation」の「Delta Rotation」
アクタのノード→1つ目の「Add Actor World Rotation」の「ターゲット」
「マウスY軸」→2つ目の「Add Actor World Rotation」
「マウスY軸」の「Axis Value」→2つ目の「Float * Float」の1つ目の入力
2つ目の「Float * Float」→2つ目の「Make Rot」の「Pitch」
2つ目の「Make Rot」の「Return Value」→2つ目の「Add Actor World Rotation」の「Delta Rotation」
アクタのノード→2つ目の「Add Actor World Rotation」の「ターゲット」
●ノードの設定
それぞれの「Float * Float」の2つ目の入力を「-1」に設定する。
それぞれの「Make Rot」の、接続されていない入力項目をすべて「0」に設定する。
ここでは、新たに「Make Rot」というノードが使われていますね。これは、「Rotator」という値を作成するためのノードです。このRotatorは、Vectorの回転量用の値、といったものです。「移動量はMake Vectorで、回転量はMake Rotで」と覚えておくとよいでしょう。
できたら、プレイしてみましょう。マウスを左右に動かすとアクタが左右に回転し、上下に動かせば上下に回転します。もちろん、上下左右は同時に、マウスを動かした量だけ動きます。この方法なら、アナログ的な感覚でアクタを操作できることがわかるでしょう。
●ノードの作成
「マウスX軸」ノード――マウスの横方向のイベントノードでしたね。
「マウスY軸」ノード――マウスの縦方向のイベントノードでした。
「Make Rot」ノード――回転角度を表すVector(正確にはRotatorインスタンス)を作成します。これは、2つ用意します。
「Add Actor World Rotation」ノード――アクタを回転するノードです。Local Rotationと違い、ワールド座標を元に回転させます。これも2つ用意します。
「Float * Float」ノード――Float値の掛け算ノードです。これも2つ用意します。
アクタのノード――回転するアクタのノードです。ここでは「Cube」を使っています。
●ノードの接続
「マウスX軸」→1つ目の「Add Actor World Rotation」
「マウスX軸」の「Axis Value」→1つ目の「Float * Float」の1つ目の入力
1つ目の「Float * Float」→1つ目の「Make Rot」の「Yaw」
1つ目の「Make Rot」の「Return Value」→1つ目の「Add Actor World Rotation」の「Delta Rotation」
アクタのノード→1つ目の「Add Actor World Rotation」の「ターゲット」
「マウスY軸」→2つ目の「Add Actor World Rotation」
「マウスY軸」の「Axis Value」→2つ目の「Float * Float」の1つ目の入力
2つ目の「Float * Float」→2つ目の「Make Rot」の「Pitch」
2つ目の「Make Rot」の「Return Value」→2つ目の「Add Actor World Rotation」の「Delta Rotation」
アクタのノード→2つ目の「Add Actor World Rotation」の「ターゲット」
●ノードの設定
それぞれの「Float * Float」の2つ目の入力を「-1」に設定する。
それぞれの「Make Rot」の、接続されていない入力項目をすべて「0」に設定する。
ここでは、新たに「Make Rot」というノードが使われていますね。これは、「Rotator」という値を作成するためのノードです。このRotatorは、Vectorの回転量用の値、といったものです。「移動量はMake Vectorで、回転量はMake Rotで」と覚えておくとよいでしょう。
できたら、プレイしてみましょう。マウスを左右に動かすとアクタが左右に回転し、上下に動かせば上下に回転します。もちろん、上下左右は同時に、マウスを動かした量だけ動きます。この方法なら、アナログ的な感覚でアクタを操作できることがわかるでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ
「初心者のためのUnreal Engine ブループリント入門」に戻る