Unityモバイルゲームパフォーマンス最適化略譜

「Unityモバイルゲームパフォーマンス最適化略譜」は、Unity モバイル ゲームの最適化に関するいくつかの基本的な議論から始まり、近年 Unity に基づいて開発されたモバイル ゲーム プロジェクトで最も一般的なパフォーマンスの問題のいくつかを例示および分…

Unityゲームのメモリ分布概要

メモリはゲームパフォーマンス最適化の非常に重要な側面です。特にモバイルデバイスの場合、ハードウェアデバイスが限られているが、該当ユーザーを配慮する必要があります。ゲームはPCまたはMacで開発されますが、最終的には(ほとんど)モバイルで実行され…

Image Effects拡張——深度ベースのbloom

Unityに付属するImage Effectsのbloomコンポーネントは、フルスクリーンのブルーム効果を実現するために使用されます。 サブカメラBloom サブカメラにbloom要件がある場合、bloomコンポーネントを直接用いるには問題があります。たとえば、シーン内の特殊効…

カラーグレーディング

カラーモデルと相互変換の方法を理解した後、後処理で最終的な画像にカラーグレーディングを行います。カラーグレーディングは比較的幅広いトピックであり、主な目的は、色相、彩度、明るさ、コントラスト、ホワイトバランス、およびその他の多くの操作の調…

カラーモデル

6と7の節では、2つのワークフローをまとめました。そうすればシェーダーに入力されたカラーデータは期待どおりであることを確保できます。シェーダーは入力された色データを処理します。この節では、いくつかの色表現と一般的な処理方法について説明します…

Linear Spaceワークフロー

Gamma SpaceとLinear Space Gamma Correctionが存在するため、レンダリングでの計算に少し問題があります。たとえば、sRGB画像の非線形入力があり、操作が線形空間で実行されると、最終的な出力結果が目的の結果から外れます。 実世界の物理法則は線形空間で…

Gamma Spaceの起源

前書き 本節に触れる後処理効果は色の調整に関連しています。特定の後処理効果を勉強する前に、色の最終出力表示に関連する基本的な知識を理解する必要があります。それでは、Gamma Correctionの起源、プロジェクト開発におけるColor Spaceの特定のアプリケ…

Radial Blur

基本知識 Radial Blurは、中心から外側に放射状に広がるストライプ状のぼかしとして現れる一般的な視覚効果です。 レースゲームやアクションの特殊効果で、高速モーションの視覚効果やカメラを突然ズームインしたときの衝撃的な効果を強調するためによく使用…

Silhouette Rendering

基礎知識 シルエットレンダリングは、アウトライン(Outline)とも呼ばれる一般的な視覚効果で、非写実的レンダリングでよく見られます。Borderlandsシリーズのようなコミックスタイルの強いゲームでは、多くのアウトラインレンダリングが使用されます。 Bor…

Lens Flare —— Streak

基礎知識 撮影際、強い光源からの光が多くのレンズで生成されたレンズ群を通過する際に反射や散乱が発生し、他の入射光と同じ方向を保っていない光がフレアを生成することがあります。 (右上隅の明るい光により、画像に目立つハローが生じます) もともと技…

Depth Of Field(被写界深度)

参考:CatlikeCoding-Depth Of Field: https://catlikecoding.com/unity/tutorials/advanced-rendering/depth-of-field/ 基礎知識 被写界深度は、ゲームでよく使われている画面後処理効果の1つです。これは、撮影の基本的な概念に由来し、カメラレンズまた…

Real-Time Glow & Bloom

https://software.intel.com/content/www/us/en/develop/articles/compute-shader-hdr-and-bloom.html 前書き 先々週、画像ぼかし処理のアルゴリズムの効率を探りながら、コアアイデアを深く理解しました。これらのアイデアは多くの後処理効果に適用します。…

Dual Blur

6. Dual Blur 6.1 基礎知識 SIGGRAPH 2015で、ARMチームは「Bandwidth-Efficient Rendering」を共有しました。この共有では、この前紹介したBlurアルゴリズムを分析し、新しいBlurアルゴリズムであるDual Blurを提案しました。 添付ファイルにPDFとNotesがあ…

Kawase Blur

5. Kawase Blur 5.1 基礎知識 GDC2003で川瀬さんが発表した「Frame Buffer Postprocessing Effects in DOUBLE-S.T.E.A.L (Wreckless)」では、Bloom効果に適用したアルゴリズムが紹介されました。その後ぼかしアルゴリズム「Kawase Blur」として普及されてき…

Box Blur

4. Box Blur 4.1 基礎知識 Box Blurアルゴリズムも畳み込み演算を用いるが、各位置に同じ重みを持つ畳み込みカーネルを使用し、例えば3*3の畳み込みカーネルは次のように表すことができる。 Box Blurの畳み込みカーネルも線形分離可能なので、分離可能なGaus…

Gaussian Blur

1. Gaussian Blur (一) ―― 基礎アルゴリズムとその実装 1.1 基礎知識 ガウシアンぼかし(Gaussian Blur)は、Gaussian Smoothingとも呼ばれ、画像をぼかすための典型的なアルゴリズムです。ガウシアンぼかしは、簡単に言うと、画像全体を加重平均する処理で、…

物理ベースレンダリングーーHDR Tone Mapping

ゲームエンジンのレンダリングパイプラインでは、通常、R、G、Bチャネルの色情報の値の範囲を[0、1](または[0、255])の間に設定します。このうち、0は輝度がないことを表し、1はディスプレイが表示できる最大輝度を表します。この表示法は単純で理解しやす…

物理ベースレンダリングーーリアルな環境光で物体を照明する

ゲームエンジンにおいて、物体(オブジェクト)を照らす光源は、平行方向光、点光源、スポットライト、ボリューメトリックライトなどさまざまなものがありますが、いずれも実際の光源を近似したもので、現実の照明の複雑さをうまくシミュレートすることはで…

物理ベースレンダリングーーHaarウェーブレット基底に基づくグローバルイルミネーション

前回は、球面調和関数(Spherical Hamonies、略してSH)に基づく動的グローバルイルミネーションアルゴリズムを紹介しました。そのアイデアは、オブジェクト間の光の複雑な伝達プロセスを伝達関数と見なすことです。伝達関数は、事前にシミュレートおよび計…

おすすめのAIプラグイン

1)おすすめのAIプラグイン 2)VideoPlayerはAndroidでビデオを再生したら黒画面になる 3)Renderer.GetPropertyBlockの問題 4)RectMask2Dの問題 AI Q:新しいプロジェクトにはいくつかのAIがあり、それを実装するためにいくつかのプラグインを使用したいと…

物理ベースレンダリング-球面調和基底に基づくリアルタイムのグローバルイルミネーション

この記事の主な内容であるPRTを紹介する前に、まずゲームエンジンレンダリングパイプラインでよく見られる一つのステップであるIBLを紹介します。Disneyは、2012 Siggraphカンファレンスで公開されたPBR courseで、レンダリング結果をよりリアルにするために…

iOSでAssetBundleをエクスポートするには30時間かかる

1)iOSでAssetBundleをエクスポートするには30時間かかる 2)Unityメインプロセスがナレッジツリーを構築する方法 3)TMPでCullTransparentを設定すると、Alphaが0であるTextをCullingにすることはできない 4)Spineアニメーションスタンプは線形空間に黒い…

微小面モデルーーPBRレンダリングパイプラインの材質

PBRレンダリングパイプラインがさまざまな材質(マテリアル)をリアルに表現できるのは、より複雑な材質モデルを使用しているからです。PBRレンダリングパイプラインが登場する前は、通常使用していた材質モデルは、環境光(Ambient)、拡散反射(Diffuse)…

物理ベースレンダリングーーディズニーのレンダリングモデル

今日は、物理ベースレンダリングに関する論文を紹介します。この論文は、2012年のSiggraphグラフィックスカンファレンスでディズニーが共有したPBRテクノロジーに関するレポートです。PBRは、最近のゲームレンダリングの分野における比較的高度なレンダリン…

Font Textureのメモリ値が異常に高い

1)Font Textureのメモリ値が異常に高い 2)UWAレポートにおけるOverdrawの統計およびデータの解釈についての疑問 3)URP Androidプラットフォームでは、ハイライトにモザイクがある 4)Different Material Instanceが原因でUGUIのパッチが中断されている 5…

パージのプロセス

3、パージのプロセス パージと参照マーカーは個別に実行できます。通常、パージはフレームごとにインクリメントして実行されます。 IncrementalPurgeGarbage(bool bUseTimeLimit、float TimeLimit)を呼び出して、2つのパラメーターを受け入れ、ガベージパ…

UE4GCプロセス

2、UE4GCプロセス エントリは、UObjectGlobals.hで定義されているCollectGarbage()関数であり、次のようになります。 void CollectGarbage(EObjectFlags KeepFlags, bool bPerformFullPurge) { // No other thread may be performing UObject operations …

UE4GCの概要

1、UE4GCの概要 UE4には、一連のUObjectオブジェクトシステムが構築され、ガベージコレクションメカニズムも追加されました。これにより、ゲーム開発にC ++を使用しやすくなり、ゲーム自体でメモリリークの問題を大幅に回避できます。 UE4は、従来のガベー…

sRGBのテクスチャチェックに関する疑問

1)sRGBのテクスチャチェックに関する疑問 2)ライティングをオンにすると、メッシュ数が増える 3)UGUI Imageの材質属性を修正する質問 4)UniWebViewインターフェイスがUnityインターフェイスの後に表示されるのはどすればよいのか 5)TimelineのInternal_…

【HDRと色彩管理】ゲームにおけるHDR

最後のセクションは初心に戻ります。ゲームでHDR表示の使用を紹介します。2016年以降、主要なゲームメーカーは、自社のゲームでHDR表示をサポートし始めています。初期のin FAMOUSシリーズからUE4で開発されたGears of War 5まで、市場に出回っている3Aゲー…