FairyGUIの使用と最適化

FairyGUIは、クロスプラットフォームのゲームGUIソリューションです。エディターとプラットフォームSDKで構成されています。クロスプラットフォームエディターは、UIマテリアルの管理および編集機能を提供し、各プラットフォームのSDKと合わせ、各プラットフ…

Addressablesがアセットをホットアップデートするのパスについて

1)Addressablesがアセットをホットアップデートするのパスについて 2)Unity 2018AndroidプラットフォームのBlitTypeがNeverに設定されている場合、画面は暗くなる 3)ビデオ圧縮方式 4)AssetBundleのアセットの冗長性に関して 5)ロード時にAddressableが…

物理ベースのレンダリングーーより正確な微小平面分布関数GGX

微小平面モデル(Microfacet Model)(中国語注意)は、オブジェクトの表面での反射ハイライトをシミュレートする関数Rsについて言及しました。この関数には、微小平面の法線方向の分布を表す関数D(Microfacet Distribution function)があります。材質表面…

影 (シャドウ)効果を実装する方法

前書き Unityエンジンに付属するシャドウ機能は、より効果的なShadowMapです。この記事では、プロジェクターを使用してシャドウを生成するシャドウの別の実装を紹介します。以下は、実行中のデモのビデオです。 HDビデオを表示するには、ここをクリックして…

ツリー構造でRedPoint Systemを実装する

RedPointについて言えば,皆既になじみのないものではなくなっています。ゲームであれソフトウェアであれ、スマホシステムであれ、RedPointを通して、ユーザーやプレーヤーに「新しいメッセージが届きました。チャックしてください」と通知しています。 RedP…

Addressable Assetのホストサービス

七、Addressable Assetのホストサービス ホストサービスは、Addressable Assetsの構成データを使用して、ローカルまたはネットワークに接続されたアプリケーションビルドにパッケージ化されたコンテンツを提供するための統合ツールを提供します。ホストサー…

Addressable Assets開発サイクル

六、Addressable Assets開発サイクル 6.1従来のアセット管理 Resourcesディレクトリでアセットを計画する場合、アセットはアプリケーションの初期パッケージに構築されることを意味しています。それに、Resources.Load のAPIのみを使用して、必要なコンテン…

Addressable Assets Systemの概要

五、Addressable Assets Systemの概要 Unityは2018バージョンでAddressableAssets Systemのプレビューバージョンをリリースし、2019バージョンは公式バージョンになり、本番環境に移行できるようになりました。しかし実際には、私たちは早期採用者であり、そ…

Unity BatchesとglDrawElementsの関係

今回の話題: 1)UnityBatchesとglDrawElementsの関係 2)広い草地をレンダリングすると時にコストを減らす方法 3)HUDはカメラとともにオフセットする原理 4)Unityでは、垂直画面モードのUIの上に強制水平画面のUIを表示する方法 5)iOSのコストの問題 Ren…

Camera.activeTextureおよびCamera.targetTextureに関する質問

今回の話題: 1)Camera.activeTextureおよびCamera.targetTextureに関する質問 2)アニメーションファイルの浮動小数点精度を下げる方法 3)EasyMovieTextureを使用してAndroidでビデオを再生できませんでした 4)モデルの頂点の色(Color)を削除する方法 …

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…