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

線形空間で、GrabTextureの明るすぎる表示に対処するにはどうすればよいですか?

今回の主な話題:Androidプラットフォームの線形空間でGrabTextureの表示が明るすぎる、Graphics APIの選択、アニメーションをインポートする際のdiscarding joint scale/translation。 レンダリング Q1:歪み効果のためにGrabPassを使用しました。PCプラット…

Unityアセット管理に関して、あう可能性のある問題——アセット管理編(その弐)

この記事は、前回の記事「Unityアセット管理に関して、あう可能性のある問題——アセット管理編(その壱)」続きであります。 前回の文章をまだ読まれていない皆様は、是非移動してご覧ください。 メッシュ相関 Q1: 一つのモデルがSkinned Mesh Rendererのインス…

半透明オブジェクトはどのようにしてシャドウ効果を実現しますか?

今回の主な話題:半透明オブジェクトがシャドウ効果を受ける方法、Lightmapを手動で設定したがShadowmaskが失われる問題の解決策、カスタムInspectorで同時に複数オブジェクトの位置プロパティを変更する方法。 レンダリング Q1: "RenderType" = "Transparen…

Unityアセット管理に関して、あう可能性のある問題(その壱)

キーワード AssetBundle アセット制作 texture \ mesh \ material \ Shader \ audio \ animation Lightmap 一、AssetBundle相関 Q1: UnityのSerializedFileはどのように生成しましたか? Unload(false)でクリアできますか?Bundleにある内容は読み込んだ後…

WebGLプロジェクトを開発するには、これらを知る必要があります

WebGL Q1:現在、H5ゲームに変換する必要があるSpineを使用した2Dプロジェクトがありますが、Unityを使用してWebGLプロジェクトを直接に開発する場合、パフォーマンスに関する注意事項を教えてください。 問題主はモバイルデバイスでこのプロジェクトを実行…

Unityローディングに関して、あう可能性のある問題ーーローディング編

キーワード アセットのロードとアンロード インスタンス化 アセット管理方法 一、アセットローディング Q1: Shaderは独立してパッケージ化されていますが、ゲーム開始時に一度ロードすれば、その後シーンを切り替えるたびにロードする必要はありませんか? …

Unity Lightmap混乱問題の研究

今回の主な話題:Unity Lightmap混乱問題の研究、UGUI静的および動的キャンバス、AssetBundleパッケージングゼロ冗長性の方法、AssetBundle依存パッケージングエラー。 Lightmap Q1: Unityプロジェクトのライトマップ混乱を引き起こす可能性のある問題とその…

ラージシーンの最適化とロード戦略

今回の主な話題:ラージシーンの最適化とロード戦略、Physics2D.ConvertCollision2DForScript最適化、Shaderパフォーマンスコストの検出、NGUIの物理的な衝突検出をオフする。 制作 Q1: ラージシーン(SECTR + Terrain)に関して、いくつか質問があります。1…

Unity 2018バージョンでテクスチャが導くアプリの強制終了

今回の主な話題:Unity 2018バージョンでテクスチャが導くアプリの強制終了、ゲーム実行中にMipmapを開くとアセットへの影響、UIでアニメーション効果を遷移する方法、サウンドの再生に多くのMonoメモリが消費されます。 アセット管理 Q1: Unity 2018.1.4f1…

Instance IDの定義

今回の主な話題:Instance IDの定義、モデルMesh Compression導入設置、Static BatchingがDrawCallへの影響。 アセット管理 Q1:公式ドキュメントでInstance IDへの定義は次のとおりです。 「The instance id of an object is always guaranteed to be unique…

UGUILateBindingの使用注意事項

今回の主な話題:UGUILateBindingの使用注意事項、UpdateRendererBoundingVolumes関数の役割、ToArrayが生成するヒープメモリ割り当ての回避。 アセット管理 Q1:UGUIとSpriteAtlasが生成するAssetBundle依存関係に関する一つの問題を聞きたいです。以下のテ…

Unity自身のナビシステムで特定点の高さを取得する方法

今回の主な話題:Unity自身のナビシステムで特定点の高さを取得する方法、GPU Instancingはさまざまなテクスチャをサンプリングする方法、Text.get_cachedTextGeneratorのMonoメモリを最適化する方法。 ナビメッシュ Q1: Unity自身のナビシステムに基づいて…

GfxDriveメモリリークに注意しろ

今回の主な話題:UGUI Android 「前髪」スクリーンの適応、UWA GOT Monoテスト スタック、Unityで作成したメッシュの頂点カラーをクリアする方法、MeshBakerの適用性。 メモリ Q1: Unity 2017.2.0バージョンを使用しています。PCエディターで、ProfilerにGfx…

知っておくべきAssetBundle管理メカニズム

前回の記事「AssetBundleを明らかにする」に続き、AssetBundleを探し続けましょう。管理メカニズムから、アセットのロードとアンロードの原理について説明します。 AssetBundleロードの基礎 AssetBundleを介したアセットのロードは、2つのステップに分かれて…

AssetBundleの非同期ロードを中断する方法

今回の主な話題:AssetBundleの非同期ロードを中断する方法、コードがdllにパッケージされた後にProfilerできません、updateWhenOffscreenの割役 ロード Q1: 非同期インターフェースyield return AssetBundle.ASyncLoadを使用する場合、そういう疑問が起きま…

AssetBundleを明らかにする(その弐)

前回の記事「AssetBundleを明らかにする(その壱)」で、主に4.xバージョンでのAssetBundle管理メカニズムを分析しました。では、5.xバージョンでの変更は何ですか? AssetBundleパッケージ(5.x)基礎 基本紹介 (1)唯一API public static AssetBundleManife…

LZMAおよびLZ4圧縮に関する疑問の分析

今回の主な話題は:LZMAおよびLZ4圧縮に関する疑問の分析、パーティクルシステムがGPUインスタンス化をサポートできるかどうか、スクリプトのコンパイルWarningを一時的にブロックする方法はありますか? AssetBundle Q1: 昨日、Q&AコミュニティでLZMAとLZ4…

AssetBundleを明らかにする(その壱)

AssetBundleはパッケージング化に依存しているとよく言われますが、その役割はアセットが更新されたときに部分的な更新を実現することです。これは、プロジェクトのメモリ管理にとって非常に重要であることがわかるので、今日はこのスキルを適切に使用する方…

WaitForGPUを最適化する方法

今回の主な話題:WaitForGPUを最適化する方法、DrawMeshInstancedで各オブジェクトに異なる色を指定する方法、UnityがモデルをインポートするときにオプションSwap UVsの役割、キャラクターの服替えモデルの合併問題。 レンダリング Q1: 最近、Unity 5.6.3バ…

Unityメモリ最適化に関して、あう可能性のある問題ーーメモリ編

キーワード メモリ使用 メモリリーク アセット冗長 一、メモリ使用 Q1: Unityのメモリ管理メカニズムでは、Reserved TotalとUsed Total間の関係は何ですか? Reserved TotalとUsed Totalとは、Unityエンジンがメモリ方面の全体的な割り当てと全体的な使用量…

モバイルゲーム開発におけるPBRの適用性

今回の主な話題:モバイルゲーム開発におけるPBRの適用性、レンダリングレベルの設計方法(発展編)、ハードウェアのGPU Instancingサポートの判断方法、回避する必要がある25個のDrawCall成長問題。 レンダリング Q1:私たちはMMOゲームを開発しています。…

パフォーマンス最適化、歩きは止まらないーーメモリ編2

前回の記事では、プロジェクト開発中のメモリ割り当て状況を紹介しました。その以外、開発チームが注意すべきより重要なところはまだ三つあります。それは、メモリリーク、Mono無効的なヒープメモリコスト、およびアセットの冗長性であります。これは、ほと…

UnityでのShaderLabメモリの最適化

おそらく、ShaderLabメモリの最適化に困っている開発者は多いでしょう。「価格の高い」メモリスペースに、無視できないボリュームを占めることがよくあります。他のアセットメモリと比べて、「ブラックボックス」に似ているので、最適化するのは難しいです。…

レンダリングレベルの設計方法

今回の主な話題:モバイルゲーム開発におけるPBRの適用性、レンダリングレベルの設計方法(発展編)、ハードウェアのGPU Instancingサポートの判断方法、回避する必要がある25個のDrawCall成長問題。 レンダリング Q1:今はプロジェクトのレンダリングレベル…

パフォーマンス最適化、歩きは止まらないーーメモリ編

プロジェクトのパフォーマンスの最適化は、主にCPU、GPU、メモリの3つの方面を中心に行われます。ゲームであれ、VRアプリケーションであれ、メモリ管理は開発段階の最優先事項です。 ただし、私たちが評価した大量のプロジェクトでは、90%以上でさまざまな…

LuaとC#間のシャトル問題

今回の主な話題:Luaコール回数統計、Unity人形の手首の反転アニメーションの具体的な制作方法、Find()で要素を検索するときに生成されるGC、パーティクルシステムの最適化、アニメーションクリップの数がパフォーマンスコストへの影響。 スクリプト Q1: L…

RTSゲームの経路探索システム

今回の主な話題:RTSゲームの経路探索システム、AssetBundleがパッケージ化された後のmd5は異なる、UGUIの3D HPバー最適化の問題、シーン内の一部のオブジェクトの外観を早く変更する方法。 経路探索システム Q1: RTSゲームを作っています。UnityのNavMesh経…

カートゥーンレンダリングの制作の流れ

今回の主な話題:カートゥーンレンダリングの制作の流れ、物理モジュールを採用していないけどなぜ物理エンジンの時間コストがある、SpriteAtlasのlate bindメカニズム、AndroidプラットフォームでのASTCの使用可能性、UIパフォーマンス分析。 制作 Q1: 最近…

材質(テクスチャ)間のパフォーマンスへの影響

今回の主な話題:材質(テクスチャ)間のパフォーマンスへの影響、パーティクルシステムが放出点を継続的に変更することのパフォーマンスの最適なソリューション、低解像度のDepthTextureのレンダリング方法、Unityでのオブジェクトのリアルタイムライティン…

Unity物理エンジンPhysxのパフォーマンスを向上させる方法

今回の主な話題:Unity物理エンジンPhysxのパフォーマンスを向上させる方法、Unityがスクリプトを自動的にコンパイルすることを禁止する方法、Texture2DArrayを使うときにMipmap効果をオンにする。 物理 Q1:Unity物理エンジンPhysxのパフォーマンスを向上さ…