渋谷ほととぎす通信

Unity・ゲーム開発 技術で一生食べていく情報発信

Unity

【初めてのSRP】Skyboxを描画するだけのカスタムレンダーパイプラインを作って理解を深めよう!

「初めてのSRP」ということで、最小コードでカスタムレンダーパイプラインを作ってみてSRPのことを理解していこうと思います。

manifest.jsonを変更することなくUnityにローカルパッケージをサクッとインストールする方法

PackageMangerを使わなくても、manifest.jsonを書き換えなくてもローカルの外部パッケージをインストールする方法がありました。

【UI開発】背景を画面に内包すると破綻する理由

本記事は僕も昔やらかしたUI開発初心者が陥りやすい罠について解説していきます。

【Unity】親子でserializeされた同名private変数を定義するとビルドは失敗する

恒例のUnity開発ビルド失敗共有記事です。 今回は以下のようなエラー The same field name is serialized multiple times in the class or its parent class. This is not supported: Base(MonoBehaviour) _tweenTarget 結論から「親・子クラスで同名のシリ…

【Unity】Androidビルドに必要なNDKもUnityHubでインストール

NDKが見つからなくてAndroidビルドに失敗しました。NDKのインストールもUnityHubで。最近のUnityはUnityHubで完結できて良いですね。

【Unity】Androidビルドに必要なJDKはUnityHubでインストール

JDKが見つからなくてAndroidビルドに失敗しました。JDKのインストールもUnityHubで。最近のUnityはUnityHubで完結できて良いですね。

【Unity】ビルド時にはパッケージに名前が必要

恒例のアプリビルドトラブル共有記事。ビルド時にはパッケージ名が必要なんです。

【初心者向け】Unityを使ったUI開発で大事にしている9つのTips🔰

新規ゲーム開発でUIの設計をやったことがない初心者に向けたUI開発9Tipsをお送りします。

DOTweenの教科書をリリースしました!

初学者向けの書籍「DOTweenの教科書」をZennでリリースしました。まとまった情報がなく、体系的に学べる資料を作ってみました。 皆様の開発のお役に立てればと思います。

Unity2021.1ではMemory Profilerのインストール方法が変わります

Unity2021からはUnityのパッケージ運用が変わり、 Experimentalというラベルが追加され、 Experimentalパッケージは標準でリストアップされなくなります。 Experimentalパッケージのインストールについては、 記事にまとめていますのでご参考にどうぞ。 実…

【Unity2021】Experimentalパッケージのインストール方法

Unity2021からExperimentalパッケージが登場します。それに伴いインストール方法も従来のパッケージインストールとは違うため、その紹介をします。

【Unity2021】テクスチャインポートスピードが最大2.7倍高速化する

Unityを扱う者が皆頭を悩ませるテクスチャインポートにやっと大きな改善をもたらしてくれました。

【Unity】Rider機能の使用頻度ランキングとそのショートカット設定

僕はUnityでC#を書く時はRiderを使っています。 言い換えると「UnityでC#を書く時にRider以外使えない体」になっています。旧UnityのソースコードEditorであるMonoDevelopからRiderに移行して数年経ちますが、もはや体の一部のように馴染んでいるように感じ…

【Unity】必ず設定しておくべきPreferencesのVisual Effectsの設定項目

Visual Effect GraphをインストールするとPreferencesにVisual Effectsという項目が並びます。 その中で何を設定しておかなければならないかについて紹介していきます。 各設定項目の設定可否について 表にまとめました。 項目 設定の可否 Experimental Oper…

【Unity】シーンビューからVisual Effectに対してカスタムイベントを呼ぶ方法

Visual Effect Graphではデフォルトで用意しているOnPlay、OnStop以外にカスタムイベントを定義できます。 そのイベントをわざわざソースコードを変更することなく実行する方法紹介です。 先日Visual Effect Graphのイベントについて執筆していますのでどう…

【Unity】Visual Effect GraphのイベントIDはShader.ProperyToIDで取得する

先日Visual Effect Graphのビルトインイベントについて記事を書きました。その関連記事です。 SendEventメソッドはオーバーロードで引数をint型も受け付けます。 int型で渡す場合、文字列のイベントをint型に変換する必要があります。 ShaderPropertyでID変…

【Visual Effect Graph】PointCacheToolで出力されるメッシュのサイズを修正する方法

PointCacheを使うとVisual Effect Graphの表現が広がります。 例えば下のような牛モデルを用意して、Visual Effect Graph付属のPointCacheToolでPointCacheを作成します。 それをVisual Effect Graphに食わせてやれば、パーティクルの発生源を以下のようにメ…

Visual Effect GraphはWebGLでは動かない件(2020年11月執筆時)

「まあ、そりゃそうだ」 という記事なのですが、せっかくやったことはアウトプットしておきたい派です。 Visual Effect Graphはコンピュートシェーダに依存 コンピュートシェーダはOpenGL ES 3.1以降に実装されている技術でVisual Effect Graphはそれを使っ…

【Unity】Visual Effect Graphでパーティクルを指定した座標を向くようにする方法

ParticleSystem(Shuriken)では出来なかった事シリーズです。ParticleSystemでは放出したパーティクルをあとからどうこうするということは出来ませんでした。 Visual Effect GraphではUpdate Particle Contextノードを使って毎フレーム処理を仕込む事ができま…

【Unity】Visual Effect Graphのデフォルトで定義されているイベント

Visual Effect Graphでは任意のイベントを作成することが出来ますが、デフォルトで定義されているイベントも存在します。 OnPlay OnStop この2つはVisualEffectAssetクラス内で定義されています。 ソースコードのコピペ(一部抜粋)は以下です。 例えばOnPlay…

【Unity】Visual Effect Graphを生成直後に再生させない方法

ParticleSystemでいう所のPlay On Awake(Awake時にパーティクルを再生させるフラグ)をVisual Effect Graphでどうやって実装するか?という話です。 OnStopをInitial Event Nameにセット 上記のようにOnStopイベントをInitial Event NameにセットするとVisual…

【初心者向け】Visual Effect Graph面白いなと思った事3点紹介というLTをしてきました

先日エンジニアLTで最近勉強中のVisual Effect GraphについてLT発表してきました。その資料を共有したいと思います。 最後までご覧頂きありがとうございます。 もしスライド中の動画やリンクが気になった方は以下がオリジナルスライドになりますので、そちら…

【Unity】Universal Render PipelineでVisual Effect Graphの始め方(ポストエフェクト付き)

High Definition Render Pipeline(以下 : HDRP)使用時にはVisual Effect Graph(以下 : VFXGraph)はデフォルトでくっついてきますので、特に追加の準備をすることはありません。一方、Universal Render Pipeline(以下 : URP)使用時にはデフォルトでインストー…

【Visual Effect Graph】StartとStopに同名のイベントを設定してはいけない件

久々のブログです。 最近Unityの次世代パーティクルシステムVisual Effect Graph(以下:VFXGraph)で遊んでいます。 VFXGraphとはGPUパーティクルシステムです。ノードベースで処理をつなげることが出来るため、エンジニアからアーティストまで幅広く使われそ…

Verdaccioでローカルのnpmサーバーを立ててUnityPackageManagerにプライベートリポジトリを使う

前回からの続きで、プライベートリポジトリをUnity PackageManagerで使うためにnpmサーバーをローカルに立ててみます。 有名なVerdaccioを使います。Verdaccioは無料でnpmサーバーを作ることが出来ます。 ※nodejs、npmのインストールについては割愛します。 …

UnityのPackageManagerプライベートリポジトリの調査

結論 プライベートリポジトリは専用のレジストリサーバーを立てる必要がある。 ※レジストリサーバーを立ててプライベートリポジトリをUnityPackageManagerで使用する記事を書きました。 経緯 UnityのPackageManagerを使うにあたって、プライベートリポジトリ…

OpenUPMからDOTweenをインストールする

OpenUPMはおそらく個人で開発のパブリックレジストリを提供しているプロジェクトです(多分)。 今回はこのOpenUPMからDOTweenをインストールして、UnityのPackageManagerで管理することにします。今までだとAssetStoreやgithubからダウンロードしてProject内…

ShaderGraph テクスチャの参照をシェーダに渡す部分でハマる。_MainTexはどこ?

Unityにて、 UniversalRP ShaderGraph この2つを使った描画の検証をしています。 ShaderGraphで書いたシェーダに外からテクスチャをスクリプトで渡す際に軽くつまづいたので共有します。 作っているもの カラーテクスチャとマスクテクスチャを渡したマスクシ…

macOS CatalinaとUnityの相性悪いんじゃないか説

macOS Catalinaに先日アップデートしました。 それ自体に問題はありません。 しかしUnityで開発中時々登場するダイアログ↑。 Developer Tools Accessは、デバッグを続行するために別のプロセスを制御する必要があります。これを許可するには、パスワードを入…

AndroidがUnityProfilerにつながらない時にチェックした5つの事

環境 Windows10 Unity2019.3.15f1 Pixel3XL UnityProfilerに実機のAndroidをつないでテストしたいときにつながらない!!っていう時が発生したので、その対応をログっておきます。 ※有線(USBケーブルにつないで)テストです そもそも実機ビルド出来ない時の対…