未来を創る、テックコミュニティー

代表技術通信~Unityに舞い戻りでVR①

草場代表
2020/10/30

こんばんは。代表の草場です。

Unreal Engine、素晴らしいです。が、使いこなせないので一度Unityに戻ります。

VR Best Practiceについてです。

概要は以下です。
レンダリングの最適化、レイテンシの低減、プラットフォーム固有の推奨事項など、Virtual Realityアプリケーション開発のためのUnity開発チームのベストプラクティスについて。

1.Introduction to VR Best Practice

選んだプラットフォームにとって狙ったフレームレートを得ることは、ユーザーが快適なVR経験を得ることを保証するためには不可欠な部分です。そのため、最適化はVR開発にとってクリティカルな部分です。他のプラットフォームと違い、最適化を開発の後工程に残しておくよりも、VRを使って最適化早めにしておくのがベストです。ターゲットデバイスの上で定期的にテストするのが必須となります。
VRは、VRでないプロジェクトに比べて計算負荷が高いです。これは、レンダリングのためです。そのため、VR体験を作る際は、よくある問題に慣れ親しむ必要があります。事前にそれらの問題に気付いて気付いておければ、プロジェクトサイクルの後半部分の多くのハードな部分を減らすこと減らしながら、自分のプロジェクトをデザインできます。

参考
Understanding Performance in Unity

以下、Understanding Performance in Unityについて。

プロファイリング

パフォーマンスについて考える時に理解する必要があるのは、最適化の試みは全て調査、発見のプロセスから始めなければならないということです。
まず最初に行うべきは、アプリケーションをプロファイリングしてホットスポット (問題箇所) を特定することです。
次にそのプロファイリング結果を、プロジェクトの技術的構造やアセット構造と照らし合わせて分析します。

これは基本的ですが、大事な部分ですね。

ツール

Unity で開発を行うディベロッパーは、様々なプロファイリング用ツールを使用することができます。 Unity ビルトインのツールには CPU Profiler、 Memory Profiler 、 Memory Analyzer などがあります。
ただし基本的に、最も有益なデータは各プラットフォーム専用のツールから得られます。以下はそのいくつかの例です。
・iOS 向け – Instruments、 XCode Frame Debugger
・Android 向け – Snapdragon Profiler
・Intel CPU/GPU を実行するプラットフォーム向け – VTune、 Intel GPA
・PS4 向け – Razor パッケージ、VR Trace
・Xbox 向け – Pix ツール
基本的に、これらのツールは通常は、IL2CPP を使ってプロジェクトの C++ バージョンを作成することのできるプラットフォームで最も有効です。これらのネイティブコード版は、 Mono 下で実行されている場合には利用不可能な、 トランスペアレントなコールスタックと高分解能なメソッドのタイミングを提供します。
Instruments を使用した iOS ゲームのプロファイリングに関するガイドは、Unity から既に提供されています。Profiling with Instruments を参照してください。

プロファイラー、勉強しなきゃ。

本日は電池切れでここまで。頑張る。

 

 

この記事を書いた人
草場代表
エディター