第七回 コンポーネント紹介【ボタンインタラクション後編】

第七回 コンポーネント紹介【ボタンインタラクション後編】 TIPS

【注意】
この記事は、Resoniteの前身ともいえるVRSNSであるNeosVRに関する内容を転載しております。多くの共通点があるため参考資料として掲載しておりますが、内容が古いためそのままでは動かない場合、もしくは不具合が起きる場合もございます。
予めご了承ください。

前回の続きです。
ボタンインタラクションのイーナム、リファレンス、バリューをシフトしたりセットしたりサイクルしたりするコンポーネント6つと、ボタンダイナミックインパルストリガー等の3つ、合計9つのコンポーネントをご紹介いたします。

ボタンインタラクションを使いこなして、スマートでエレガントなギミックをクリエイションしましょう。

前回はコチラ

ButtonEnumShift(ボタン イーナム シフト)

イーナム(列挙型)を遷移できるコンポーネント。
例えばタッチボタンコンポーネントのVibration設定とかです。
ボタンを押すたびに、順番に変える事ができます。
様々な型があるので、使いたい型を入力して選択します。試しに「VibratePreset」と入力してみてください。

・場所
Common UI/Button Interactions/

項目解説初期値
TargetValue:変更したいイーナム欄を指定する。null
ShiftDelta:どれだけ遷移するか。1

・使い方
ボタンのあるスロットにアタッチ。
TargetValueを指定する。

・補足
ShiftDeltaをマイナスにすると逆方向に遷移します。0だと動かない。
型を検索するときは、大文字小文字も気を付けること。
型は下記リンクの、それぞれのType欄をご覧ください。(LogiXツールでも型名が調べられます。)

・Neos Wiki リンク
https://wiki.neosvr.com/ButtonEnumShift_(Component)

ButtonReferenceCycle(ボタン リファレンス サイクル)

ボタンを押すたびに、参照先をリスト内から順繰りに書き込むコンポーネント。
例えばボタンプレイバックコンポーネントのPlayback欄とかです。
様々な型があるので、使いたい型を入力して選択します。試しに「IPlayable」と入力してみてください。

・場所
Common UI/Button Interactions/

項目解説初期値
TargetReference:書き込みたい参照欄を指定。null
Targets(list):参照先のリスト。無し

・使い方
ボタンがあるスロットにアタッチ。
TargetReferenceを指定して、Targets(list)を設定。

・補足
リストの最後まで行くと、最初に戻る。(ただし同じのがあるとダメっぽい。)
ボタンを押すたびに参照先を書き替えられる。
型は下記リンクの、それぞれのType欄をご覧ください。

・Neos Wiki リンク
https://wiki.neosvr.com/ButtonReferenceCycle_(Component)

ButtonReferenceSet(ボタン リファレンス セット)

ボタンを押すと、参照先を書き込むコンポーネント。
様々な型があるので、使いたい型を入力して選択します。

・場所
Common UI/Button Interactions/

項目解説初期値
TargetReference:書き込みたい参照欄を指定。null
SetReference:書き込みたい参照先。null

・使い方
ボタンがあるスロットにアタッチ。
TargetReferenceを指定して、SetReferenceを設定。

・Neos Wiki リンク
https://wiki.neosvr.com/ButtonReferenceSet_(Component)

ButtonValueCycle(ボタン バリュー サイクル)

ボタンが押されるたびに、値を順繰りに書き込むコンポーネント。
様々な型(数値、文字、色等)があるので、使いたい型を選ぶ。

・場所
Common UI/Button Interactions/

項目解説初期値
TargetValue:書き替え先の値欄を指定。null
Values(list):書き込む値のリスト。無し

・使い方
ボタンがあるスロットにアタッチ。
TargetValueを指定して、Values(list)を設定。

・補足
リストの最後まで行くと、最初に戻る。(ただし同じのがあるとダメっぽい。)
ドライブ処理ではなくてライト処理なので、一つの値欄を複数のボタンバリュー系コンポーネントで書き替えられる。(以下同様。)
例えば、color型でマテリアルのColorを指定して、リストに赤色・黄色・青色を設定すれば、ボタンを押すたびに順番に色が変わるギミックが作れます。

ButtonValueSet(ボタン バリュー セット)

ボタンを押すと、値を書き込むコンポーネント。
様々な型(数値、文字、色等)があるので、使いたい型を選ぶ。

・場所
Common UI/Button Interactions/

項目解説初期値
TargetValue:書き替え先の値欄を指定。null
SetValue:書き込む値。型によって違う

・使い方
ボタンがあるスロットにアタッチ。
TargetValueを指定して、SetValueを設定。

・補足
ボタンバリューサイクルの単発版。
例えば、float3型でスロットのscaleを指定して、SetValueにx1・y1・z1を設定すれば、ボタンを押すと大きさがリセットされるギミックが作れます。

ButtonValueShift(ボタン バリュー シフト)

ボタンが押されるたびに、値を順繰りに書き込むコンポーネント。
様々な型(数値)があるので、使いたい型を選ぶ。

・場所
Common UI/Button Interactions/

項目解説初期値
TargetValue:書き替え先の値欄を指定。null
Delta:シフトさせる量。0
Min:最小値。選択している型の最小値
Max:最大値。選択している型の最大値
WrapAround:値がMinかMaxに達したら一周する。無効

・使い方
ボタンがあるスロットにアタッチ。
TargetValueを指定して、Deltaを設定。

・補足
boolやstring型等は使えない。使えるのは数値系の型だけ。
ボタンバリューサイクルと似てるけど、こっちは数値の範囲とシフト量で設定する。
例えば、floatQ型でスロットのRotationを指定して、Deltaのy軸に39、他の項目には全て0を入力、WrapAroundにチェックマークを付ければ、ボタンを押すたびにクルクル回るギミックが作れます。

・Neos Wiki リンク
https://wiki.neosvr.com/ButtonValueShift_(Component)

ButtonDynamicImpulseTrigger(ボタン ダイナミック インパルス トリガー)

ボタンが押されると、ダイナミックインパルストリガーを出してくれるコンポーネント。

・場所
Common UI/Button Interactions/

項目解説初期値
Target:検索(インパルスを飛ばす)先の階層(スロット)を指定する。null(ワールドRoot)
PressedTag:ボタンを押した時のタグ。null
PressingTag:ボタンを押している間のタグ。(レーザーでは動かない。)null
ReleasedTag:ボタンを離した時のタグ。null
HoverEnterTag:レーザーを当てた時のタグ。(ただしUIXのみ。)null
HoverStayTag:レーザーを当てている間のタグ。(同上)null
HoverLeaveTag:レーザーが離れた時のタグ。(同上)null

・使い方
ボタンがあるスロットにアタッチ。
Targetを指定して、Tagを設定。

・補足
とりあえずダイナミックに下記リンクをご参照下さい。
Targetは、なるべくReceiver(受信)側の近くのスロットを指定すると効率的です。階層が離れたスロットやRootスロットを指定すると非効率になっちゃいます。
これらのTagはスロットのTag欄とは別物です。
Tagは英数字だけではなく、日本語や記号も使えます。簡潔で分かりやすいTagを付けておけば、LogiXでの作業が捗ります。
Hoverはレーザーだけではなく、フィジカルタッチ(指で押す)でも反応しちゃいます。
LogiXのDynamic Impulse Receiverでインパルスが取り出せます。

・Neos Wiki リンク ダイナミックインパルスについて
https://wiki.neosvr.com/Dynamic_Impulses/ja

・関連
Dynamic Impulse Trigger (LogiX)
Dynamic Impulse Receiver (LogiX)

ButtonDynamicImpulseTriggerWithReference(ボタン ダイナミック インパルス トリガー ウィズ リファレンス)

ボタンが押されると、ダイナミックインパルストリガーを出してくれるコンポーネント。
一緒にリファレンスも送ってくれる。
様々な型があるので、使いたい型を入力して選択します。試しに「Slot」と入力してみてください。

・場所
Common UI/Button Interactions/

項目解説初期値
Target:検索(インパルスを飛ばす)先の階層(スロット)を指定する。null(ワールドRoot)
PressedData:ボタンを押した時のタグと参照。null
PressingData:ボタンを押している間のタグと参照。(レーザーでは動かない。)null
ReleasedData:ボタンを離した時のタグと参照。null
HoverEnterData:レーザーを当てた時のタグと参照。(ただしUIXのみ。)null
HoverStayData:レーザーを当てている間のタグと参照。(同上)null
HoverLeaveData:レーザーが離れた時のタグと参照。(同上)null

・使い方
ボタンがあるスロットにアタッチ。
Targetを指定して、TagとReferenceを設定。

・補足
コンポーネントの名前だけだと、これが最長っぽい。
インパルスと一緒に参照も送ってくれる。
他はだいたいボタンダイナミックインパルストリガーと同じ。
LogiXのDynamic Impulse Receiver With Value`1でインパルスが取り出せます。インパルスの出ている間の一瞬だけ参照も出る。

・関連
Dynamic Impulse Trigger With Value`1 (LogiX)
Dynamic Impulse Receiver With Value`1 (LogiX)

ButtonDynamicImpulseTriggerWithValue(ボタン ダイナミック インパルス トリガー ウィズ バリュー)

ボタンが押されると、ダイナミックインパルストリガーを出してくれるコンポーネント。
一緒にバリューも送ってくれる。
様々な型(数値、文字、色等)があるので、使いたい型を入力して選択します。試しに「float2」と入力してみてください。

・場所
Common UI/Button Interactions/

項目解説初期値
Target:検索(インパルスを飛ばす)先の階層(スロット)を指定する。null(ワールドRoot)
PressedData:ボタンを押した時のタグと値。null
PressingData:ボタンを押している間のタグと値。(レーザーでは動かない。)null
ReleasedData:ボタンを離した時のタグと値。null
HoverEnterData:レーザーを当てた時のタグと値。(ただしUIXのみ。)null
HoverStayData:レーザーを当てている間のタグと値。(同上)null
HoverLeaveData:レーザーが離れた時のタグと値。(同上)null

・使い方
ボタンがあるスロットにアタッチ。
Targetを指定して、TagとValueを設定。

・補足
ボタンダイナミックインパルストリガーウィズリファレンスのバリュー版。

・関連
Dynamic Impulse Trigger With Value`1 (LogiX)
Dynamic Impulse Receiver With Value`1 (LogiX)

おわり

以上で第七回は終了です。拙文ではございますが、最後までご覧頂きありがとうございました。
紹介予定はありませんが、Common UIには役立つコンポーネントが他にも沢山ありますので、ぜひ覗いてみてください。
次回はグラグラ揺らしたり、行ったり来たりするコンポーネントを紹介予定です。
お楽しみに!

第八回 コンポーネント紹介【直線的に動かす】

タイトルとURLをコピーしました