Release 3.9.0
概要
SDKバージョン 3.9.0 では、カメラドリー用のUdon API、ピックアップ用の新しい Auto Hold モード、Network ID Utilityの改善、新しい VRCCameraSettings APIが導入され、Avatar IDの割り当て方法に変更が加えられました。
新機能
- ワールドで Camera Dolly パスを定義し、Udon を介して有効化できるようになりました!
- 新しい
VRCCameraDollyAnimation、VRCCameraDollyPath、およびVRCCameraDollyPointコンポーネントをVRCCameraDollyAnimation.Import()Udon 関数と組み合わせて使用する方法については、dolly ドキュメント を参照してください。
- 新しい
- VRCPickup オブジェクトの「AutoHold」が、すべての入力デバイスでサポートされました!
- ワールド内の 任意の Pickup をアップグレード して新しい AutoHold システムを利用することで、操作性が向上します(3択のドロップダウンではなく、シンプルなオン/オフのチェックボックスになります)。アップグレード後はワールドを再アップロードしてください。
- Pickup をアップグレードしなくても、既存のワールドには影響ありません。
- VRCCameraSettings および VRCQualitySettings API への追加要素:
VRCCameraSettingsを介してCullingMaskプロパティを公開し、実行時にアクティブなレンダリングレイヤーを変更できるようにしました。一部の内部レイヤーは除外されます。- Unity の
Camera.currentのプロキシとしてVRCCameraSettings.GetCurrentCamera関数を追加しました。 VRCQualitySettings.ShadowCascade2SplitおよびShadowCascade4Splitプロパティを追加しました。これらは書き込み可能です。VRCCameraSettings.PhotoCameraにおいてdepthTextureModeを設定できるようにしました。なお、PhotoCamera の基本的な Depth モードを無効にすることはできませんが、他のフラグを追加することは可能です。
修正および変更点
- ワールドやアバターをビルドおよびテストするための信頼ランク(Trust Rank)の要件を削除しました。
- これにより、VisitorアカウントでもSDKを使用して、自身のアバターやワールドをローカルでビルドおよびテストできるようになりました。
- ただし、コンテンツをアップロードするには、引き続き信頼ランクを上げる必要があります。
- Network ID Utilityの修正および改善:
- 多数のネットワークオブジェクトを含む非常に大きなプロジェクトにおいて、UIの応答性を改善しました。
- 例外が発生してIDのインポートに失敗する場合がある問題を修正しました。
- エクスポート時にGameObjectの名前にスラッシュ(
/)が含まれていると、再インポート時に問題が発生する可能性があるため、ツールが警告を出すようにしました。 - PhysBones の
_Angleパラメータが、PhysBoneチェーンの開始時のスケールがゼロである場合に機能しない問題を修正しました。 - PhysBone インスペクターパネルのパフォーマンスを微調整しました。
VRCShader.SetGlobalIntegerが、ビットパターンを保持する適切な整数型のバックエンドUnityEngine.Shader関数を使用するようにしました。- 無効なスクリプトが割り当てられた
UdonBehaviourコンポーネントの処理を改善しました。 - UdonSharp スクリプトは、プラットフォームを切り替えた際に再コンパイルされるようになりました。
- SDKがワールドIDではなくアバターIDを割り当てようとしたために、ワールドのアップロードが失敗することがある問題を修正しました。
Gestureレイヤー内のTransformアニメーションが、カスタムFXレイヤーが提供されていない場合に正常に動作しなくなる問題を修正しました。vrc_AvatarV3FaceLayerサンプルコントローラーが、Animatorのベストプラクティスに従うようになりました。
アバターIDの割り当てについて
今回のSDKアップデートにより、バックエンドにおけるコンテンツID(avtr_* 文字列)の割り当て方法が変更されました。
info
VRChat SDKの組み込みUI(VRChat SDK Control Panel)のみを使用している場合、変更の手続きは不要です。
ツール作成者や技術的なユーザーの方は、以下を必ず確認してください。
- VRChat SDKのネイティブな
BuildAndUploadメソッドを使用するツールの場合:
| 新規アバター | 変更不要です。 |
| 既存アバター | VRCAvatar 構造体に、アバターIDを含めることが必須となりました。このフィールドは以前から存在していましたが、これまでは任意でした。 |
BuildおよびUploadメソッドを手動で呼び出すツールの場合:
| 新規アバター | VRCApi.CreateAvatarRecord メソッドを使用して、API上で新しいIDを予約する必要があります。この処理を自動的に行う BuildAndUpload メソッドの利用を強く推奨します。 |
| 既存アバター | VRCAvatar 構造体に、アバターIDを含めることが必須となりました。このフィールドは以前から存在していましたが、これまでは任意でした。 |
本変更は破壊的な変更とみなされるため、弊社の バージョン管理スキーム に基づき、今回のアップデートのバージョン番号は 3.9.0 に引き上げられています。
3.9.0-beta.1 と 3.9.0 の間の修正点
- ClientSim において、
StartからVRCCameraSettingsのセッターを使用しても例外が発生しなくなりました。 - ワールドで
Standard Liteシェーダーを使用しても、ライトマッピングが破損しなくなりました。- これまでは、ベイク中に「compiling shaders…」が無限に表示される問題が発生していました。
既知の問題
- まれに、ビルド中に「All pipe instances are busy」というエラーが表示されることがあります。これはUnityの問題であり、エディタを再起動して再度試すことで解決するはずです。
- 複数の
VRCPickupコンポーネントを同時に選択した場合、「Upgrade」ボタンが表示されないことがあります。
最終更新: