Unity Weekly 153

Unity Officials

Unite 2023基調講演の日本語翻訳

Unite 2023の基調講演全文とそれぞれのセクションでの発表の日本語翻訳が公開されています。

やってみよう!SpeedTree はじめの一歩

やってみよう!SpeedTree はじめの一歩 - YouTube

SpeedTreeを用いて樹木を作る方法を動画で紹介しています。

10分でわかる! SpeedTree

10分でわかる! SpeedTree - YouTube

SpeedTreeの概要や特徴を動画でまとめています。

Advent Calendar 2023

ZLogger v2 による .NET 8活用事例 と Unity C# 11対応の紹介

neue cc - ZLogger v2 による .NET 8活用事例 と Unity C# 11対応の紹介

ZLogger v2の設計のポイントから実装に際して活用したいくつかのトリック、Unity対応についてそれぞれ解説しています。

ゲーム作りとかCGとかに関わる数学(初歩)①

ゲーム作りとかCGとかに関わる数学(初歩)① #数学 - Qiita

ゲーム制作の際に頻出する数学の知識のうち三角関数とベクトルについて、その基本から各種定理や性質、ゲームで活用する際の知識をそれぞれ解説しています。

UnityにおけるSDFを使った円の描画とアンチエイリアス

UnityにおけるSDFを使った円の描画とアンチエイリアス #Unity - Qiita

SDFを用いたUIシェーダーにおける円の描画方法から、アンチエイリアスによるジャギーの回避方法をそれぞれ解説しています。

UniTaskAsyncEnumerableとは何なのか

【Unity】UniTaskAsyncEnumerableとは何なのか #Unity - Qiita

UniTask v2に実装されたUniTaskAsyncEnumerableについてその概要から立ち位置の解説、似たような機能としてのUniRxのObservableとの使い分けについてそれぞれ説明しています。

モバイルクライアントアプリにおける「どんなログを出してるのか?」「どの様に役立てているのか?」事例

モバイルクライアントアプリにおける「どんなログを出してるのか?」「どの様に役立てているのか?」事例 - KAYAC engineers' blog

Unity製アプリケーションにおいて、ログ出力の考え方や役立て方、具体的なログ出力と一部の実装について紹介しています。

Sobel Filterを使ってリムライト表現を実装する

【Unity】Sobel Filterを使ってリムライト表現を実装する|Colorful Palette

Sobel Filterによるリムライト表現について、そのような実装が必要になった背景と課題の考察、Sobel Filterを用いたリムライト表現の具体的な実装、メリット・デメリットをそれぞれ解説しています。

Unity NuGetとNuGetForUnity

Unity NuGetとNuGetForUnity - やらなイカ?

NuGet Galleryで公開されているパッケージをUnityで扱うことのできる「Unity NuGet」と「NuGetForUnity」について、それぞれの導入方法から基本的な使い方を紹介しています。

(Unity/URP製)モバイルゲームの描画負荷制御

(Unity/URP製)モバイルゲームの描画負荷制御 #Unity - Qiita

モバイルゲームにおける端末ごとのスペック差の課題とそれに対処するための基本的な戦略、URP製のアプリにおいて負荷を調整するためのテクニックを紹介しています。 また、デフォルトの画質設定を決定するための基準の決定方法やシェーダーの事前ロードについても言及しています。

TextMeshProの落とし穴

TextMeshProの落とし穴 | Unity用ビジュアルノベルツール「宴」

TextMeshProを扱う際に注意すべき挙動を、バージョン問題・ColorSpace・フォントアセット・Line Metrics・SpriteAsset(スプライト絵文字)・ダイナミックフォントのそれぞれの観点でまとめています。

Unityのエディタ拡張で使える「Tree View」が超絶便利なので実装方法を紹介したい!

Unityのエディタ拡張で使える「Tree View」が超絶便利なので実装方法を紹介したい! #C# - Qiita

Unity標準で提供される「Tree View」について、基本的な使い方から応用的な利用方法として見た目のカスタマイズや検索機能の実装などを紹介しています。

Vector3をSceneView上でハンドルで編集する

[Unity]Vector3をSceneView上でハンドルで編集する(ドロップダウン付き)

SceneView上でVector3を編集できる独自のハンドル実装について紹介しています。

A.I.VOICE for Gamesを使ってUnityエディタ内でカットシーンの仮当てボイス生成を半自動化

A.I.VOICE for Gamesを使ってUnityエディタ内でカットシーンの仮当てボイス生成を半自動化 #Unity - Qiita

A.I.VOICE for Gamesを用いて、Timelineで制作するカットシーンでの仮当てボイスを半自動で生成するためのエディター拡張の実装を紹介しています。

機運到来!Photon Quantum

機運到来!Photon Quantum

マルチプレイヤーゲームのための決定論的ECSフレームワークPhoton Quantumについて、その概要から学習リソース、このフレームワークを用いたマルチプレイヤーゲーム実装の各種Tipsを紹介しています。

Source GeneratorでNullObjectを自動生成する

Source GeneratorでNullObjectを自動生成する #C# - Qiita

NullObjectをSource Generatorを用いて自動生成する方法を紹介しています。

ノード表現でロジックをアセットに! GraphViewの入門とツール活用

【Unity】ノード表現でロジックをアセットに! GraphViewの入門とツール活用|Colorful Palette

GraphViewの紹介から活用事例、ロジックをアセットとして扱う検証時に感じた課題を紹介しています。

UIデザイナーもUnityでUIを実装してみよう

UIデザイナーもUnityでUIを実装してみよう|Happy Elements株式会社 カカリアスタジオ

uGUIでのデザインの組み込みを、UIデザイナー観点でまとめています。

QualiArtsのGithub Actionsへの取り組みやアプリビルドについて

QualiArtsのGithub Actionsへの取り組みやアプリビルドについて #Unity - Qiita

著者の所属する会社でのGitHub Actionsによるアプリビルドパイプラインの構築やその工夫を紹介しています。

PNGなど既存AssetのImporterを上書きする

PNGなど既存AssetのImporterを上書きする SetImporterOverride #C# - Qiita

Unity標準でサポートしている拡張子のインポーターを上書きする方法を紹介しています。

Code Coverage Package を Github Actions で動かしてみた

【Unity】Code Coverage Package を Github Actions で動かしてみた #Unity - Qiita

GitHub Actions上でCode Coverage Packageを実行して、出力をPR上にコメントする方法を紹介しています。

【Meta Quest3】WebXRでできる!フルカラーパススルーMR開発

【Meta Quest3】WebXRでできる!フルカラーパススルーMR開発【Unity】 - KAYAC engineers' blog

フルカラーパススルーのMRアプリケーションを、Web XR Exportパッケージを介してWebXRアプリケーションとしてビルドすることで、インストール不要なMRコンテンツとして提供する方法を紹介しています。

SceneViewからRaycastを飛ばして座標を取得したい。

【Unity】SceneViewからRaycastを飛ばして座標を取得したい。 #Unity - Qiita

SceneView.duringSceneGuiをフックして、SceneView上でRaycastを飛ばす方法を紹介しています。

UnityでC#だけでQRを読み込む

UnityでC#だけでQRを読み込む #C# - Qiita

QRCodeを用いてC#のみでQRコードを読み込む実装を紹介しています。

IUnityLinkerProcessorでCodeStrippingからコードを守る

IUnityLinkerProcessorでCodeStrippingからコードを守る

IUnityLinkerProcessor とMono.Cecilを組み合わせてビルド時にlink.xmlを生成することで、特定のパターン(本記事ではZenjectによるバインド)でManaged Stripping Codeによって削除されてしまうコードを保護する方法を紹介しています。

Unityでシグナルハンドリングする

Unityでシグナルハンドリングする #Unity - Qiita

Unity上でシグナル(SIGTERM)をハンドリングするためのネイティブプラグイン実装を紹介しています。

サーバーレスで定数管理!サンプルで学ぶRemote Config

【Unity】サーバーレスで定数管理!サンプルで学ぶRemote Config【Unity Gaming Service】 - うどんてっくメモ

Remote Configのサンプルを触りつつ、リモート上で定数を管理する方法を紹介しています。

タブグループを作ろう!

uGUIでタブグループを実現する方法について、設計方針からその実装、実装したタブグループを用いて選択したタブごとにコンテンツを切り替える実装をそれぞれ紹介しています。

Anjinによる自動テストの活用事例

Anjinによる自動テストの活用事例 #Unity - Qiita

アウトゲームのテスト自動化について、著者の所属する会社でのAnjinとAirTestとのテストの使い分けからAnjinでのテスト事例を紹介しています。

【AudioMixer】exposed parametersの操作クラスを自動生成する

【AudioMixer】exposed parametersの操作クラスを自動生成する #C# - Qiita

著者の開発するAudio Mixerのexposed parametersの操作を自動生成するAudioMixerControllerGeneratorについて、その概要から基本的な使い方を説明しています。

DOTweenでUIアニメーションが連続で呼ばれた時に少しずつズレる問題の解決方法

【Unity】DOTweenでUIアニメーションが連続で呼ばれた時に少しずつズレる問題の解決方法【DOTween】 - Raspberlyのブログ

DOTweenを用いて連続したアニメーションを行うと期待したアニメーションから少しずつズレてしまう問題について、その原因から解決方法を紹介しています。

ATOM Mate for toio サンプル for Unity

ATOM Mate for toio サンプル for Unity #Unity - Qiita

ATOM Mate for toioに搭載されている距離センサーを用いて、障害物から遠ざかるtoio™コア キューブを実装する方法を紹介しています。

LINQのインターフェースでGPUを使いたい!(GPGPU)

LINQのインターフェースでGPUを使いたい!(GPGPU) #C# - Qiita

GPU上での計算をLINQのようなインターフェイスで実現するための実装について解説しています。

「Shaderでif文を使ったら遅い」は正しくない🧐

「Shaderでif文を使ったら遅い」は正しくない🧐 #C# - Qiita

シェーダーでのif文の利用について、分岐の種類の説明から参考としての各種資料、実際の計測結果を紹介しています。

ShaderでのDynamic分岐とGPUのテクスチャプリロード

ShaderでのDynamic分岐とGPUのテクスチャプリロード #C# - Qiita

シェーダーのDynamic分岐とGPUのテクスチャプリロードに関するパフォーマンスの影響を検証しています。

点線って可愛いよねって話

点線って可愛いよねって話

LineRendererの各種パラメーターが見た目にどのように作用するかについて紹介しています。

今更ながらPUN2でマルチプレイを実装してみる

今更ながらPUN2でマルチプレイを実装してみる #C# - Qiita

PUN2を用いたUnityでのマルチプレイゲームの実装方法について、パッケージの導入から基本的な使い方や設定、マルチプレイに関する各種操作の実現方法を紹介しています。

トグルボタンを作ろう!

【Unity入門】トグルボタンを作ろう!【UI】 #Unity - Qiita

トグルボタン(ここでは2つの状態を持ったボタン)について、その設計方針から実装までを解説しています。

Unityでフェイストラッキング

Unityでフェイストラッキング #Unity - Qiita

OpenCVSharpを用いてUnity上でフェイストラッキングを実装する方法を紹介しています。

Object.FindObjectsOfTypeを高速化したObject.FindObjectsByTypeを用いてシーン中に存在する指定された型のオブジェクトを全て列挙する

【Unity】Object.FindObjectsOfTypeを高速化したObject.FindObjectsByTypeを用いてシーン中に存在する指定された型のオブジェクトを全て列挙する - はなちるのマイノート

Object.FindObjectsByTypeについて、概要からこのメソッドの使い方を紹介しています。

Test FrameworkにてType判定するときのIs.TypeOfとIs.InstanceOfの挙動の違いについて

【C#, Unity】Test FrameworkにてType判定するときのIs.TypeOfとIs.InstanceOfの挙動の違いについて - はなちるのマイノート

Is.TypeOfIs.InstanceOfについて、そのメソッドの挙動の違いを説明しています。

BuildOptions.CleanBuildCacheが有効かどうかをEditor.Logから見分ける方法

【Unity】BuildOptions.CleanBuildCacheが有効かどうかをEditor.Logから見分ける方法 - はなちるのマイノート

ビルドログからBuildOptions.CleanBuildCache(ビルドキャッシュが有効かどうか)を見分ける方法を紹介しています。

グラフィックス周りを業務で扱うまでにやったこと

【Unity】グラフィックス周りを業務で扱うまでにやったこと

著者が業務でグラフィックスを扱うために学習した基礎知識や、Unityのレンダリングパイプラインを学ぶために参考にした動画やコンテンツについて紹介しています。

Material '〜' with Shader '〜' doesn't have a color property '_Color'

[Unity]Material '〜' with Shader '〜' doesn't have a color property '_Color' #Unity - Qiita

MaterialやShaderGraphを扱うと発生する Material '〜' with Shader '〜' doesn't have a color property '_Color' のようなエラーを解決する方法を紹介しています。

UnityAdsを導入する

[Unity]UnityAdsを導入する #Unity - Qiita

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

NOVAShaderで作るエフェクト制作Tips

NOVAShaderで作るエフェクト制作Tips|Colorful Palette

NovaShaderを用いたDissolve(エフェクトを消す表現)の設定方法を紹介しています。

ステンシルを試してみる

ステンシルを試してみる|かせー

ステンシルの基本的な使い方を紹介しています。

「UnityWebRequest」でMP3(AudioClip)を取得する方法

【Unity】「UnityWebRequest」でMP3(AudioClip)を取得する方法 | ツバサムスBlog

UnityWebRequestを用いて、外部にあるMP3ファイルを読み込んでAudioClipを取得する方法を紹介しています。

toioで遊んでみた

toioで遊んでみた2 - KAYAC engineers' blog

toio SDK for UnityとAR Foundationを組み合わせて、AR上でタップした点にtoioのコアキューブを移動させるアプリケーションの実装を紹介しています。

Articles

4頂点の色を指定できるRawImageの派生コンポーネント

4頂点の色を指定できるRawImageの派生コンポーネント RawImage4Color #Unity - Qiita

4頂点を指定できる独自のRawImage派生コンポーネントの実装についてその詳細を解説しています。

UnityでOpenPose風のアバタースケルトンを表示する仕組みを作ってみた

UnityでOpenPose風のアバタースケルトンを表示する仕組みを作ってみた - Activ8 Tech Blog

UnityのHumanoidのボーンとOpenPoseのボーンを紐づけ、可視化する方法を紹介しています。

Unity2022 URP14 呟き独歩

URP14のアップデート内容の、主にRenderGraphやRTHandleについてまとめています。

【Android】ランタイムでのClassNotFoundExceptionやNoSuchMethodErrorの解決

【Android】ランタイムでのClassNotFoundExceptionやNoSuchMethodErrorの解決(Vivox利用時)

Androidのネイティブライブラリ側のストリッピングとその対応方法についてまとめています。

Intro to Shader Graph in Unity (Part 4 - The Depth Buffer)

Intro to Shader Graph in Unity (Part 4 - The Depth Buffer)

Shader Graphでデプスバッファを扱う方法について紹介しています。

【MasterMemory】Validatorを使ってマスタデータをバリデーションする

【Unity】【MasterMemory】Validatorを使ってマスタデータをバリデーションする - LIGHT11

MasterMemoryで扱うマスターデーターを、バイナリ化する前にバリデーションする方法について紹介しています。

SpriteRenderer の裏をぼかすシェーダ

SpriteRenderer の裏をぼかすシェーダ - 実践ゲーム製作メモ帳2

SpriteRendererの裏側をぼかすシェーダーの実装を紹介しています。

Unity Loggingのハマりポイントまとめ

Unity Loggingのハマりポイントまとめ

Unity Loggingを利用する際の、各種機能やメソッドの挙動の注意点を紹介しています。