Unity Weekly 111

Unity Officials

【Unity】FindObjectsOfTypeが高速化!? FindObjects"By"Typeの紹介

【Unity】FindObjectsOfTypeが高速化!? FindObjects"By"Typeの紹介 - YouTube

FindObjectsOfTypeより高速なFindObjectsByTypeの紹介と、その理由としてインスタンスIDによるソートの省略について解説しています。

また、FindObjectsOfTypeがUnity2023で非推奨となる点についても言及しています。

Dynamic Addressables Network Prefabs (com.unity.multiplayer.samples.bitesize v1.2.1)

Release v1.2.0 · Unity-Technologies/com.unity.multiplayer.samples.bitesize

NetCodeのBitesize Samplesに、Dynamic Addressables Network Prefabsが追加されました。

ランタイムで動的にAddressablesで管理されたプレハブのロードを同期するサンプルです。デバッグのための意図的な遅延やタイムアウトのテストも、設定を介してかんたんに行えるようになっています。

Slides

DeNA TechCon 2023

DeNA主催の技術カンファレンスが2023/03/02に開催されました。Unityに関する4件の発表がありました。

Articles

C#からC/C++のネイティブプラグインを使用するときに注意すること

C#からC/C++のネイティブプラグインを使用するときに注意すること - Synamon’s Engineer blog

C#からWasmerのC/C++ライブラリのブリッジを行う上で注意すべき、C#とネイティブプラグイン間のデータ受け渡しの際のマーシャリングやネイティブオブジェクトの生成と破棄、wasm特有の所有権の扱い、SafeHandlerによるネイティブに確保したアンマネージド領域の確実な破棄方法などについてまとめています。

GitHub Actionsのセルフホストランナーでジョブごとにディレクトリを分離する方法

GitHub Actionsのセルフホストランナーでジョブごとにディレクトリを分離する方法 - DeNA Testing Blog

GitHub Actionsのセルフホストランナーでジョブごとにディレクトリを分離するための方法と、分離をかんたんに行うための DeNA/setup-job-workspace-action について紹介しています。

テクニカルアーティストのインターン生がコライダー可視化ツールを作った話

テクニカルアーティストのインターン生がコライダー可視化ツールを作った話

URPのRenderFeatureによるゲームビュー上でのランタイムなコリジョンビジュアライザーの実装を紹介しています。

国土交通省が日本全国の3D都市モデルのアセットをUnity Asset Storeで配信。

国土交通省が日本全国の3D都市モデルのアセットをUnity Asset Storeで配信。価格は無料

国土交通省がUnity Asset Storeに全国の都市モデルアセットを公開しました。アセットはPLATEAU SDK for Unityから利用できます。

ガラス風の表現をつくる──Unityのマテリアルを調整する

ガラス風の表現をつくる──Unityのマテリアルを調整する - Cluster Creators Guide

ガラス風の見た目を作るためのマテリアル設定と、Reflection Probeを用いた周囲の風景の映り込みやノーマルマップを指定したガラスの質感表現などについてまとめています。

【URP】LUT (ルックアップテーブル)

【Unity】【URP】LUT (ルックアップテーブル) - シェーダーTips

URPのカラーグレーディングの概要と内部で利用されているルックアップテーブルテクスチャについて、LUTを用いたポストエフェクトの実装についてシェーダーとスクリプトそれぞれ解説しています。

C#でDictionaryのキーに2つのintを使いたい場合の性能比較 (ただしキーの範囲は[-32768, 32767])

C#でDictionaryのキーに2つのintを使いたい場合の性能比較 (ただしキーの範囲は[-32768, 32767])

2つのintから得られるハッシュコードとその衝突率によるDictionaryの性能について紹介しています。また、ValueTupleHashCodeを使用した方法なども合わせて触れています。

Minecomb

Minecomb

マインスイーパーライクなゲームの実装を、そのゲームロジックの実装から見た目を整えるためのエフェクトの実装含めて解説しています。

Input Systemの同時押しを排他制御する

【Unity】Input Systemの同時押しを排他制御する

新しいInput Systemによる同時押しの排他制御を、1.4.0で導入された排他制御の有効化設定による実装と、それ以前のバージョンでカスタムComposite Bindingを用いた実装の2パターン紹介しています。

Nintedo SwitchのJoy-Conを使う

JoyConLibを用いてNintendo SwitchのJoy-ConをUnityの入力として利用する方法を紹介しています。

また、このライブラリをM1 macOS上でも確認する方について合わせて解説しています。

SourceGeneratorを実装してUnityで動作させるまでやってみた

【Unity】SourceGeneratorを実装してUnityで動作させるまでやってみた(Unity2021.3以上で利用可) - はなちるのマイノート

Unityで動作するSource Generatorの作成方法とUnity上での設定方法について解説しています。

GPT-3とVoiceVoxを活用してAIエージェントを作る!

GPT-3とVoiceVoxを活用してAIエージェントを作る!【Unity】|ねぎぽよし|note

マイクによる音声を入力とし、Windowsの音声入力でテキスト化し、その質問テキストをOpenAI APIに投げて回答をテキストで受け取り、そのテキストをVoiceVoxに投げることでAIエージェントを実現する方法について、その実装を紹介しています。

LODクロスフェーディングでモデル切替時にフェードで自然に補完

LODクロスフェーディングでモデル切替時にフェードで自然に補完【Unity】【URP】 - (:3[kanのメモ帳]

Unity2022.2からURPで利用できるLODのクロスフェード(LODのメッシュを滑らかにを切り替える機能)の設定方法についてまとめています。

GIFをサポートするようにできる「Unity-GifDecoder」の使い方

【Unity】GIFをサポートするようにできる「Unity-GifDecoder」の使い方(Streamを扱えるので便利) - はなちるのマイノート

Unityでgif動画を扱えるUnity-GifDecodrerについて利用方法と、類似ライブラリとの比較、uGUIのImageコンポーネントを介してgif動画を再生する方法について紹介しています。

【Unity,UI Elements】ツールバーにボタンを追加するエディター拡張

【Unity,UI Elements】ツールバーにボタンを追加するエディター拡張 - Qiita

Unityエディターのツールバー部分を拡張し、独自のUIをUIElementsをもちいて配置する方法について紹介しています。

Console ウィンドウで等幅フォントを使用する方法

【Unity】Console ウィンドウで等幅フォントを使用する方法 - コガネブログ

コンソールウインドウを等幅フォントで表示する方法を紹介しています。

Repositories

csbindgen

Cysharp/csbindgen: Generate C# FFI from Rust for automatically brings native code and C native library to .NET and Unity.

RustからC# FFIを生成し、ネイティブコードとCネイティブライブラリを.NETとUnityに自動的に生成するためのライブラリ。

FFTConvolutionBloom

AKGWSB/FFTConvolutionBloom: Bloom using FFT to accelerate convolution, with Unity URP

FFTを利用したBloomの高速化実装。

UniTask Supplement

su10/UniTask-Supplement: Supplemental codes for UniTask.

UniTaskのCancellationTokenを渡す記述を簡素にするための補助コード。