2021-01-01から1年間の記事一覧

AssetBundleのベストプラクティス

四、AssetBundleのベストプラクティス 前のセクションでは、AssetBundleの基本原則を紹介し、AssetBundleのロードからAssetsのロードまでのさまざまなプロセスと、基盤となるAPI実装の詳細について説明しました。このセクションでは、AssetBundleの実際の使…

AssetBundleの原則

三、AssetBundleの原則 AssetBundleシステムは、1つから複数のファイルにインデックスを付けてシリアル化できる圧縮ファイル形式を提供します。 Unityプロジェクトがインストールされた後、コードを含まないアセットはAssetBundleを介して更新されます。 こ…

URP複数のカメラのパフォーマンスの最適化に関して

今回の話題: 1)URP複数のカメラのパフォーマンスの最適化に関して 2)Unity Addressablesがパッケージ化する時に、BuildAssetBundleOptions.DisableWriteTypeTreeを設定する方法 3)Unrealは、商用ゲームのホットアップデートプログラムとして使用できます…

Resourcesディレクトリのメリットと問題点

Unityのプロジェクトには、先週(Assetsについて――Unityアセットマッピング)に言及したルート・ディレクトリの以外、UnityのAssetsディレクトリの下に、特別な働きがある固定的なフォルダーがある。でも、これらのフォルダーは、新規作成したプロジェクトのデ…

GPU Instancingの使用による画面の「ちらつき」問題

今回の話題: 1)GPU Instancingの使用による画面の「ちらつき」問題 2)AssetBundleのサイズを最適化する方法 3)GPU Skinningでパフォーマンスを向上させる方法 4)iOSのShaderでのtex2Dサンプリングオフセットの問題 5)内蔵深度図を管理および破棄する方…

Assetsについて――Unityアセットマッピング

一、Assetsとは Assetsについて、一般的に、2つレベルの観点があります。1つはUnityのデフォルトのプロジェクトディレクトリAssetsからのAssetsで、もう1つはUnityのパッケージングシステムAssetBundlesかあらのAssetsです。次に、これら2つの側面から正規化…

UIにおいてSetActiveが大量に使用される問題

今回の話題: 1)UIにおいてSetActiveが大量に使用されるなら、どのように最適化するか 2)ASTC圧縮とETC2圧縮によって生成されたAPKパッケージの問題 3)PNG画像形式とTGA画像形式の問題 4)ゲーム実行のクラッシュの問題 5)AssetBundleの読み込み方法に適…

unityパーフォマンス最適化シリーズーーUIモジュール

4年前、Unityの各主要なモジュールのパフォーマンス最適化知識(初心者向け版)を1つずつ説明しました。近年、エンジン自体、ハードウェアデバイス、製作基準などのアップグレードに伴って、UWAは引き続き規則や方法を更新して、各開発者に提供しつつありま…

LWRPの下にコードでシャドーの生成距離を動的に変更する方法

今回の話題 1)LWRPの下にどのようにコードでシャドーの生成距離を動的に変更するか 2)SRPはAndroidプラットフォームのBox Projectionをどのように有効にするか 3)リリースされたPCバージョンのウィンドウドラッグの問題 4)国際化されたフォントの問題 5…

Unityパフォマンス最適化シリーズーー物理モジュール

4年前、Unityの各主要なモジュールのパフォーマンス最適化知識(初心者向け版)を1つずつ説明しました。近年、エンジン自体、ハードウェアデバイス、製作基準などのアップグレードに伴って、UWAは引き続き規則や方法を更新して、各開発者に提供しつつありま…

Unityパフォーマンスの最適化――アニメーションモジュール

4年前、Unityの各主要なモジュールのパフォーマンス最適化知識(初心者向け版)を1つずつ説明しました。近年、エンジン自体、ハードウェアデバイス、製作基準などのアップグレードに伴って、UWAは引き続き規則や方法を更新して、各開発者に提供しつつありま…

フレーム同期の最適化における難点及びソリューション

フレーム同期という部分はやや複雑なので、細部にも多くの最適化ポイントがあり、いくつかの異なる最適化の方向もあります。プロジェクトの種類、操作感への要求、オンラインプレーヤーの数などに応じて、さまざまな問題が発生します。最適化の方向性や最適…

UE5 Lumen実装分析

概要 LumenはUE5のGIシステムで、間接拡散反射の寄与のみを含む従来のリアルタイムGIとは異なり、間接拡散反射と間接ハイライトも含まれ、真新しい間接照明セットを提供します。Lumenは、ハードウェアベースのRTXとソフトウェアベースのTraceという二つのア…

Addressableについての疑問

1) Addressableについての疑問 2) AddressableはどのようにHot Updateを行うか 3)どのようにSceneViewカメラのShader変数を設定するか 4) ActivityのデフォルトはSingleTaskである原因 5) Resources.UnloadUnusedAssetsのコール時間が長い問題 Addressable Q…

Unityパフォーマンス最適化シリーズ――アセットのメモリリーク

4年前、Unityの各主要なモジュールのパフォーマンス最適化知識(初心者向け版)を1つずつ説明しました。近年、エンジン自体、ハードウェアデバイス、製作基準などのアップグレードに伴って、UWAは引き続き規則や方法を更新して、各開発者に提供しつつありま…

UE5レンダリングの紹介:Nanite編

一、前書き 今年の初めにUE5はEpicによって公開されてから、注目を集めて話題になりつつあります。技術の面は、主に「大域照明技術」Lumenと「高精度モデルの詳細技術」Nanite2つの新機能をめぐって議論してきました。Naniteに関しては、詳しく紹介する記事…

Unityパフォーマンス最適化シリーズ――Luaコードの最適化

Luaのボトルネックをすばやくキャッチする方法はありますか? GOT OnlineのLuaレポートを開いて、GOTOnlineの優れた機能を確認しましょう。 ここで、まずレポートページのいくつかのタグを個別に説明します。次に示すように、それらを順番に見ていきましょう…

UnityのAnimatorでUIアニメーションを作る詳細

この前のプロジェクトでは、古いバージョンのLegacy Animationを使用するか、またはまだ試用段階にあるPlayable Graph +Animation Jobを使用するかの方法で、アニメーションを作りました。 最近のプロジェクトでは、Animatorを使用してアニメーション、特にU…

IL2CPPのメモリの問題

今回の主な話題: 1)IL2CPPのメモリの問題 2)Logによるメモリリーク 3)ProfilerのBuilt_in Resourcesのメモリ 4)Huawei P30ビデオの再生が異常 5)UWAGOTに関する疑問 Mono Q: Q&AシリーズにIL2CPPとMonoとの比較があって、IL2CPPのメモリ使用量は高す…

Instruments でMonoメモリ割り当てを確認する方法

今回の主な話題: 1)InstrumentsでMonoメモリ割り当てを確認する方法 2)Addressable v1.11.2に関する疑問 3)UV2の展開によって引き起こしたMeshの頂点数の増加 4)Unityエディターでのコードのコンパイル速度の向上 5)Renderdocのデバッグに関する疑問 M…

PCでAnimationClipの読み込みが遅い問題

問題 プロジェクトでは、アニメーションのFBXメッシュの冗長性の問題を解決するために、アニメーションを切り出す対策を講じましたが、この問題を解決すると同時に、新たな問題も発生しました。つまり、これらのアニメーションはPCでの読み込みに非常に時間…

Unityモバイルプラットフォームにおけるベイクの使用と最適化(下)

三、ベイクの効率と効果の最適化 シーン作成の規模が大きくなっていることは、ベイク処理のプロセスへの影響: 1)ベイク処理の量の増加;2)単一マップのベイク時間は大きくなってきて、ベイクはプログレスバーでフレーズする可能性もあります;3)ライトマ…

Unityモバイルプラットフォームにおけるベイクの使用と最適化(上)

前書き モバイルプラットフォームでのシーン作成の規模はますます大きくなっています。オープンパースペクティブを備えた3Dビッグワールドシーンでは、マップサイズと可視距離に対する要求がますます高まっています。これにより、地形のサイズが大きくなり、…

GPU Skinningは有効にならない

今日の話題: 1)GPU Skinningは有効になりません2)convex hullを選択することによる警告表示3)Unity 2019 画像圧縮フォーマットの選択4)AndroidでExportしたパッケージが圧縮への影響5)AndroidのメモリにおけるUnknown部分のリーク Rendering Q:Unity…

パーティクルシステム最適化—— スキル特殊効果の最適化

4年前、Unityの各主要なモジュールのパフォーマンス最適化知識(初心者向け版)を1つずつ説明しました。近年、エンジン自体、ハードウェアデバイス、製作基準などのアップグレードに伴って、UWAは引き続き規則や方法を更新して、各開発者に提供しつつありま…

モバイルプラットフォームにおけるテクスチャ圧縮フォーマットの選択

今日の主な話題: 1)モバイルプラットフォームにおけるテクスチャ圧縮フォーマットの選択2)Unity2018はMaliGPUでAlpha8形式をサポートしていますか?3)Unityに付属するNavmeshで地面の高さを取得する方法4)ParticleSystemは再生できません5)UI開発にお…

Unityパフォーマンス最適化シリーズ—ローディングとアセット管理

4年前、Unityの各主要なモジュールのパフォーマンス最適化知識(初心者向け版)を1つずつ説明しました。近年、エンジン自体、ハードウェアデバイス、製作基準などのアップグレードに伴って、UWAは引き続き規則や方法を更新して、各デベロッパーに提供しつつ…

Shaderバリアントコレクションとパッケージコンパイルの最適化のアイデア

一、バリアントとは何ですか Unityの公式ドキュメントからの説明:ShaderVariant In Unity, many shaders internally have multiple “variants”, to account for different light modes, lightmaps, shadows and so on. These variants are indentified by a…

Unityパフォーマンス最適化シリーズ――レンダリングモジュール

4年前、Unityの各主要なモジュールのパフォーマンス最適化知識(初心者向け版)を1つずつ説明しました。近年、エンジン自体、ハードウェアデバイス、作成基準などのアップグレードに伴って、UWAは引き続き規則や方法を更新して、各開発者に提供しつつありま…

Unity無限ループによって引き起こされた完全スタックを見つける方法

今回の主な話題:Unity無限ループによって引き起こされた完全スタックを見つける方法、Unity AssetBundle単一パッケージサイズの設定方法、MaterialPropertyBlockでStencil関連パラメーターの変更、リニアワークフローでアクションファイルがシェーダーカラ…