Games Focus、Unite 2022、Experimental Entities 1.0 - Unity Weekly 088
Unity Officials
Games Focus: Profiling and performance optimization
Games Focus: Profiling and performance optimization | Unity Blog
Unityブログの連載「Games Focus」の第3段で、今回はプロファイラーと、主にエディター環境のパフォーマンス最適化について取り上げています。
Unity 2022.2 betaから検証済みパッケージとなった Memory Profiler 1.0.0や2022.1で強化されたFrame Timing Manager、低レベルのGPUメトリクスを取得できるSYstem Metrics Maliパッケージ、Unity 2021 LTSにおけるアセットインポートの最適化、2022で利用可能な改善点について紹介しています。
また今後の取り組みとして、エディター起動の高速化やターゲットデバイス接続安定化、プラットフォーム固有のパフォーマンス改善などについて触れています。
Unite 2022 を楽しもう
Unite 2022が2022/11/01に開催されることが発表されました。今回のUniteはオースティン、ブライトン、コペンハーゲン、モントリオール、サンフランシスコによる現地とバーチャルで参加できるとのことです。
Experimental Entities 1.0 is available
Official - Experimental Entities 1.0 is available - Unity Forum
Entities 1.0と、関連するECSベースのパッケージのの実験バージョンの公開がアナウンスされました。
現状このパッケージを利用するには、Unity 2022.0b8 を利用する必要があります。
また、1.0向けのインストールガイドとドキュメントも合わせて公開されています。
Asset Store で公開中の UI Toolkit の新しいサンプルを試そう
Asset Store で公開中の UI Toolkit の新しいサンプルを試そう | Unity Blog
主に「Dragon Crashers」サンプルのUIを、UI Toolkitの機能を利用してどのように実現しているのかについて解説しています。
また、新しいUI実装に関するebook「User interface design and implementation in Unity」の事前登録についても案内しています。
ライトマッピングの一般的な 5 つの問題とその解決のためのヒント
ライトマッピングの一般的な 5 つの問題とその解決のためのヒント | Unity Blog
Unityでライトマッピングを利用する際にハマりやすい問題を5つ取り上げ、またその対応方法についても言及しています。
ペンライトの集団を数学的に制御する!簡単なプロシージャルアニメーションの例
【Unity】ペンライトの集団を数学的に制御する!簡単なプロシージャルアニメーションの例 - YouTube
大量のペンライトの動きを、プロシージャルアニメーションによって実現する方法について紹介しています。
基本的なアニメーションの実装方法、ノイズや乱数を用いてより自然なペンライトの動きを実現する方法、またUnity.Mathematicsを用いた実装方法についてそれぞれ解説しています。
Articles
URPにおけるディファードレンダリング
【Unity】【URP】URPにおけるディファードレンダリング - シェーダーTips
Deferred Renderingの概要からメリット・デメリット、制約についての説明からURP(Universal Render Pipeline)でDeferred Renderingを利用する方法、URPのLit.ShaderでDeferred Renderingがどのように実装されているのかについて、コードを参照しつつ解説しています。
UnityでPlayFabのロビー機能を使ってみよう
UnityでPlayFabのロビー機能を使ってみよう - Qiita
PlayFabのロビー機能についての説明と、ロビー機能の利用方法について逆引き形式、実装コード付きで解説しています。
AsyncReadManagerMetrics クラスを使用した Unity のアセットロード計測
AsyncReadManagerMetrics クラスを使用した Unity のアセットロード計測 - Qiita
AsyncReadManagerMetrics
を用いてロード時間やアセットサイズなどののアセットロードに関する各種メトリクスを取得する方法について紹介しています。
Unity の WebGL で動的にサウンドを生成・再生する方法を調べてみた
Unity の WebGL で動的にサウンドを生成・再生する方法を調べてみた - 凹みTips
UnityのWebGLビルドで、動的にサウンドを生成・再生する方法について紹介しています。
Unity WebGLでは現状 AudioClip.Create
による動的なサウンド生成・再生ができない経緯の紹介と、ブラウザのWeb Audio APIを直接呼び出してサウンドを再生する方法のJavaScript実装、UnityからJavaScriptを呼び出すためのjslibの利用方法についてそれぞれ解説しています。
Deforming a mesh in Unity
Deforming a mesh in Unity - LogRocket Blog
UnityのメッシュをC# Job SystemやMesh Data、Compute Shader、Vertex Shaderなどを用いて変形する方法と、それぞれのパフォーマンスについて解説しています。
WebGL ビルドされた Unity アプリケーションをローカルで実行するエディタ拡張作った
WebGL ビルドされた Unity アプリケーションをローカルで実行するエディタ拡張作った - Qiita
UnityのWebGLビルドをローカル環境で確認するためのエディタ拡張(Unity Preview Server)について紹介しています。
インストール方法から利用方法、このエディタ拡張のプレビューサーバーの立ち上げで利用している unisrv についても言及しています。
How to add Bullet Holes and Stickers in Unity (URP)
How to add Bullet Holes and Stickers in Unity (URP) — Sunny Valley Studio
URPのDecal Render Featureを用いて、ユーザーのインタラクションに対して動的にデカールを貼り付ける方法について紹介しています。
公式パッケージ「Editor Coroutines」を利用してエディタ内でCoroutineを扱う事ができるようにする(内部実装で説明)
【Unity】公式パッケージ「Editor Coroutines」を利用してエディタ内でCoroutineを扱う事ができるようにする(内部実装で説明) - はなちるのマイノート
エディターコードでコルーチンを利用するための Editor Coroutines パッケージについて基本的な利用方法を紹介しています。
GitHub Actions × Game CIでWebGLのCI/CD環境構築(デプロイ先はNetlify)
【Unity】GitHub Actions × Game CIでWebGLのCI/CD環境構築(デプロイ先はNetlify) - Qiita
GitHub Actions上でWebGLビルドのCI/CD環境を構築する方法について紹介しています。
Game CIを用いたUnityビルド環境の構築から BuildPipeline.BuildPlayer
を用いたビルドパイプラインの構築、成果物をNetlifyへデプロイする方法、ビルド結果をSlackへ通知する方法などそれぞれ解説しています。
UnityでVideoPlayerを使わずにネイティブ実装で動画を再生する方法
UnityでVideoPlayerを使わずにネイティブ実装で動画を再生する方法 - Qiita
DirectShow を呼び出し、Low-Level Native Plugin Interface を介してDirectX11上のテクスチャを直接参照することで、Windows環境でUnity標準のVideo Playerを用いずに動画を再生する方法について解説しています。
UnityにおけるShift_JISのややこしすぎる事情たち
UnityにおけるShift_JISのややこしすぎる事情たち
UnityでShift JISを扱う際に利用する Encoding.GetEncoding("Shift_JIS")
が、ビルド後に利用できなくなる場合がある問題の原因の紹介と、このAPIが内部で利用するアセンブリについての調査結果についてまとめています。
また、CP932をUnityで正しく利用するために System.Text.Encoding.CodePages.dll
を利用する方法についても言及しています。
Unity公式の無料パッケージMobile Notificationsを使ってローカルプッシュ通知を実装する方法
Unity公式の無料パッケージMobile Notificationsを使ってローカルプッシュ通知を実装する方法 【Unity】【iOS】【Android】 - (:3[kanのメモ帳]
Unityの提供するモバイル向けの通知ライブラリ Mobile Notification を用いて、iOSとAndroidでそれぞれローカルプッシュ通知(サーバーから通知を送るのではなく、アプリ上で通知を送る)を実装する方法について紹介しています。
Unityのログ表示を気軽にちょっとだけ見やすくする
Unityのログ表示を気軽にちょっとだけ見やすくする - きゅぶろぐ
Unityのコンソールログへの出力を、カテゴリごとに自動で色分けや変数出力を簡単に行えるロギングの実装について紹介しています。
UnityHubをシンプルかつ軽量にしたUnityHubNative
UnityHubをシンプルかつ軽量にしたUnityHubNative【Unity】 - (:3[kanのメモ帳]
UnityHubの軽量実装(Unityのバージョン管理とプロジェクト一覧の管理)であるUnityHubNativeについて紹介しています。
Repositories
Nova Shader
URP向けパーティクルシステムの多機能シェーダー。
v1.4.0では、URPのPBR仕様に準拠したLit版のシェーダー実装が追加されました。
Text To TextMesh Pro Upgrade Tool for Unity
Unity uGUIのレガシーTextコンポーネントをTextMesh ProのTextコンポーネントに一括で置き換えるためのエディター拡張。
NaughtyAttributes
dbrizov/NaughtyAttributes: Attribute Extensions for Unity
Unityのインスペクターを拡張する機能を提供するライブラリ。アトリビュートをつけることで、CustomPropertyDrawer
などを実装せずともインスペクターを強化できる。
UnityDebugSheet
Unityの階層型デバッグメニューシステム。
Rusty Hub
Leinnan/rusty_hub: Very basic Unity Hub alternative
RustによるシンプルなUnity Hub実装。