ボタンインタラクションコンポーネントは、前回紹介したタッチボタン等と組み合わせることにより、音を鳴らしたり、文字列を編集したり、値を書き替えたりする事ができます。
UIの作成に役立つコンポーネント群ですが、ボタンを押したら音が鳴るギミック等も簡単に作る事ができる便利なコンポーネントです。
今回は音の再生や文字列の編集等のボタンインタラクションを7つご紹介いたします。
前回はコチラ
ButtonAudioClipPlayer(ボタン オーディオ クリップ プレイヤー)
音を一回だけ鳴らすコンポーネント。
・場所
Common UI/Button Interactions/
項目 | 解説 | 初期値 |
ParentUnder: | OneShotAudioスロットの生成場所。 | null |
MinDistance: | 音の減衰開始距離[m]。(ただし、RolloffModeがLinearの場合のみ。) | 無効 |
MaxDistance: | 音が聞こえなくなる距離[m]。(同上) | 無効 |
RolloffMode: | 音の減衰方式。(Logarithmic) | 無効 |
PressedClips(list): | ボタンを押した時に再生する音源。 | 無し |
ReleasedClips(list): | ボタンを離した時に再生する音源。 | 無し |
HoverEnterClips(list): | レーザーを当てた時に再生する音源。(ただしUIXのみ。) | 無し |
HoverLeaveClips(list): | レーザーが離れた時に再生する音源。(同上) | 無し |
list内の項目 | 解説 | 初期値 |
Clip: | 音源を指定する。 | null |
Weight: | list内の優先度合。(値が大きい方が再生されやすい。) | 1 |
MinVolume: | 最小再生音量。(標準は1。設定した範囲内でランダムに再生開始される。) | 1 |
MaxVolume: | 最大再生音量。(同上) | 1 |
MinSpeed: | 最小再生速度。(同上) | 1 |
MaxSpeed: | 最大再生速度。(同上) | 1 |
Spatialize: | 再生音の空間化。(その場所から音が聞こえるようになる。) | 有効 |
SpatialBlend: | 空間化1と非空間化0の中間が設定できる。(上記設定に上書きされる。) | 1 |
MinDistance: | 音の減衰開始距離[m]。(ただし、RolloffModeがLinearの場合のみ。) | 無効 |
MaxDistance: | 音が聞こえなくなる距離[m]。(同上) | 無効 |
RolloffMode: | 音の減衰方式。(Logarithmic) | 無効 |
・使い方
ボタンのあるスロットにアタッチ。
Clipを指定する。
・補足
使い捨てのOneShotAudioスロットが自動的に生成されて、音が再生される。
連打するといっぱいでちゃうので、場合によってはボタンプレイバックアクションを使った方が良いかも。
(ワールド内で使えるオーディオアウトプットには上限が有ります。限りある資源を大切に使いましょう。)
減衰設定はlist内の個別の設定が優先されるっぽい。
再生音量や速度をランダムにしたり、再生する音源をランダムにすることが可能です。
LogiXのPlay One Shotが似てる。
・関連
Audioフォルダー(LogiX)
ButtonPlaybackAction(ボタン プレイバック アクション)
音楽や動画等のプレイヤーを再生、停止できるコンポーネント。
・場所
Common UI/Button Interactions/
項目 | 解説 | 初期値 |
Playback: | オーディオクリッププレイヤー等を指定。 | null |
OnHover: | レーザーを当てた時に実行する。(ただしUIXのみ。) | None |
OnLeave: | レーザーが離れた時に実行する。(同上) | None |
OnPress: | ボタンが押された時に実行する。 | ToggleResumePause |
OnRelease: | ボタンが離された時に実行する。 | None |
実行方法 | 解説 |
None | なし。 |
Play | 始めから再生する。 |
Resume | 再生する。 |
Pause | 一時停止。 |
Stop | 停止。 |
ToggleResumePause | ボタンを押すたびに、再生と一時停止を交互に行う。 |
TogglePlayStop | ボタンを押すたびに、初めから再生と停止を交互に行う。 |
・使い方
ボタンがあるスロットにアタッチ。
Playbackにオーディオクリッププレイヤー等を指定する。
・補足
音や動画だけではなくて、アニメーションにも使える。
ボタンオーディオクリッププレイヤーは単発だけど、こっちはPlaybackを制御している。
Playback側の設定をループ再生にすれば、換気扇等の連続した効果音の制御もできる。
Mediaフォルダーの中にも、再生停止に関するコンポーネントがあります。
・Neos Wiki リンク
https://wiki.neosvr.com/ButtonPlaybackAction_(Component)
・関連
Media/Utilityフォルダー
ButtonPlaybackSeeker(ボタン プレイバック シーカー)
ボタンの押している場所によって、シークバーを連動させるコンポーネント。
・場所
Common UI/Button Interactions/
項目 | 解説 | 初期値 |
Playback: | オーディオクリッププレイヤー等を指定。 | null |
Vertical: | 垂直方向でシークする。 | 無効 |
Continous: | 連続でシークする。 | 有効 |
・使い方
ボタンがあるスロットにアタッチ。
Playbackにオーディオクリッププレイヤー等を指定する。
・補足
シークバーが作れるし、DJのスクラッチみたいなギミックも作れる。
アニメーションと組み合わせても面白そう。
原点位置からの距離で判定してるっぽいので、コライダーをオフセットするなどして調整が必要。
・Neos Wiki リンク
https://wiki.neosvr.com/ButtonPlaybackSeeker_(Component)
ButtonPressEventRelay(ボタン プレス イベント リレー)
他のスロットのボタンインタラクションに中継できるコンポーネント。
・場所
Common UI/Button Interactions/
項目 | 解説 | 初期値 |
Target: | リレー先のスロットを指定。 | null |
・使い方
ボタンがあるスロットにアタッチ。
Targetのスロットを指定する。
・補足
複数のボタンで一個のボタンプレイバックアクション等を動かしたい時に使える便利なコンポーネント。
・Neos Wiki リンク
https://wiki.neosvr.com/ButtonPressEventRelay_(Component)
ButtonStringAppend(ボタン ストリング アペンド)
ボタンが押されるたびに、文字列に文字を追加するコンポーネント。
・場所
Common UI/Button Interactions/
項目 | 解説 | 初期値 |
TargetString: | 追加先の文字列を指定。 | null |
AppendString: | 追加する文字。 | null |
AppendInFront: | 文字列の先頭に追加する。 | 無効 |
・使い方
ボタンがあるスロットにアタッチ。
TargetStringを指定して、AppendStringを入力。
・補足
キーボードとかテンキー作る時に便利なコンポーネント。
(NeosFesta4の船に設置してあるメダルマシンのキーボードにこのコンポーネント使ったよ!)
Common UI/Editorsの中にテキスト入力に関するコンポーネントがあります。
・Neos Wiki リンク
https://wiki.neosvr.com/ButtonStringAppend_(Component)
・関連
Common UI/Editorsフォルダー
ButtonStringErase(ボタン ストリング イレイス)
ボタンが押されるたびに、文字列から文字を削除するコンポーネント。
・場所
Common UI/Button Interactions/
項目 | 解説 | 初期値 |
TargetString: | 削除したい文字列を指定。 | null |
Count: | 削除する文字の数。 | 1文字 |
EraseFromBeginning: | 文字列の先頭から削除する。 | 無効 |
・使い方
ボタンがあるスロットにアタッチ。
TargetStringを指定する。
・補足
バックスペースキーみたいなコンポーネント。
・Neos Wiki リンク
https://wiki.neosvr.com/ButtonStringErase_(Component)
ButtonToggle(ボタン トグル)
ボタンが押されるたびに、Bool値を交互に切り替えるコンポーネント。
・場所
Common UI/Button Interactions/
項目 | 解説 | 初期値 |
TargetValue: | トグル動作させたいBool欄を指定。 | null |
・使い方
ボタンがあるスロットにアタッチ。
TargetValueを指定する。
・補足
タッチトグル(第五回参照)を使わなくてもトグルにできちゃう。
これもライト処理なので、一つのBool欄を複数のコンポーネントから書き替えられる。
階段の照明スイッチ(三路SW)みたいな、どちらのスイッチで操作してもON/OFFできるギミックが作れます。
・Neos Wiki リンク
https://wiki.neosvr.com/ButtonToggle_(Component)
おわり
以上で第六回は終了です。拙文ではございますが、最後までご覧頂きありがとうございました。
次回後編では各種ボタンインタラクション(イーナムやリファレンス等の書き替え)コンポーネントを紹介予定です。
お楽しみに!