Unity Weekly 110
Unity Officials
MeshFilterの"Filter"って何!?Unityの名前に関するトリビア集
MeshFilterの"Filter"って何!?Unityの名前に関するトリビア集 - YouTube
Unityで使われているAPI名のスペルの由来や過去のドキュメントのちょっとしたユーモア、英語綴り間違い、MeshFilterなど、Unityの名前に関するトリビアが紹介されています。
Articles
文章サイズの取得と自動レイアウト機能を使用してみた
【Unity】文章サイズの取得と自動レイアウト機能を使用してみた – 株式会社ロジカルビート
TextMeshProのテキストで、文章の長さからテキストボックスのサイズを決める方法と、それを自動でやるための自動レイアウト機能と調整のためのパラメーターについて解説しています。。
ShaderGraphで作るセル調爆発エフェクト
ShaderGraphで作るセル調爆発エフェクト|G2 Studios株式会社
セルルック調の爆発エフェクトを制作をBlendarとShaderGraphを用いて実装する方法について紹介しています。 Blendarで制作した炎と煙メッシュでの制作方法と、ShaderGraphでのセルルック調な見た目やリムライト、ディゾルブの実現方法とその調整方法についてそれぞれ解説しています。
UnityWebRequestのDownloadHandler.nativeDataを用いたコピーの回避による最適化について
UnityWebRequestのDownloadHandler.nativeDataを用いたコピーの回避による最適化について | Yucchiy's Note
UnityWebRequestのDownloadHandler.nativeData
とSpan<T>
を用いて、シリアライザーなどへ渡すデータのコピーを回避する最適化手法について紹介しています。
コルーチンからUniTaskに乗り換えるときに気をつけるべきところ
【Unity】コルーチンからUniTaskに乗り換えるときに気をつけるべきところ - Qiita
コルーチンの実装をUniTaskへ置き換える際に気をつけておいたほうが良い、処理の寿命の管理と処理を合わせるためのCancellationTokenの扱いとキャンセル処理の書き方について解説しています。
接空間を用いたInteriorMapを幾何的に理解する
接空間を用いたInteriorMapを幾何的に理解する(Unity)
接空間を用いたinterior mappingについて、G2 studio さんの元記事のShaderGraphの実装を解説する形で紹介しています。
Hot Reload For Unity
How to build Hot Reload For Unity - Immersive VR Tools How to build Hot Reload For Unity and run it on device - Immersive VR Tools
UnityでC#コードのホットリロードを実現する手法と、実機上で動くUnityアプリケーションに対してホットリロードを実現する方法についてそれぞれ紹介しています。
実装はhandzlikchris/BuildingHotReloadForUnityにて公開しています。
ログのスタックトレースから関数を除外できるようになった
【Unity】2022.2 新機能 - ログのスタックトレースから関数を除外できるようになった - コガネブログ
Unity2022.2に入った、コンソール表示のスタックトレースの非表示オプションについて紹介しています。
Wind Waker Style Stencil Buffer Lights (URP & BIRP)
Wind Waker Style Stencil Buffer Lights (URP & BIRP) | Minions Art
風のタクトのようなライト(たいまつの光が壁を照らすようなライティング)をステンシルバッファーを用いてどのように実現するかについて紹介しています。
Regex.Matchはインスタンスメソッドを使うとGC.Allocと処理速度の面で有利
【C#, Unity】Regex.Matchはインスタンスメソッドを使うとGC.Allocと処理速度の面で有利 - はなちるのマイノート
Regex.Matchの静的メソッド呼び出しとインスタンスメソッド呼び出しの違いと、インスタンスを使い回すことによるGC.Alloc削減の最適化について紹介しています。
Procedural Stylized Sky & Clouds Set Up in Unity
Procedural Stylized Sky & Clouds Set Up in Unity
Amplify Shader Editorを用いて、プロシージャルに空と雲を描画する方法を紹介しています。
C# List.Contains()の罠(間抜けなだけです)
C# List
Containsに参照型を渡す際の挙動の注意点とrecord利用によるIEquatable<T>
の自動実装についてそれぞれ紹介しています。
Refactoring Bloated Code in C#
Refactoring Bloated Code in C# - Code Maze
いくつかのBloatedなコード(ここでは不必要にコードベースが大きくなってしまうようなコードを指す)を、可読性・保守性を高めるためのリファクタリング手法について紹介しています。
モバイルゲームを全画面で全機種対応させる
【Unity】モバイルゲームを全画面で全機種対応させる - Qiita
アプリを複数解像度およびSafeAreaに対応する一手法とDevice Simulatorによるデバック方法についてそれぞれ紹介しています。
Fake 3D Parallax Effect using Shader & (Pre-generated) Depth Map
Fake 3D Parallax Effect using Shader & (Pre-generated) Depth Map
事前に生成してあるデプスマップを利用して、視差効果を実装する方法についてその実装を動画付きで紹介しています。
ParticleSystem の再生位置を簡単に変えられる拡張メソッド
【Unity】ParticleSystem の再生位置を簡単に変えられる拡張メソッド - Qiita
ParticleSystemの再生を任意秒進めるSkipメソッドの実装について、ParticleSystemのSimulateメソッドの挙動と合わせて紹介しています。
パスに沿った円柱(Cylinder)状のメッシュ生成
[Unity] パスに沿った円柱(Cylinder)状のメッシュ生成 - Qiita [Unity] ドローイングでキューブ状のメッシュ生成 - Qiita
パスに沿って円柱の形をしたメッシュを生成する方法について紹介しています。またこの実装を利用して、ドローイングアプリのように、マウスの軌跡に沿ってメッシュを生成する方法についても合わせて触れています。
Depth of field
標準のSSAOがPostProcessVolumeのDoFで利用するデプステクスチャを上書きすることで、DoFの効果が効かない不具合の共有と、DoFの距離をマウス入力を元にレイキャストを発行し、その衝突した距離から計算する方法について触れています。
ランタイムで指定したフォルダをファイラーで開く(Mac/Windows)
【Unity】ランタイムで指定したフォルダをファイラーで開く(Mac/Windows) - Qiita
Unityアプリ上で、WindowsおよびmacOSの特定フォルダーをエクスプローラーやFinderで開く方法について紹介しています。
Repositories
VContainer
高速なUnity用DIライブラリ。
v1.13.0で、事前生成コードをILによるコード生成からSource Generatorへの実装の置き換えが行われ、あわせてIL生成機能はdeprecated扱いになりました。
BodyPixSample
keijiro/BodyPixSample: Unity BodyPix samples
BodyPixBarracudaを用いたサンプル実装。BodyPixBarracudaは、BodyPixというリアルタイムな人物領域と姿勢推定アルゴリズムのモデルをBarracuda上で動作させたもの。
kShading
Kink3d/kShading: Shading models for Unity’s Universal Render Pipeline.
URPのためのシェーディングモデル。異方性フィルターやクリアコート、サブフェース散乱などを含む物理ベースなLitシェーダーと、Litシェーダー+近似BSDFを使用するセルスタイルシェーダーToon Litの2つのシェーダー実装を含みます。
Unity-Texture-Packer
JMargevics/Unity-Texture-Packer: Pack any color data into texture channels.
任意の色情報をテクスチャのチャンネルに埋め込めるエディター拡張。
YukataScript
Akeit0/YukataScript: Very Fast Pure C# Script Language for Unity/C# (IL2CPP is supported)
Unity/C#向けの高速なスクリプト言語。
このライブラリ著者によるこのスクリプトの解説は、「Unity/C#のための静的型付けスクリプト言語「YukataScript」」より確認できます。
StateMachineUnity
nicholas-maltbie/StateMachineUnity: State Machine Utility Package for Unity Projects
Unity向けのStateMachine実装。
こちらのようにクラスとアトリビュートを用いてステートマシンを構築する。
それぞれの状態に対するAnimatorControllerの制御も合わせて用意されています。