今回の目標
・Boxを名前で検索し、移動
・FindChildByNameノードとSetLocalPositionを使う
FindChildByNameノードとは
3Dモデル(Boxオブジェクト)等の「Slot」を名前で検索できます。
Slotとは、オブジェクト(物)を示すものです。
入力
・検索を開始する階層のSlot
・検索対象のSlotの名前
・True時、Slotの名前の曖昧検索
・検索する階層の深さ
・True時、Slotの名前の大文字小文字を区別しない
出力
・検索結果(Slot)
SetLocalPositionノードとは
Slotの移動をします。
入力
・実行パルス、パルスを送ると動きます
・対象のSlot
・動かす座標
出力
・実行後のパルス
Box作ってを実験の準備します
Devツールチップを装備し、オブジェクトの新規作成をします。
「3Dモデル」を選択
「ボックス」を選択
作ったBoxのコライダーを当てる
コライダーを当てるとは、対象物にレーザーを当て、コントローラのセカンダリーボタンを押します。
コライダーが当たると、ピンクの枠線が表示します。
インスペクターを開き「↑」ボタンをトリガー、「親オブジェクト」を作成
親オブジェクト作成とは、現在選択のオブジェクトの上の階層を作成します。
インスペクターとは、オブジェクトの属性を示す板です。
Boxオブジェクトの属性例
・サイズ
・座標
等の属性を変更できます。
「■」ボタンをトリガー、オブジェクトを複製
1つ目のBoxをBox1に名前を変更
2つ目のBoxをBox2に名前
Logixツールを装備し「Box - Parent」からSlotインターフェースを取得
インスペクターの外でグラブしたまま、セカンダリーボタンを押す。
FindChildByNameノードを貼り付け結線する
「検索対象のSlotの名前」に"Box1"を入力
入力後FindChildByNameの結果がNullからBox1に変化します。
SetLocalPositionノードを貼り付け結線する
Boxを掴んで移動しておく
「Pulse」をトリガー時、Box1が移動する
「検索対象のSlotの名前」を"Box2"、「動かす座標」を"1,1,1"に変更
「動かす座標」はSetLocalPositionノードに繋がっている3つの数字です。
「Pulse」をトリガー時、Box2が移動する
Slotの名前の曖昧検索を実験
・テキストボックスを"Box2"→"ox2"に変更
・「Slotの名前の曖昧検索」をTrueに変更
Box2が検索できる。
検索する階層の深さを実験
Box2に親オブジェクトを作ります。
やり方は、Boxの親オブジェクトの作り方と同じ。
「検索する階層の深さ」が"0"の状態ではBox2が検索できなくなりました。
「検索する階層の深さ」を"1"に変更でBox2が検索できます。
この数字を大きくすると、下の階層まで検索できます。