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#

【Unity】逆コンパイルから学ぶC# - Qiita

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 で警告の線を表示する方法 - コガネブログ

IDisposableDispose忘れを検知する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

Cysharp/StructureOfArraysGenerator: Structure of arrays source generator to make CPU Cache and SIMD friendly data structure for high-performance code in .NET and Unity.

CPUキャッシュとSIMDフレンドリーなデータ構造を作るためのSource Generator。

Addler

Haruma-K/Addler: Memory management system for Unity's Addressable Asset System. Provides lifetime management system for loaded resources, object pooling system, and preloading system.

Addressablesアセットのメモリ管理システム。ロードしたアセットのライフサイクル管理や、オブジェクトプール、事前ロードなどの機能を提供する。

Unity's GameObject Paint Tool

acoppes/unity-gameobject-brush: Unity's Editor GameObjects Paint Tool for 2D Games. It contains both a custom window for objects palette + a customizable brush for paining.

GameObjectを2Dゲームシーンへの配置を行うためのペイントツール。パレットウインドウと、カスタマイズ可能なブラシツールを提供する。

NativeHeap

Amarcolina/NativeHeap: A Min/Max heap data structure for Unity. Compatible with the Unity Job system and Burst compiler.

ヒープのネイティブコレクション実装。

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

eldskald/planar-reflections-unity: Planar reflections probe component for Unity's Built-in Render Pipeline

Built-In Render PipelineでのPlanner reflectionsの実装デモ。