Unity

【Unity】shurikenエフェクトを最初から再生する

Clearを呼ぶことで再生状況をリセットできます using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// Shurikenエフェクト /// </summary> public class TestEffectObject : MonoBehaviour { [SerializeField] ParticleSystem eff…

【Unity】TerainのCollisionをOnにしておかないと塗れない

Terain ColliderをONにしておかないと木の配置等できないので注意する必要があります 処理負荷の軽減のためにOFFにしてたらハマったのでメモ

【Unity】VFXGraphを途中から再生する

Simulateを使用すると途中から再生することができます docs.unity3d.com using UnityEngine; using UnityEngine.VFX; public class Test : MonoBehaviour { public VisualEffect effect; // Update is called once per frame void Update() { if(Input.GetKe…

【Unity】値を正規化する

0~100の間で10だったら0.1を返して欲しいとき等特定の値が指定した範囲のどこにあるか調べるとき使用する コード public float NormalizeValue(float value,float min, float max) { var output = 0.0f; output = (value - min) / (max - min); return Math…

【Unity】VFXgraphのInstancingを設定して大量に配置できるようにする

はじめに 環境はUnity 2023.2です やり方 VFXgraphを大量に配置するとFPSがかなり低下します 下記画像は1000個生成したときのものです。FPSが40前後になってます VisualEffectAssetファイルのInstancing設定をCustom batch capacityかAutomatic batch capaci…

【Unity】ShaderGraphで使用できる半透明オブジェクト含む背景テクスチャ_CameraTransparentTextureを作成、表示できるパスを追加する(URP14版)

はじめに bravememo.hatenablog.com これのURP14版のやり方を紹介します 環境は Unity 2022.2です コード 下記クラスを作成したら前の記事のようにRendererFeatureに登録すれば_CameraTransparentTextureを使用することができます using UnityEngine; using …

【Unity】MaterialのSetBool拡張メソッドを作成する

はじめに MaterialにSetBoolはないみたいなのでSetBoolの拡張メソッドを作成していきます forum.unity.com コード using System.Collections; using UnityEngine; public static class MaterialExtension { public static void SetBool(this Material materi…

【Unity】ShaderGraphでUI用シェーダーを作成する

はじめに Unity2023.2からShaderGraphでUI用シェーダーが作成できるようになったので紹介していきたいと思います 環境は Unity 2023.2です Universal Render Pipeline を使用しています。 やり方 Canvas ShaderGraphを作成することでUI用シェーダーを作成す…

【Unity】ShaderGraphでコメントをつける

はじめに 今回はShaderGraphでコメントつける方法を紹介します 環境は Unity 2023.2です やり方 右クリック→Create Sticky Noteを選択することでコメントが書けるNoteが生成されます ここにコメントを書くことができます Noteを右クリックすることで文字の大…

【Unity】VFXGraphでTimeScaleの影響を受けないようにする

はじめに 今回はVFXGraphでTimeScaleの影響を受けないようにする方法を紹介します 環境は Unity 2022.3です やり方 VisualEffectAsset内にあるIgonreTimeScaleをオンにするとそのエフェクトはTimeScaleの影響を受けなくなります 個別のエフェクトをスローさ…

【Unity】VFXGraphでスクリプトからスロー再生させる

はじめに playRateを使用することでエフェクトの再生速度を変えることができます コード エフェクトを0.5倍速するテストコードです using System.Collections; using UnityEngine; using UnityEngine.VFX; public class TestScene : MonoBehaviour { public …

【Unity】すべての子や孫から指定した名前のオブジェクトを取得する拡張メソッド

はじめに Transform.Findだと子のオブジェクトしか検索できないのですべての子や孫から指定した名前のオブジェクトを取得する拡張メソッドを作成していきます コード using System.Collections; using System.Collections.Generic; using UnityEngine; using…

【Unity】Publicな変数を編集できないようにするCustom Attributeを作成する

はじめに Publicな変数を編集できないようにするReadOnlyなCustom Attributeを作成します スクリプト using UnityEngine; using UnityEditor; public class ReadOnlyAttribute : PropertyAttribute { } [CustomPropertyDrawer(typeof(ReadOnlyAttribute))] p…

【Unity】ShaderGraphでグローバル変数を使用する

はじめに 今回はShaderGraphでグローバル変数を使用する方法を紹介していきます。 環境はUnity 2022.3です Universal Render Pipeline を使用しています。 やり方 スクリプト側でグローバル変数を設定します using System.Collections; using System.Collect…

【Unity】指定したパス内にあるテクスチャのパスをすべて取得する

はじめに 今回は指定しパス内にあるテクスチャのパスをすべて取得する方法を紹介します 環境は Unity 2021.3.25f1です コード Directory.GetFilesでパス内にあるファイルを取得できるのでそれを活用します using System.Collections; using System.Collectio…

【Unity】VFXEventAttributeとcustom spawner blockを使用してスクリプトの値をVFXGraph内で使用する

はじめに スクリプトの値をVFXGraph内で使用する方法を紹介します 環境は Unity 2022.3.1です コード custom spawner block内にあるVFXSpawnerStateのvfxEventAttributeでSet○○を呼ぶことでCustoumAttributeの値をセットすることができます パラメーター名は…

【Unity】VFXGraphでパーティクルをGameObjectに追従させないようにする

はじめに 今回はVFXGraphでパーティクルをGameObjectに追従させないようにする設定方法を紹介します 初期設定だとすべてのパーティクルが追従してしまう 環境は Unity 2022.3.1です 追従させないようにする SpaceをWordに設定させます これで追従しないよう…

【Unity】VFXGraphでShaderGraphを使用する

はじめに 今回はVFXGraphでShaderGraphを使用する方法を紹介します バージョンごとにやり方が違うのでそれぞれ紹介します ShaderGraph側の設定 Graph SettingsからSupport VFX Graphを有効にします 参考 docs.unity3d.com VFXGraphでShaderGraphを使用できる…

【Unity】VFXGraphで使用できる自作ブロック (custom spawner block)を作成する

はじめに 今回はVFXGraphで使用できる自作ブロック (custom spawner block)を作成する方法を紹介します 環境は Unity 2022.3.1f1です 作成方法 VFXSpawnerCallbacksクラスを継承することでCustom spawner blockを作成することができます using System.Collec…

【Unity】ShaderGraphでオブジェクトを回転させるシェーダーを作成する

はじめに 今回はオブジェクトを回転させるシェーダーを作成していきます。 環境は Unity 2022.3.です Universal Render Pipeline を使用しています。 ノード作成 頂点シェーダーでRotate About Axis ノードを使用することで特定の軸で回転させることができま…

【Unity】VFXGraphを最初から再生する拡張メソッド

はじめに 今回はVFXGraphを最初から再生する拡張メソッドを作成していきます。 環境は Unity 2021.3.25f1です コード using System.Collections; using UnityEngine; using UnityEngine.VFX; /// <summary> /// VFXGraphの拡張メソッド /// </summary> public static class Visu…

【Unity】指定した型の公開しているVFXGraphのプロパティを取得する

はじめに 指定した型の公開しているVFXGraphのプロパティを一括で取得する方法を紹介します。 環境は Unity 2021.3.25f1です スクリプト作成 visualEffectAssetクラスのGetExposedPropertiesですべてのプロパティを取得できます。 docs.unity3d.com using Sy…

【Unity】ShaderGraphで点滅させるシェーダーを作成する

はじめに 今回は点滅させるシェーダーを作成していきます。 環境は Unity 2022.3です Universal Render Pipeline を使用しています。 ノード作成 点滅させるやり方としてFractionノード使用することが多いですがWaveノードを使用しても実現できます ざっくり…

【Unity】エディタでUnityにログインしているかの確認方法

Unity 2020の確認方法 エディタ右上で確認できます Unity 2021の確認方法 エディタ左上で確認できます

【Unity】作成したInputActionをGetKeyDownみたいに使用する

はじめに 作成したInputActionの使用方法がコールバックを登録する使い方しか出てこずif(GetKeyDown~みたいに使用する方法がみつからなかったのでメモ 環境は Unity 2021.3.25f1です スクリプト作成 actionsから指定したInputActionを取得できるのでそれを…

【Unity】Graphic.canvasでは非アクティブなCanvasを取得しない

はじめに 環境は Unity 2021.3.25f1です Graphic.canvasでは非アクティブなCanvasを取得しない Graphic.canvasはGetComponentsInParent(false)で検索、取得するので非アクティブなCanvasは取得できないみたいです。 using UnityEngine; using UnityEngine.UI…

【Unity】ShaderGraphでTextureを作成できるShaderGraphBakerの紹介

はじめに 今回はShaderGraphでTextureを作成できるShaderGraphBakerの紹介していきます。 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 インストール まず最初にAdd package from git URL...で下記の2つを追加します URL : c…

【Unity】Timelineの自作Makerをエディタ時も実行されるようにする

はじめに 今回はTimelineの自作Makerをエディタ時も実行する方法を紹介していきます。 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 ノード作成 INotificationOptionProviderのTriggerInEditMode(ビット演算)を有効にすると…

【Unity】ShaderGraphでノード整理するための小技「RedirectNode」の紹介

はじめに 今回はRedirectNodeの紹介をしていきます 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 やり方 線に対してダブルクリック、または右クリック→Add RedirectNodeを選択することで使用できます 線に対して中継地点を持…

【Unity】ShaderGraphで作成したUnlitシェーダーにFogを適用させる

はじめに ShaderGraphで作成したUnlitシェーダーはUnity標準のFogが適用されてないので適用させる方法を紹介します Fogが適用されてない。LitだとFogは適用されます 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 ノード作成 …