Release 3.10.2
概要
SDKバージョン 3.10.2 では、多数の修正とUXの改善に加え、いくつかの新しいUdon APIが追加されています。
機能
- Udonの delayed custom events で利用可能なタイミングオプションとして、
EventTiming.PostLateUpdateとEventTiming.FixedUpdateを追加しました。 - SDK内でクライアントログファイルを読み込み、フィルタリングするオプションを追加しました。
- このユーティリティは
VRChat SDK/Udon Sharp/Parse Logs from Fileから利用できます。 - こちらのCanny を投稿された "BobyStar" 氏に感謝します。
- このユーティリティは
- Avatar Expressions Menu エディターのUX向上:
- コントロールは無効化される際に必ず関連付けられたパラメーターを0に設定するため、有効化時の値も0に設定しようとするとSDKが警告を出すようになりました。これは、パラメーター値が0から変化しなくなってしまう可能性が高く、意図した動作ではないと考えられるためです。
- Boolean型のパラメーターを対象とする場合、
Value属性は非表示となり、常に有効として扱われるようになりました。Boolean型で機能するのはこの設定のみ(有効時にtrue、無効時にfalse)であるためです。
VRCPlayerApi.GetPlayers()に、現在ワールドにいるプレイヤーの配列を返すパラメーターなしのバージョンを追加しました。- プレイヤーの配列を受け取って格納する既存のバージョンも引き続き利用可能です。メモリアロケーションの観点から、非常に頻繁に(毎フレームなど)現在のプレイヤーリストを取得する必要がある場合は、引き続きそちらを使用することをお勧めします。
ContactExitInfoにmatchingTagsを追加しました。これにより、VRChat Contact SenderとReceiverの接触が終了する際、両者がどのようなタグを共有していたかを確認できるようになりました。- これまでは、接触が開始した時点でのみ確認可能でした。
- 詳細は Udon APIドキュメント を参照してください。
- Avatar Parameter Drivers が、ランダムな値を選択する際の重複防止をサポートしました。これにより、パラメーターが連続して同じ値に設定されることはなくなります。
- プロパティ
enabledおよびisActiveAndEnabledが、UdonGraphおよびUdonSharpで使用できるよう許可リストに追加されました。これはUnityEngine.Behaviourから派生するすべてのものに適用され、ほとんどのカスタムコンポーネントおよび組み込みコンポーネントが含まれます。- 既知の制限:
Behaviourとしてシリアライズされたフィールド上でenabledやisActiveAndEnabledにアクセスする場合、対象のコンポーネントがUdonSharpBehaviourから派生していると動作しません。代わりに、独自のカスタムU#型を使用してフィールドを宣言してください。
- 既知の制限:
修正と変更
- 「Authentication」タブにて、ユーザー名とパスワードを入力後に「Enter」または「Return」キーを押すことでログインできるようになりました。
- また、2FAコードの確認中に誤って「Logout」を押してしまう可能性を減らすため、レイアウトを微調整しました。
- VRCJSON を使用して data list または data dictionary を
MinifyエクスポートタイプでJSONにシリアライズする際、含まれていた不要なスペースを削除しました。 VRCJson.TryDeserializeFromJson()は、入力がデシリアライズできない場合に例外をスローするのではなく、常にfalseを返すようになりました。- DataDictionary において、キーが
Vector3Intのようなデータ構造である場合に、値の取得に失敗することがある問題を修正しました。 - VRCMirrorReflection コンポーネントが、元のマテリアルを直接変更するのではなく、編集不可なマテリアルをインスタンス化するようにしました。これにより、Unityプリミティブに追加した際にUnityに組み込まれているデフォルトのマテリアルを変更してしまうことがなくなります。
- VRChat Contact Sender または Receiver の proxy_ オブジェクトを
Utilities.IsValid()に渡した際、その proxy_ が有効かどうかを基にした正確な結果が得られるようになりました。 - VRChat Constraints が、プレハブのオーバーライドとして表示された際にインスペクターで正しく表示されないことがある問題を修正しました。
- ワールド内のパーティクルシステムにおいて「Auto Roll」オプションを無効にするよう推奨するバリデーションヒントを追加しました。これはVRユーザーの没入感を損なう可能性があるためです。
- VRCPickup のインスペクターフィールド「Use Text」が一貫して表示されない問題を修正しました。
- 特定のコミュニティパッケージを使用した後に、マテリアル上で
VRCFallbackタグが誤って設定され、その結果VRChat内でマテリアルが正しく表示されなくなる可能性がある問題を修正しました。 - SDKが、ワールドプロジェクトのLibraryフォルダを削除した際にデフォルトのワールドシーンやUdonSharpユーティリティスクリプトへの変更を元に戻すことがなくなりました。
- さらに、新しいワールドプロジェクトに付属するUdonSharpユーティリティスクリプトは、隣接するデータロケーターを削除しない限り、それらを削除しても再作成されることはありません。
- SDKのサンプルに含まれるデフォルトの式パラメータセットから、空のエントリをいくつか削除しました。
- アセットにプラットフォーム固有のオーバーライドがある場合、アバターおよびワールドプロジェクトにて、誤ったプラットフォームに対してバリデーションメッセージが生成される問題を修正しました。
- PhysBoneコライダー上でボーンが静止しているとジッター(揺れ)が発生するPhysBonesの回帰バグを修正しました。
- PhysBoneのルートを複数編集できるようになりました。
3.10.2-beta.1 からライブ環境への修正および変更点
- 時間に関する情報を含む4つの新しい shader globals を追加しました。
- Toon Standard シェーダーとその Outline バリアントで
"RenderType" = "Opaque"が設定されるようになりました。 - 1つ以上の VRChat Constraints の親である PhysBone を破棄した際に発生していた内部例外を修正しました。
既知の問題
- まれに、ビルド中に「All pipe instances are busy」というエラーが表示されることがあります。これはUnity側の問題です。エディタを再起動して再度試すと解決します。
最終更新: