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