Relation/ValueMultiDriver<T>で解決
好きな値をどこか別の場所にコピーしたい時は、Transform/Drivers/ValueCopy<T>を使いますが、いろんなところにコピーして使いたい時はValueMultiDriverというコンポーネントがおすすめです。
・「コンポーネントをアタッチ」を押し、Relationsを開いたところにあります。
|
Value(Reference)MultiDriverは、Transform/Drivers内ではなく、Relations内にある。 |
|
クリックすると、ズラっといっぱい出てくる。例えば、文字だったら「String」、ブレンドシェイプであれば「float」、座標やスケールであれば「float3」を選ぼう。 |
つかいかた
|
コンポーネントを置いた直後の様子 |
コンポーネントはこんなかんじです。『Add』ボタンを押すと「コピーして上書きしたいとこリスト」が増えます
要素名 |
説明 |
型 |
persistent |
基本的にTrue(☑)のままでいい。詳細は折り畳み。インベントリ等に保存、あるいはワールドをしたときにこのコンポーネントを残すかどうか。True(☑)だとそのまま残り、False(☐)にすると保存時に消えてくれる。 |
bool |
UpdateOrder |
基本的に0のままでいい。詳細は折り畳み。NeosVRが1フレームごとに行う処理の中の順番を指定できる。数字が小さければ先に、数字が大きければ後になる。 |
int |
Enabled |
コンポーネントが動作するかを設定できる。False(☐)にすると動作しなくなる……はずだが、なぜかこのコンポーネントに関しては、どうあがいても動く。 |
bool |
Value |
コピーして描き込みたい数値を入れる。ValueCopyコンポーネントは「『ここの中身』を『ここの中身』にコピーしてね」みたいに使うが、ValueMultiDriverは「『この数字』を『ここの中身』にコピーしてね」みたいに使う。数字を直接描き込まないといけない。 |
ユーザーが指定した型 この記事ではfloat |
Drives(list) |
コピー先(後述)を入れる。 |
IValueField |
- コピー先の入れ方
- コピー先の数字を入力するところの左にある文字にレーザーを当ててグラブして「掴む」(↓例の場合Valueをつかんでいる)
- 掴んだままDrives(list)のnullとなっている場所にレーザーを当てて離す
|
コピー先の数字を入力するところの左にある文字にレーザーを当ててグラブして「掴む」 |
|
掴んだままDrives(list)のnullとなっている場所にレーザーを当てて離す。 |
|
コピーされるとピンクになる。この状態のことを「Drive(ドライブ)されている」と言う |
実践的な使いかた
コンポーネント単体を説明されても「これは何に使えるの」ってなりますが、いくつか楽しい使いかたができます。
- コントローラーの入力をLogiXでドライブさせ、ValueMultiDriverでシェイプキーに書き込む。
- トリガーを押し込むと、目を閉じて、口角を上げる、等ができる。
- 設定したマテリアルの色(明るさ)を複数のマテリアルに書き込む。
- コンテクストメニューのボタンを押すと、服に紋様(Emission)が浮かぶようになる。
これらは一例です。ぜひ皆さんで楽しく使ってください。
|
トリガーの押し込み具合をValueMultiDriver<float>に書き込むLogiX。NeosVRで表情を自力で設定する場合はこのようにLogiXを組むことが多い。 |