前回の続きです。
ボタンインタラクションのイーナム、リファレンス、バリューをシフトしたりセットしたりサイクルしたりするコンポーネント6つと、ボタンダイナミックインパルストリガー等の3つ、合計9つのコンポーネントをご紹介いたします。
ボタンインタラクションを使いこなして、スマートでエレガントなギミックをクリエイションしましょう。
前回はコチラ
- ButtonEnumShift(ボタン イーナム シフト)
- ButtonReferenceCycle(ボタン リファレンス サイクル)
- ButtonReferenceSet(ボタン リファレンス セット)
- ButtonValueCycle(ボタン バリュー サイクル)
- ButtonValueSet(ボタン バリュー セット)
- ButtonValueShift(ボタン バリュー シフト)
- ButtonDynamicImpulseTrigger(ボタン ダイナミック インパルス トリガー)
- ButtonDynamicImpulseTriggerWithReference(ボタン ダイナミック インパルス トリガー ウィズ リファレンス)
- ButtonDynamicImpulseTriggerWithValue(ボタン ダイナミック インパルス トリガー ウィズ バリュー)
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には役立つコンポーネントが他にも沢山ありますので、ぜひ覗いてみてください。
次回はグラグラ揺らしたり、行ったり来たりするコンポーネントを紹介予定です。
お楽しみに!