リリース 3.7.0
概要
本アップデートでは、VRChat ConstraintsやUnity AI Navigationの追加、アバターエディターパネルの改善、Standard Liteのアップグレード、新しいPlayer State APIの実装などが行われました!
新機能
- ⚠️ SDKは、最後にビルドされたアバターのサイズが、新しく引き下げられたアバターのダウンロードサイズ制限または非圧縮サイズ制限を超えている場合、アップロードをブロックするようになりました。
- 今回のリリースでは、Unity 2022のAI Navigationパッケージが統合されました。これにより、シーンのジオメトリから自動生成されるナビゲーションメッシュを使用して、ゲーム世界内をインテリジェントに移動できるノンプレイヤーキャラクター(NPC)を作成できるようになります。
- VRChat SDKにAI Navigationパッケージへの参照が含まれるようになったため、シーンをアップグレードする際に「AI Navigation」ウィンドウが表示されます。このウィンドウは右クリックして「Close」を選択することで閉じることができます。
- AI Navigationを使い始める際は、VRChatワールド向けAI NavigationドキュメントおよびAI Navigationサンプルシーンを参照してください。
- 一部のアバターエディターパネルが更新されました。:
- Expression ParametersおよびExpressions Menuエディターが根本から作り直されました。
- 更新されたExpression Parametersエディター:
- ドラッグ&ドロップで簡単に要素を並べ替えられます
- パラメーターが使用する同期バイト数をプログレスバー形式のメーターで表示します
- Expression Parametersアセットに新しいアイコンが追加され、Assetsフォルダー内で見つけやすくなりました
- 更新されたExpressions Menuエディター:
- 現在のMenu Controls数と、追加可能な最大Control数を併せて表示します
- 各Controlのタイプが一目でわかります
- ドラッグ&ドロップで簡単にControlを並べ替えられます
- 警告やエラー表示が改善・更新されました
- すべてのControlタイプを編集するためのレイアウトが改善されました
- Sub-Menu Controlsでは、新しいMenuアセットを素早く作成できるほか、サブメニューのエディターをワンクリックで開くボタンが追加されました
- Expressions Menuアセットに新しいアイコンが追加され、Assetsフォルダー内で見つけやすくなりました
Standard Liteシェーダーが大幅にアップグレードされました!- ベースラインのパフォーマンスが大幅に向上しました。
- Non-linear Lightprobe sampling:シーン内のリアルタイムオブジェクトにおいて、不自然な強いコントラストが発生するのを防ぎます。
- Lightprobe specularity:シーン内にリフレクションプローブが存在しない場合、代わりにライトプローブを使用して鏡面反射ハイライトを生成します。
- Geometric Specular AA:遠距離や鋭角にある光沢のあるオブジェクトで、エッジのジャギーやエイリアシングが発生するのを防ぎます。ラフネスを調整し、ハイライトを少なくとも1ピクセル分広げることで、多くのジオメトリで目立つ「網戸(screen door)」効果を軽減します。
- MonoSH(Bakery)によるSpherical Harmonicsライトマップ互換性:ライトマップの各ピクセルに光の拡散と方向をエンコードし、リアルタイムライティングのような見た目を低負荷で実現します。特にMonoSHバージョンでは、すべてを1つの追加マップに収めることで、メモリコストの増加を抑えています。MonoSH互換のライトマップをベイクするには、外部プラグインのBakeryが必要です。
- 参加時およびユーザーが新しい表示言語を選択した際に呼び出される OnLanguageChanged Udon イベントを追加しました。
- SDK ビルドパネルに、より高い鮮明さを得るために Kaiser ミップマッピングの使用を推奨する情報レベルのメッセージを追加しました。
- 以前開発アップデートで新しい DPID ミップマッピングアルゴリズムについて触れました。これはその第一歩となります。現時点ではアルゴリズム自体は含まれていないため、Unity 標準の Kaiser ミップの使用を推奨するものとなります。
VRCSceneDescriptorにリスポーンの高さを可視化するギズモを追加しました。- VRC Scene Descriptor で、spawns リストに定義された各スポーン地点のギズモがシーン内に表示されるようになりました。
- アップロードする前に、
DynamicBonesコンポーネントをPhysBonesに自動変換することが必須となりました。 - Udonで利用可能な新しいプレイヤー状態APIをいくつか実装しました:
VRChat Constraints
VRChat Constraintsは、Unity標準の「Constraint」コンポーネントの完全な代替機能です。アバターで使用でき、既存のConstraint設定は自動変換が可能です。
クライアント内ではすべてのConstraintが読み込み時に自動変換されますが、SDKのオプションを使用して変換することをお勧めします。そうすることで直接テストが可能になり、パフォーマンスをさらに向上させることができます。
VRChat Constraintsはモバイル向けアバターでもサポートされています!制限については、更新されたパフォーマンスランクのページをご確認ください。
VRChat Constraintsには、ネイティブな「world constraints」など、いくつかの独自の機能もあります。詳細については詳細なドキュメントをご覧ください!
修正
- ClientSimにおける入力イベントの不具合を修正しました。詳細はこちらのCannyの報告をご確認ください。
- TextMeshProのラベル内でインラインスプライトを使用している場合に、ワールドのアップロードが失敗することがある問題を修正しました。
破壊的なAPIの変更
マイナーバージョンの更新が示す通り、3.7.0にはユーザー向けツールに対する破壊的な変更が含まれています。特に、DynamicBonesに関連して公開されていたすべての情報およびAPIが、代替なしに削除されました。DynamicBonesを使用したアップロードはサポート対象外となったため、ユーザー向けツールは今後PhysBonesのみをサポートするように更新してください。
以下のバージョンに対する修正と変更3.6.2-beta.1
本バージョンは3.6.2シリーズに代わるものです。
- 新しいエディターパネルの安定性を向上させました。
- コミュニティツールで頻繁に行われる、コード生成によるアバターアセットファイルの表示に関するいくつかの問題を修正しました。
- SDKのアップグレードや再起動の際、アバターの表情メニューからパラメータが欠落する問題を修正しました。
- 空のコントロール名が「New Control」で誤って上書きされてしまう問題を修正しました。
- ゲーム内でブール値のToggleメニュー項目が想定通りに動作しない問題を修正しました(
3.6.2-beta.1または3.6.2-constraints.4で作成されたトグルは再作成が必要になる場合があります)。 - エクスプレッションメニューのサブアセットが、ルートアセットで設定されている場合にターゲットパラメーターオブジェクトをコピーするようになりました。
- Scene DescriptorインスペクターでネットワークIDが表示されない問題を修正しました。
修正と変更点: 3.7.0-beta.2
- エディター内でのエクスプレッションメニューおよびパラメーターアイコンの読み込みが安定しない問題を修正しました。
- モバイル用シェーダーの Diffuse および BumpedDiffuse が真っ白に表示される問題を修正しました。
Constraintsの修正
1つの軸のみでロックされた回転コンストレイントが、意図しない回転角で表示されることがある問題を修正しました。(やれやれ、ジンバルロックですね。)
SDKで Activate を押した際に、親コンストレイントが意図せずずれてしまう可能性がある問題を修正しました。
コンストレイント同士がループ状に参照し合っている場合の安定性を改善しました。
非常にウェイトが低いコンストレイントに関する問題をさらに修正しました。
ロック解除された
VRChatの position constraints において、オフセットが正しく計算されないことがある問題を修正しました。ローカル空間で計算を行う際の
Aim ConstraintおよびLook-at Constraintの挙動を修正しました。複数の
VRChatの constraints を選択して同時にソースリストを編集した際に、制約ソースの参照が失われる問題を修正しました。SDK に含まれる制約の自動コンバーターと連携するコミュニティ製ツールへのサポートを改善しました。
- 詳細については、ドキュメントを参照してください。
最終版における修正と変更
- world constraints用に公開されているAPIにさらなる調整を行いました。詳細はworld constraintsのドキュメントを参照してください。
- 「Auto-Fix」をクリックして変換がトリガーされたかどうかを示すパラメータが含まれます。
- エクスプレッションメニューエディタにおけるサブメニューのパラメータ割り当てを改善しました。
- .dylibファイルにおける不適切なLFS参照を修正しました。
既知の問題
- シーンを開いて初めてU# Behaviourを持つプレハブ内のGameObjectを選択した際、そのU# Behaviourの直下にあるコンポーネントのGUIが表示されません。プレハブの選択を一度解除して再度選択すると直ります。
- Buffer ParticlesがUnity 2019の時のように動作しません。コミュニティメンバーのhfcRedによる修正の回避策はこちらです。
- Unity 2022では、UnityのIMGUI内で未処理の例外が発生すると、Riderのデバッガーが停止することがあります。
- 詳細については、こちらの回避策およびJetbrainsのバグトラッカーを参照してください。
