Unity Weekly 099

Unity Officials

Unity 2022.2 TECH ストリームが公開されました

Unity 2022.2 TECH ストリームが公開されました | Unity Blog

Unity 2022.2 TECH ストリームがリリースされました。これによって 2022 は正式版となり、例年どおりだと 2023年の3月~4月頃にLTSがリリースされます。

この記事では、2022.2 TECHストリームで利用できる機能の中から、 ECS for UnityNetcode for GameObjects・グラフィックスからSRP(Scriptable Render Pipeline)やURP(Universal Render Pipeline)、HDRP(High Definition Render Pipeline)の新機能・プレハブに関する新機能・UI Toolkit・DirectX12グラフィックスバックエンド・XR Interaction Toolkit(XRI)などについて紹介しています。

Create spellbinding visual effects with our advanced VFX guide

Create spellbinding visual effects with our advanced VFX guide | Unity Blog

新しく公開されたVFX Graphに関する電子書籍「*The definitive guide to creating advanced visual effects in Unity**」*の内容について簡単に触れています。

Rival - DOTS Character Controller for Unity

Rival - DOTS Character Controller for Unity | Physics | Unity Asset Store

DOTSベースなCharacter Controller実装がアセットストアにて公開されています。ドキュメントはこちらから、サンプルについてはこちらから確認できます。

Articles

RenderDocの使い方をステップバイステップで解説~初歩からディープな使い方まで~

【Unity】RenderDocの使い方をステップバイステップで解説~初歩からディープな使い方まで~ | CyberAgent Developers Blog

URPを使ったUnityアプリのグラフィックスのデバッグを題材に、RenderDocの基本的な使い方から各種機能の説明と実際の使い方、シェーダーを最適化するためにコンパイル後のシェーダーのアセンブラコードをRenderDocで確認する方法まで詳細に解説しています。

Unityプロジェクト向けオートパイロットフレームワークの作りかた

Unityプロジェクト向けオートパイロットフレームワークの作りかた - DeNA Testing Blog

ほぼ完成済みのゲームを自動でテストするオートパイロットによるゲームの品質検証のアプローチと、DeNAが開発するモンキーテストとシナリオテストを組み合わせたオートパイロットフレームワークAnjinの実装について紹介しています。

V Rising's Animation Layering in Unity

V Rising's Animation Layering in Unity

V Risingで利用されているキャラクターアニメーションのワークフローやアニメーションレイヤーの作り方、IKなどによるアニメーション調整のアプローチについて紹介しています。

Six Grass Rendering Techniques in Unity

Six Grass Rendering Techniques in Unity

Unityで草をレンダリングするためのテクニック・手法を6つ紹介し(Mesh Grass・Geometry + Tesselation Shader・Compute ShaderによるProcedural Rendering・Billboarding・Imposter・Unity Terrains)、それぞれのメリットやデメリットについてまとめています。

Humanoidアニメーション内のFoot IK、Hand IKって何?どうやって使うの?

【Unity】Humanoidアニメーション内のFoot IK、Hand IKって何?どうやって使うの? - Qiita

HumanoidアニメーションでのFootIKやHandIKの挙動とその利用用途について紹介しています。

シェーダーモデルとは

【Unity】シェーダーモデルとは - シェーダーTips

Unityの #pragma target ディレクティブで指定できるシェーダーモデルについてその概要と、指定できるシェーダーモデルそれぞれの説明と主要なAPIのサポート状況についてまとめています。

UnityのUI Elements (UI Toolkit)を触ってみた

UnityのUI Elements (UI Toolkit)を触ってみた - Synamon’s Engineer blog

UI Elementsの概要や基本的な利用方法、各種UIの実装方法について紹介しています。

JenkinsでUnityをビルドしてSlackに結果を通知する

JenkinsでUnityをビルドしてSlackに結果を通知する – 株式会社ロジカルビート

UnityアプリをJenkins経由でビルドするための BuildPipeline.BuildPlayer の利用方法やビルド結果をSlackに通知するためのJenkinsの設定についてまとめています。

URPでの2Dライト

URP での 2D ライト - 強火で進め

Light 2D について - 強火で進め

Light Blend Styles について - 強火で進め

Shadow Caster 2D について - 強火で進め

URPで利用できる2Dライトについて、導入方法からLight 2Dコンポーネントの各種設定、Light Blend Styles、Shadow Caster 2Dなどについてまとめています。

ShaderGraphできらきら光るシェーダーを作成する

【Unity】ShaderGraphできらきら光るシェーダーを作成する - 武0武/blog

Shader Graphで、きらきら光るカードのような見た目を作るシェーダーの実装方法について紹介しています。

Repositories

Unity Anime Toolbox

unity3d-jp/AnimeToolbox

Unityでアニメや映像を制作するための数々の機能を提供する包括的なパッケージ。

含まれるパッケージとドキュメントはこちら

NSprites - Unity DOTS Sprite Rendering Package

Antoshidza/NSprites: Unity DOTS Sprite Rendering Package

ECS互換なスプライトレンダリングシステム。

同マテリアルを持つスプライトエンティティを1ドローコールで描画する。

NativeTrees

bartofzo/NativeTrees: Burst compatible Octree and Quadtree for Unity

ECS/DOTS向けのAABBを格納するOctreeとQuadtree実装。

現状、レイキャスト・範囲内の要素列挙・k近傍列挙などのクエリをサポート。

NightPool

MeeXaSiK/NightPool: Fast object pool for Unity

高速なゲームオブジェクトプール実装。

MonoCache

MeeXaSiK/MonoCache: Lightweight Optimization Framework for Unity

Update集約による高速なUpdateループとコンポーネントキャッシュを提供する最適化フレームワーク。

TimeControl

AkiKurisu/Time-Control: Unity时间回溯系统

ゲーム中のTransformやAnimatorなどの記録・巻き戻し・再生を行うことのできるライブラリ。

Advent Calendar

12/05 〜 12/11にアドベントカレンダーに投稿された記事のうち、主にUnityに関する記事をまとめています。

anti-aliasingのはなし

[VRChat] anti-aliasingのはなし - Qiita

エイリアシングの発生原因と、その解決方法としてMulti-SamplingとTexture Filteringの2手法の紹介、エイリアシングが発生しやすいケースとその対処方法についてまとめています。

Shader GraphでStylizedなSkyboxシェーダを実装する

【Unity】Shader GraphでStylizedなSkyboxシェーダを実装する【Advent Calendar 12/5】|Colorful Palette

Shader Graphでアーティストが細かい色調整がしやすいSkyboxシェーダーを実装する方法について、地平線の高さと2カラーでの空のカラーの制御、太陽の描画、ノイズテクスチャを用いた雲の描画、時間経過の表現などについてまとめています。

デザイナー向け5つのUnityテクニック

【知らないと損する?】デザイナー向け5つのUnityテクニック - 渋谷ほととぎす通信

デザイナーさんがUnityで作業をする上で知っておくと便利な操作やショートカットについて5つ紹介しています。

SYNMNのマルチプレイの仕組みについてちょっと紹介

SYNMNのマルチプレイの仕組みについてちょっと紹介 - Synamon’s Engineer blog

自社で開発するSYNMNのマルチプレイでの状態同期の実装方針とその意図、メリット・デメリットについて紹介しています。

金で解決する!Unityの絵作り

金で解決する!Unityの絵作り

Asset Storeで有料アセットをうまく活用しつつ、Unityでのゲーム制作できれいな絵作りをするためのライトなどの設定方法についてまとめています。

Unityで制作したアプリをMeta Quest2(OculusQuest2)でビルドする方法

Unityで制作したアプリをMeta Quest2(OculusQuest2)でビルドする方法 - Qiita

Unityで制作したMeta Quest2アプリを実機ビルドして、実機上で動作させる方法についてまとめています。

ARアプリをテストするときのテスト観点簡単にまとめてみた

ARアプリをテストするときのテスト観点簡単にまとめてみた - Qiita

ARアプリのテスト観点についてまとめています。

WebGLのプラグインをモダンに書く方法

[Unity]WebGLのプラグインをモダンに書く方法 - Qiita

WebGLのプラグイン( .jslib )開発を、__postset を用いて都度WebGLビルドすることなくプラグインを開発する方法とその汎用化、C#とJS間でのデータの受け渡し、C#のメソッドをJSから呼び出す方法などについてまとめています。

Unity<=>Maya受け渡せるカスタムアトリビュートまとめ

Unity<=>Maya受け渡せるカスタムアトリビュートまとめ - Qiita

Mayaで入力したアトリビュートのうち、どのデータ型のもののアトリビュート名とカーブがUnityにインポートして利用できるかについてまとめています。

Unity2022.2からのECS入門

Unity2022.2からのECS入門【Advent Calendar 12/6】|Colorful Palette

ECSの基本的な実装方法と、MonoBehaviour実装との比較について紹介しています。

インスペクタでクラス定数をenumのように選択できるようにする

インスペクタでクラス定数をenumのように選択できるようにする [Unityエディター拡張, Odin対応] - Qiita

クラス定数をセレクタで選択できるようなEditorUIの実装について紹介しています。

PhotonFusion + PhotonVoice2 導入方法

【Unity】PhotonFusion + PhotonVoice2 導入方法【ボイスチャット】 - Qiita

PhotonFusionとPhotonVoice2の導入方法についてまとめています。

ILPostProcessorとasmrefを使った外部Packageのメソッド書き換え

【Unity】ILPostProcessorとasmrefを使った外部Packageのメソッド書き換え - Qiita

ILPostProcessorとasmrefを用いて、Unity Package Managerで導入した外部パッケージの特定のメソッドを書き換える方法について紹介しています。

Cysharp/ObservableCollectionsの紹介とUnityでの使い方考察

Cysharp/ObservableCollectionsの紹介とUnityでの使い方考察 - Qiita

Cysharpが提供する ObservableCollections について、提供する各種コレクションの紹介とコレクションとUnityのビュー(uGUI)をつなぎこむ方法、少し複雑なUIの実装をMV(R)Pベースな設計とObservableCollectionsを用いて実装する方法についてそれぞれ解説しています。

CRI ADX2 + Addressables + 宴のマシマシセットを動かす

CRI ADX2 + Addressables + 宴のマシマシセットを動かす - 鉄ブロ

CRIWARE公式のUnityサポートプラグインによるADXファイルのUnityアセット対応とAddressables対応、宴でAddressablesを用いてADXファイルを読み込んで再生する方法についてまとめています。

DOTween + UniTask環境でのTweenCancelBehaviourについて

DOTween + UniTask環境でのTweenCancelBehaviourについて - Qiita

DOTweenでUniTask上でアニメーションの終了を待つときに利用する ToUniTask で渡す TweenCancelBehaviour の挙動についてまとめています。

コルーチンやUniTaskを使ったゲージアニメーションについて

コルーチンやUniTaskを使ったゲージアニメーションについて【Advent Calendar 12/7】|Colorful Palette

UIアニメーションを、コルーチンとUniTaskを用いてそれぞれ実装する方法について紹介しています。

Geospatial APIでオレオレセカイカメラを作りかけた

Geospatial APIでオレオレセカイカメラを作りかけた - Qiita

Geospatial APIを用いてセカイカメラのようなARアプリを作る方法や、Google Places APIから情報を取る際のコツ(複数回呼び出しや疎密への対応)、ロケーション情報を画面表示する方法、住所から階数を推定して高度情報として利用する方法などまとめています。

Samplerが消える問題

【Unity】Samplerが消える問題 - Qiita

UnityでSamplerを扱う上での注意点やSamplerを使いまわして16枚以上のテクスチャを1シェーダーで扱う方法、その際発生したSamplerStateが消える問題とその対処方法についてまとめています。

インスペクタに画像を表示する

インスペクタに画像を表示する [Unityエディター拡張, Odin対応] - Qiita

インスペクタ上にテクスチャを表示する方法についてその実装を紹介しています。

SONY ELF-SR1にUnityのPost Processingどこまで効くか試してみた

【空間再現ディスプレイ】SONY ELF-SR1にUnityのPost Processingどこまで効くか試してみた - Qiita

SONY ELF-SR1の画面にPost Processing(Post-Process Stack v2)をかける方法と、Post-Process Stack v2の各種効果についてまとめています。

今すぐできる!Unityでの開発を快適にするための各設定

今すぐできる!Unityでの開発を快適にするための各設定 - Qiita

Unityの開発を快適にする設定について紹介しています。

URPのBokeh DoFを読み解く

【Unity】URPのBokeh DoFを読み解く【Advent Calendar 12/8】|Colorful Palette

URPに実装されているボケ表現の実装を、その原理とURPでの実装についてコードを追いながら計算式の説明も交えつつ解説しています。

複数ループDOTweenのタイミングを同期する方法

複数ループDOTweenのタイミングを同期する方法 - Qiita

複数のループトゥイーンのタイミングを同期する方法とそのユーティリティクラスの実装について紹介しています。

UnityでGitHub Actions

UnityでGitHub Actions(1) -Unityのライセンス認証 - Qiita

UnityでGitHub Actions(2) -PRと特定コメントをフックにしてビルドを行う - Qiita

GitHub ActionsでUnityを扱うための、GameCIを用いたライセンス認証の方法やPRなどをフックしてUnityビルドを行う方法について紹介しています。

ワープポータル転送演出の作り方

【Unity】ワープポータル転送演出の作り方【AdventCalendar2022】 - かつて代官山らへんで働いてたengineerのUnityブログ

ワープポータルのような表現を行うシェーダーの実装方法について紹介しています。

UnityからAzure Computer Visionを利用する

UnityからAzure Computer Visionを利用する - Qiita

UnityからAzure Computer Visionを利用するための環境の構築手順から実装方法、実際にUnityのテクスチャを Computer Visionにかけて解析する方法について紹介しています。

Unity Cinemachine VirtualCameraを知らない人向けだけの紹介

Unity Cinemachine VirtualCameraを知らない人向けだけの紹介 - Qiita

CinemachineのVirtualCameraについて紹介しています。

Timelineからシグナルを使ってAnimationController制御する

#unity Timelineからシグナルを使ってAnimationController制御する - 土屋つかさの技術ブログは今か無しか

Timelineのシグナルを用いて、タイムライン再生中に AnimationController に対して命令を送る方法について紹介しています。

GitLab CI で Unity アプリをビルドする CI テンプレートを作った

GitLab CI で Unity アプリをビルドする CI テンプレートを作った

GameCIのイメージを利用しつつGitLab CIでUnityアプリをビルドするテンプレートを実装する方法について紹介しています。

InputSystemを使ったらWebGLのEditorとPCとスマホそれぞれで苦労した話

InputSystemを使ったらWebGLのEditorとPCとスマホそれぞれで苦労した話 - tanaka's Programming Memo

Input Systemとシーンの非同期ロードの組み合わせで発生した不具合とその対応方法について紹介しています。

URPでオブジェクトモーションブラーを使う

[Unity]URPでオブジェクトモーションブラーを使う - Qiita

PostProcessingStack V2に実装されているオブジェクトモーションブラー(オブジェクトの移動・回転に対してブラーを適用する機能)をURPで ScriptableRenderPass を用いて実装する方法について紹介しています。

汎用的なCI環境構築ライブラリを作ったお話

[Unity] 汎用的なCI環境構築ライブラリを作ったお話 - Qiita

Unityのアプリビルドで、複数のプロジェクトをまたいで利用できる汎用的なCI環境の構築方法について紹介しています。

UnityでAndroidアプリのメモリ使用量を軽量に取得する

UnityでAndroidアプリのメモリ使用量を軽量に取得する - Qiita

Androidアプリのメモリを ActivityManagergetProcessMemoryInfo からネイティブプラグイン経由で取得する方法とその軽量化について紹介しています。

Photon Fusion for UnityとPlayFabを連携し、データを永続化する

Photon Fusion for UnityとPlayFabを連携し、データを永続化する - Qiita

Photon Fusion for UnityにPlayFabを組み合わせて、オンラインゲームの認証・データ保存機能を実装する方法について紹介しています。

Unityでアイソメトリックマップ(クオータービューマップ)を作ってみた

Unityでアイソメトリックマップ(クオータービューマップ)を作ってみた|とぶ@うさおいみと|note

TilemapとTilemapRendererを用いてクォータービューマップを実装する方法について紹介しています。

今からでも遅くない!最新のUnityエディタ拡張を知ろう 〜 UIElementsのすすめ 〜

今からでも遅くない!最新のUnityエディタ拡張を知ろう 〜 UIElementsのすすめ 〜 - Qiita

UIElementsによるエディタ拡張のUI実装方法について紹介しています。

新しいUnity Searchの隠れた機能紹介

【Unity】新しいUnity Searchの隠れた機能紹介 - うどんてっくメモ

新しいUnity Searchで利用できる機能として「検索条件の保存」・「Search AssetStore(アセットストアの検索)」・「Performance(エディタで実行されている処理の呼び出し回数や処理時間の検索)」について紹介しています。

Rigidbody を用いた移動でよく出る不具合と、FixedUpdate 改造による解決法の提案

Rigidbody を用いた移動でよく出る不具合と、FixedUpdate 改造による解決法の提案【Unity】 - Qiita

FixedUpdateをPlayerLoopをカスタマイズしてUpdateと更新間隔を一致させることで、カメラのカクつきや入力受け付け漏れなどを解消する方法について解説しています。

UnityのTimelineを使ってMV製作した話

UnityのTimelineを使ってMV製作した話 - kugi's notebook

Timelineでカスタムトラック実装やShader Graphを組み合わせてMVを制作する方法について紹介しています。

Unityのパススルーのサンプルを動かす

Unityのパススルーのサンプルを動かす|41h0|note

Unityで制作したMeta Quest Proアプリでパススルーをするための設定から実機ビルド、動作確認までを説明しています。

VContainerでインスタンスを複数登録できなかった話

VContainerでインスタンスを複数登録できなかった話 - Qiita

VContainerで複数インスタンスを登録する際に、 InstanceRegistrationBuilder が内部でインスタンスの生存期間を Singleton として指定するために発生する問題と、登録の際にスコープを明記することでこの問題を解決する方法について紹介しています。

SRDebuggerのオプションにSliderを実装する

[Unity]SRDebuggerのオプションにSliderを実装する - Qiita

SRDebuggerで、Slider属性を自作してスライダーUIを実装する方法について紹介しています。