<aside>
⚠️ この記事は公式リリースノートの非公式翻訳です。VRChat運営の監修などは一切受けていません。誤訳があるかもしれないけどご了承くださいね。
</aside>
<aside>
📌 PhysBonesやAvatar Dynamicsが入ったSDKは、VRChat公式Discordの#open-beta-infoチャンネルにて配布されています。
</aside>
<aside>
⚠️ ドキュメンテーションページの翻訳はオープンベータ開始時点の翻訳のままです。あとで更新します。
</aside>
Release- 14 April 2022 - Build 1189
Client
アバターダイナミックスを公開!この新機能群でVRChatアバターに様々なインタラクティブな要素を付与できます!
まずはブログポストを見てから、書きのリリースノートを読んでみてください!
<aside>
🚧 SDK注意点:シェーダー作者へ!
以前のVRCSDKでは、シェーダーバリアントがMonoとSingle-Pass Stereoでコンパイルされていました。今後のUnity更新では、Single-Pass Stereo Instancedのバリアントが必要ですが、現在アップされたコンテンツに存在しない。これ以降、SDKがSPS-I用のバリアントもコンパイルすることで、今後のアップグレードをよりスムーズに、あるいは可能にします。対策はこれだけではありませんが、重要の処置です。
**クリエイターへ:SDKをアップデートしてください。**この変更点でSDKを更新することが非常に重要です。そうしないと今後のUnityバージョンアップグレードであなたのコンテンツが壊れます。できるだけ早くお願いします。
また、古いアバターのシェーダーを残したい場合は、再アップもお勧めします。
SDKのビルド時にシェーダーエラーが出た場合は、SPS-Iに対応していないシェーダーをつかっているからです。それでもVRChatでは表示されますが、エラーが修正されるようにシェーダーの作者に報告してください。
**シェーダー作者へ:**このUnityドキュメンテーションページの、SPS-I対応の指示にご参照ください。できるだけ早く対応し、修正されたシェーダーバージョンにアップグレードするようにユーザーに進めてください。SPS-I非対応のコンテンツは今後のUnityバージョンでは正しく動作しません。
特筆すべき点として、_CameraDepthTexture
はsampler2D
ではなくUNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture);
で定義する必要があります。
</aside>
新機能
- **PhysBonesを実装**!PhysBonesとは、髪の毛や尻尾をよりリアルに表現するために二次的な動作を付与するコンポーネント。詳しい技術的な解説や重要な注意点はドキュメンテーションに参照!
- すべてのプラットフォームに実装されています。そう、Questにもあります!
- PhysBonesをつかんだり、引っ張ったり、固定したりできるように設定できます!
- 他の人のPhysBonesにもインタラクトできて、ボーンを押したり引いたりできます!フレンドに新しい髪型にしてあげたい?できるぞ!
- PhysBonesコライダーを設定して様々な効果もできます!
- 詳しくはドキュメンテーションに書いてありますが、デフォで指や手のコライダーが自動設定されるので、どのアバターでもPhysBonesでインタラクトできます!
- Avatar Descriptorで自動設定したコライダーを手動調性できるようなUIも実装済みなので、要らないコライダーを切ることもできます
- PhysBonesでアバターパラメーターを影響して、自分のPhysBoneをつかんだり引っ張ったり固定したりしてる時を判定できます!
- PhysBonesは非常に最適化されてて、Dynamic Bonesよりはるかに軽くなっています
- コンタクト(Contact)を実装!コンタクトとは、信号を送受信する空間を指定できるものです。この信号でアバターパラメーターを操作できます!
- このシステムも全プラットフォームで使用できます!そう、Questも!
- Contact Senderは信号を送信するものです。当たり判定が当たるには、送信・受信側がどれか一つのタグがかぶってなければならない。タグは大文字と小文字が別扱いになります。
- Contact Receiverは信号を受信します。上記でも書いてあるが、タグがかぶってなければ反応しません。
- アバターダイナミックス許可システムを実装!許可設定で誰が自分のAvatar Dynamicsシステムに干渉できるかを設定できます。誰もできない、フレンド干渉可、だれでも干渉可で設定できます。両方のユーザーが許可を出さないとインタラクトできません。
- デフォルトではフレンドだけがインタラクションできる設定です
- ネームプレートの新しいアイコンで状態を示します。
- 手が光ってる場合はインタラクションが有効
- 手が光ってない場合はインタラクションが無効
- Dynamic BonesからPhysBonesへのランタイム自動変換を実装!
- BoneやColliderを含めて、Dynamic BonesをPhysBonesへ変換しようとします
- 方式、変数、数式などが全然違うので、アバターによってはうまくいかない場合があります。複雑な設定は新バージョンを再アップする必要がある場合があります。
- デフォで有効になっています。VRChatのPerformance Optionsウィンドウで無効化できます。無効化した場合はDB->PB変換をローカルでしなくなって、Dynamic Bonesが実行されます。この選択はローカルというわけです。
- ユーザー毎のAvatar Dynamics許可設定も追加!
- ラウンチパッドの絵文字ボタンがAvatar Dynamicsボタンに変わった。全体的にインタラクションを一時停止します。
- クイックメニュー設定にインタラクション再生・一時停止ボタン追加
- ユーザーを選択した時、全体の設定をオーバーライドするユーザー毎の設定を追加。Show Avatarみたいに、三択の設定です。
改善点・修正点
- お気に入りシステムがより反応よく、より安定になるように内部的に作り替えられた。これで最近見かけているお気に入りかんれんのバグのほとんどを解消できたはず。
- シミュレーション時間の改善により、ネットワークの挙動が改善され、一部のネットワーク関連のバグが修正
- 入力のフレームレート依存性を少なくした
- アバターがVRChat内部のパラメーターを再定義しようとすると、ログにエラーを吐いてそのアバターの定義が無視されるようになった