Unity Weekly 106
Unity Officials
Visual Effect Graph の 6 ウェイライティングを使ったリアルな煙のライティング
Visual Effect Graph の 6 ウェイライティングを使ったリアルな煙のライティング | Unity Blog
Unity 2022.2 TECHストリームで利用できる、ベイク済みのシミュレーションから煙をリアルタイムでレンダリングできる6ウェイライティングについて、その原理や採用するメリット、6ウェイライティングマップの構築プロセス、レンダリング設定とその効果についてそれぞれ解説しています。
機能ボリュメトリック・マテリアルで高度な空気感表現が可能に!
【Unity 2022.2】新機能ボリュメトリック・マテリアルで高度な空気感表現が可能に! - YouTube
Unity 2022.2のHDRP14.0で追加されたVolumetric Materialについて、その機能の説明から動作原理、シェーダーグラフの解説、この機能を使った複雑なフォグ表現、この機能によるフォグ表現の限界についてそれぞれ解説しています。
Articles
自動マージでアセット更新作業を楽にする
自動マージでアセット更新作業を楽にする - Mirrativ Tech Blog
アセットを管理するGitレポジトリで、masterや手前のリリースバージョンのブランチに入った変更を、以後のリリースバージョンのブランチに自動でマージするようなGitHub Actionsを実装する方法について紹介しています。
The Hidden Costs of async/await: How it Affects Build Size
The Hidden Costs of async/await: How it Affects Build Size
async/awaitによって生成されるステートマシンのコードが、アプリのビルドサイズにどの程度影響するかについてまとめています。
UnityのSplinesを使ってみる
UnityのSplinesを使ってみる | Unityを使った3Dゲームの作り方(かめくめ)
Splinesパッケージのツールを用いた曲線の定義方法から、Spline Instantiateコンポーネントを用いた曲線上へのゲームオブジェクトの配置、Spline Animateコンポーネントを用いた曲線に沿ったアニメーション、Splite Extrudeコンポーネントを用いた曲線に沿ったメッシュの生成などについてまとめています。
Timelineをスクリプトで動的に管理してみよう
【Unity】Timelineをスクリプトで動的に管理してみよう – 株式会社ロジカルビート
UnityのTimelineで、スクリプト経由で動的にトラックのバインディングを切り替えたり、特定のクリップの開始位置を取得して、そのタイミングでイベントを発火する方法などについて紹介しています。
Choosing the Right Load Type in Unity’s Audio Import Settings
Choosing the Right Load Type in Unity’s Audio Import Settings | by Made Indrayana | Medium
Audio Import Settingsの中のLoad Typeの説明とそれらの動作、ロード時の負荷について解説しています。
Unity Test Frameworkの非同期テストで できること/ できないこと
Unity Test Frameworkの非同期テストで できること/ できないこと - やらなイカ?
Unity Test Framework v1.3でサポートされた非同期テストについて、利用できる属性の組み合わせと、できないこと(v1.3.2時点でのバグ挙動も含めて)についてまとめています。
TextMeshProUGUIで表示したTextの最後の位置を取得する方法
TextMeshProUGUIで表示したTextの最後の位置を取得する方法 - Qiita
TMProのテキストで、ノベルゲームなどによくあるカーソルを表示するために、テキストの一番最後の位置を正しく取得するための方法について紹介しています。
Photon Fusion for Unityを使った自分のプロダクトをサーバーモードに対応させる~準備編
Photon Fusion for Unityを使った自分のプロダクトをサーバーモードに対応させる~準備編 - Qiita
Photon Fusion for Unityでサーバーモードに対応させるための、UGS(Unity Gaming Services)のサーバーの設定方法について紹介しています。
「良いコード/悪いコードで学ぶ設計入門」を読んだので自分の記事のコードをリファクタしてみた
「良いコード/悪いコードで学ぶ設計入門」を読んだので自分の記事のコードをリファクタしてみた - Qiita
「良いコード/悪いコードで学ぶ設計入門」の内容を元に、ARFoundationによる平面検知のコードをリファクタリングした際の、考え方や実際の修正手順を紹介しています。
逆コンパイルから学ぶC#
RiderのIL ViewerでC#をILにコンパイルしてその後ILをC#へ逆コンパイルした結果(Low-Level C#)を確認して、文字列の変換(+演算子や文字列補間)・暗黙的型変換・コルーチン・ボックス化・ラムダ式・タプル・Enum・GameObjectのnullチェックなどが、実際にどのような処理で実現されているかについて検証しています。
ARFoundationにおける平面検知シーケンスの実装
【Unity(C#)】ARFoundationにおける平面検知シーケンスの実装 - Qiita
UnityのARFoundationを用いて平面を検知するための実装を紹介しています。
IDisposable.Dispose し忘れてる場合に Rider で警告の線を表示する方法
【Unity】IDisposable.Dispose し忘れてる場合に Rider で警告の線を表示する方法 - コガネブログ
IDisposable
のDispose
忘れを検知するRoslyn Analyzerについて、導入方法とその使い方をまとめています。
UnityのメッシュをフルカラーでMagicaVoxelにエクスポートできる「MagicaVoxel Tools」の紹介と使い方
【Unity】UnityのメッシュをフルカラーでMagicaVoxelにエクスポートできる「MagicaVoxel Tools」の紹介と使い方【アセット紹介(2)】 - はなちるのマイノート
UnityのメッシュをMagicaVoxelにエクスポートできる「MagicabVoxelTools」について、基本的な利用方法をまとめています。
FSRで低解像度な画像を補間してみた
【Unity】FSRで低解像度な画像を補間してみた - Qiita
URP/HDRPで実装されているAMD FidelityFX Super Resolution(FSR)を用いてテクスチャのアップサンプリングの検証結果を紹介しています。
Repositories
StructureOfArraysGenerator
CPUキャッシュとSIMDフレンドリーなデータ構造を作るためのSource Generator。
Addler
Addressablesアセットのメモリ管理システム。ロードしたアセットのライフサイクル管理や、オブジェクトプール、事前ロードなどの機能を提供する。
Unity's GameObject Paint Tool
GameObjectを2Dゲームシーンへの配置を行うためのペイントツール。パレットウインドウと、カスタマイズ可能なブラシツールを提供する。
NativeHeap
ヒープのネイティブコレクション実装。
GiLight2D
NullTale/GiLight2D: 2D light for Unity Urp with raytracing
2DのグローバルイルミネーションのURP Render Feature実装。
ZeroAllocJobScheduler
genaray/ZeroAllocJobScheduler: A high-performance alloc free c# Jobscheduler.
アロケーションフリーなジョブスケジュラー。
Atlas
david-knopp/Atlas: 👩🚀 Atlas Utility library for Unity
再利用可能なクラスやツールを提供するライブラリ。ステートマシンやタイマー、オブジェクトプールやエディターツールなどが含まれる。
Planar Reflections for Unity's Built-In Render Pipeline
Built-In Render PipelineでのPlanner reflectionsの実装デモ。