ダイナミックバリアブルの命名基準の提案
2020年11月19日に3x1t_5tyl3によってされた提案。
NeosVRグローバルワールドカラースタンダードのテクニカルスペックシート
人々が別のスペースを直接ルートに置くことはおそらく悪い考えであることに気づきました。 そのため、ユーザーの下に新しいフィールドを配置すると、柔軟性が高まります。 例では、私が適切だと思う傾向がある名前として「データ」に言及しています。
- プレイヤーA = "P-A"
- プレイヤーB = "P-B"
例:
プレーヤーAはバーにいます。 そのため、階層は次のようになります。
└── Root └── Users ├── Lounge │ └── P-A ├── Bar │ └── P-B ├── Dance-Hall └── Outside
この場合、「P-A」は「Lounge」からデータを取得します。
「P-A」が「Bar」の下に移動する場合、「Bar」のデータを継承します。 そのため、「Bar」が実装する色を継承します。
└── Root └── Users ├── Lounge ├── Bar │ ├── P-A │ └── P-B ├── Dance-Hall └── Outside
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
フォールバックシステム(アバター内!) セカンダリが存在しない場合
- プライマリへのフォールバック
- プライマリも存在しない場合は、アバター自身の色にフォールバックします。
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
定義された色: 色は、色を容易にするものでなければなりません。
インテンシティーの定義。 インテンシティーは、その色がどれだけ*明るい*かを容易にするものでなければなりません。
- そのため、floatの値は3を超えてはならず、0を下回ってはなりません。
これにより、明るさに過敏な方でも安心してご利用いただけるようになりました。また、明るさに敏感な人でも世界に参加できるように、値をローカルに0に設定することができます。
この点を考慮して、私はネーミングの提案をします。 DynamicVariableSpace: Data
- ダイレクトバインディングを有効にする。
- これは、あなたがそれに名前を付けるべきすべてです。ユーザーの各Slotに対して。間にdynamic spaceはありません。
変数は、以下のようなパターンで構成されています。 冒頭では、使用例を示しています。 -この場合、"World "は色が世界から来ていることを表しています。 中間部はタイプを示しています。 -色はColor、強度は色に乗じるfloat値です。 数字(1と2のみ)は異なる色を表します。 - 例としては、プライマリカラーとセカンダリカラーです。個人的には3番目の番号をつける理由はないと思います。 -- 例1:世界のメインカラーは赤、セカンダリは黒。そのため、アバターはそのように自分自身を含むことができます。 -- 例2:世界のメインカラーは深緑で、セカンダリは白。入力ノードを1つ増やすだけで、さらにカスタマイズが可能になります。 フォールバックについては「フォールバック・システム」を参照してください。
セカンダリは存在するがプライマリは存在しない場合: -> アバターの色にフォールバックする。(ワールドカラーは無視) セカンダリが単独で存在することはありません。 1色しか指定されていない場合はprimaryを使います。secondaryではありません。
私の提案するネーミングです:
- Data/WorldColor1
- Data/WorldColor2
- Data/WorldIntensity1
- Data/WorldIntensity2
移植の場合は以下のようになります:
ワールドカラー1 x ワールドインテンシティー1 -> アバターに適用して効果を得る。
R: 1, G: 0, B: 0.2 x 1.5 --> R: 1.5, G: 0, B: 0.3
使用例:
└── Root └── Users ├── Lounge (赤に設定, インテンシティーは中程度) ├── Bar (青でインテンシティーを高く設定) │ ├── P-A │ └── P-B ├── Dance-Hall (音楽に合わせって色とインテンシティーを変える) └── Outside (インテンシティーの低いクリーム色に設定)
つまり、この作業のためには、上述の方法でプレーヤーをペアリングする必要があります。
2022年1月7日、Gabriel192による提案。
システムの拡張は、次のように行うことができます。
- Data/WorldColorDrive1
- Data/WorldColorDrive2
これらの変数は、Data/WorldIntensity1 と Data/WorldColor1 / Data/WorldColor2 を使用して、ワールド自体からドライブされます。
この利点は、1つのコンポーネントを使うだけで、アバターやアイテムにオーディオリアクティビティを簡単に追加できることです。
次に、Data/WorldIntensity1に接続された音量計の設定を変更することが多いので、どのワールドに入ってもオーディオ反応するアバター/アイテムがきちんと動作するようにします。
これにより、光感受性を補助するための過度な発光効果を大幅に低減し、さらにもオーディオ反応LogiXの冗長なインスタンスを削除することができます。
2022年7月30日、CoffeeKeiによる提案。
オーディオFFT(高速フーリエ変換)実装のためのデータワールド空間の拡張。
各FFTbinは、以下のように独自のfloat変数を割り当てられます:
- Data/AudioFFT1
- Data/AudioFFT2
- Data/AudioFFT3 ...以下同様
スケーリングによって各binが相殺されるため、フロート変数のbinは16個に留めることを推奨します。また、16個以上必要な場合は、独自のシステムを必要とするエッジケースとなります。
3x1t_5tyl3 と Gabriel192 が提案した命名規則を使用して、より広く使用され、パフォーマンスの高いシステムをサポートするために、FFTストリームが存在しない場合、FFT オーディオリアクティブアイテムおよびアバターは Data/WorldIntensity1 をデフォルトとする必要があります。
2022年7月30日、CoffeeKeiによる提案。
曲のメタデータを表示するData world空間を拡張し、タイトル、アーティスト、アルバムジャケットを表示します。
解析されたメタデータは、3x1t_5tyl3やGabriel192と同様の命名規則に従って、独自の変数に割り当てられる:
- Data/AudioMetadata1
- Data/AudioMetadata2 ...のように
これにより、メタデータを持つ複数のオーディオストリームが世界に存在し、表示されるようになります。このメタデータを表示するアイテムやアバターシステムは、3x1t_5tyl3が当初提案したように、ペアレンティングシステムと相互作用する必要があります。
メタデータが存在しない場合、この変数は "null "を返します。この値を用いて、受信側のディスプレイにメッセージや画像を表示してデータがないことを知らせたり、ディスプレイを完全に無効にしたりすることができます。
変数がデータの受信を開始すると、値は「null」でなくなり、正常に表示されるようになります。