【Unity】ShaderGraphのTexture2DプロパティからTilingとOfsetを設定する

Unity 2020まではTilingとOfsetをプロパティにする場合以下のように組む必要があります Unity 2021(Shadergraph12.0)からはTexture2Dプロパティ内にあるUse Tiling and Ofsetを使用するとTexture2Dプロパティ単体でTilingとOfsetも外部に公開してくれるよう…

【Unity】ShaderGraphでNormalMapの強度を変更する

はじめに 今回はShaderGraphでNormalMapの強度を変更する方法を紹介していきます 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 ノード作成 NormalMapの強度はNormal Strength ノードで変更できます 完成 ランキング参加中Uni…

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

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

【Unity】Cinemachineで作成したLookatが異なるカメラを遷移させたときに回転の遷移がおかしくなる時の対処法

はじめに 今回はCinemachineで作成したLookatが異なるカメラを遷移させたときに回転の繊維がおかしくなる時の対処法を紹介していきます 下記画像みたいにきれいに遷移してくれないことがある 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用…

【Unity】Localizationを使用して言語を切り替えたけどテキストが変わらなかったときに確認するところ

はじめに 今回は】Localizationを使用して言語を切り替えたけどテキストが変わらなかったときに確認するところを紹介します 環境は Unity 2021.3.25f1です Localize String Eventを使用した場合 Update Stringが設定されてることを確認してください GetLocal…

【Unity】Addlistenerした後GameObjectを破棄するとRemoveListenerしてくれるUnityEvent拡張メソッド

はじめに 今回はAddlistenerした後GameObjectを破棄するとRemoveListenerしてくれるUnityEvent拡張メソッドを作成していきます。 環境は Unity 2021.3.25f1です UniRx7.1 を使用しています。 スクリプト using System.Collections; using System.Collections…

【Unity】スクリプトでCinemachineのカメラを揺らすときに揺らす時間を指定する

はじめに 今回はスクリプトでCinemachineのカメラを揺らすときに揺らす時間を指定する方法を消化します。 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 前準備 MainCameraにCinemachineImpulseSourceをアタッチします Virtua…

【Unity】Cinemachineで作成したロックオンカメラにいい感じ機能するColliderを作成する

はじめに こちらの記事を参考にロックオンカメラにした際に障害物をターゲットとの間に挟むとカメラが荒ぶる問題があるのでこれを自作Colliderを作成して解決していこうと思います raspberly.hateblo.jp 環境は Unity 2021.3.25f1です Universal Render Pipe…

【Unity】フローマップを作成できるFLOWMAP PAINTERの紹介

はじめに 今回はフローマップを作成できるFLOWMAP PAINTERの紹介していきます。 インストール 下記サイトからDownload for:でダウンロードしてきます teckartist.com 使い方 zipを解凍してフォルダ内にあるFlowMapPainter.exeを起動することで使用できます。…

【Unity】ShaderGraphでFlowMapを使用してUVを歪ませる

はじめに 今回はShaderGraphでFlowMapを使用してUVを歪ませる方法を紹介します 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 FlowMapの参考 https://learning.unity3d.jp/7010/ light11.hatenadiary.com フローマップの作成…

【Unity】ShaderでTextureの値(0.5)が正確に取得できない

はじめに Shaderで思うようにTextureの値が正確に取得できなかったのでメモ 前提としてsRGBのチェックは外れていて、圧縮はしていないものとします。(値を正確に取得するのに必要なため) 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用して…

【Unity】Cinemachineで作成した3人称カメラにリセット機能を実装する

はじめに BodyをFraming TransposerでAimをPOVに設定した3人称カメラにリセット機能を実装を実装していきます 3人称カメラの作成は下記記事を参考にしました https://raspberly.hateblo.jp/entry/UnityAdventCalendar2022_24#fn-d34631a8 環境は Unity 202…

【Unity】Cinemachineの入力操作を一時的に無効にする

はじめに Cinemachineの入力操作を一時的に無効にする方法を紹介します 環境はUnity 2021.3.25f1です Universal Render Pipeline を使用しています。 旧入力システムの場合 下記クラスのIsInputを変更することで入力を無効にすることができます。 using Syst…

【Unity】ToggleGroup内のToggleでSelectアニメーションを維持できるToggle拡張クラスを作成する

はじめに ToggleGroup内で上記のような設定にした場合UI外部分の画面をクリックするとSelected状態が解除されてしまいます なのでUI外部分の画面をクリックしてもSelected状態が解除されないようにしていきます 環境はUnity 2021.3.25f1です Universal Rende…

【Unity】ShaderGraphでBlinn-Phong鏡面反射を作成する

はじめに 今回はBlinn-Phong鏡面反射を作成していきます。 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 ノード作成 ノード全体図です ハーフベクトル作成部分です。 視線ベクトルとライトのベクトルを足して正規化するとハ…

【Unity】ShaderGraphでPhong鏡面反射を作成する

はじめに 今回はPhong鏡面反射鏡面反射を作成していきます。 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 ノード作成 ノード全体図です 反射ベクトル作成部分です。 ライトの取得はCustomFunctionノードで作成しています #i…

【Unity】ShaderGraphで拡散反射(Diffuse)を作成する

はじめに 今回はShaderGraphで拡散反射(Diffuse)を作成していきます。 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 ノード作成 ノード全体図です 拡散反射は光の向きと法線の内積で表現することができます ライトの取得はCu…

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

はじめに 今回はMatcapシェーダーを作成していきます。 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 MatCapの参考記事 light11.hatenadiary.com ノード作成 実装はシンプルで座標空間をViewにしたNormal Vector(法線)を0~1…

NuGet エラー NU1105の対処法

コマンドプロンプトで下記を実行すれば直ります dotnet restore slnファイルの絶対パス 参考 learn.microsoft.com

【Unity】2022.2からShaderGraphでポストエフェクト(フルスクリーンエフェクト)が作成できるようになったの試してみた

はじめに 2022.2からShaderGraphでポストエフェクト(フルスクリーンエフェクト)が作成できるようになったの試してみました www.youtube.com 環境は Unity 2022.2.0f1です Universal Render Pipeline を使用しています。 作成 ShaderGraphでポストエフェクト…

【Unity】ShaderGraphでオブジェクトの方向によって色が変わるシェーダーを作成する

はじめに 今回はShaderGraphでオブジェクトやカメラの方向によって色が変わるシェーダーを作成していきます。 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 ノード作成 View DirectionノードのXとYを加算したものをFraction…

【Unity】ShaderGraphでポイントライト等のライトを使用する

はじめに 今回はShaderGraphでポイントライト等のライトの使用方法を紹介します 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 DirectionalLightを使用する場合は下記を参考すると良いです redhologerbera.hatenablog.com ノ…

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

はじめに 今回はきらきら光るシェーダーを作成していきます。 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 ノード作成 ノードの全体図です View Directionを使用してオブジェクトの向きが変わったときに色が変わるグラデー…

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

はじめに 今回はShaderGraphで氷シェーダーを作成していきます。 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 ノード作成 ノードの全体図です メインの色部分です。Objectの高さに対してグラデーションで色を設定しています…

【Unity】ShaderGraphのスクリーンショットが保存できる「ShaderGraphToPNG」の紹介

導入方法 github.com Package Managerから Add package via git URLで「https://github.com/Cyanilux/ShaderGraphToPNG.git」 と入力することでパッケージとして追加することができます 使用方法 ShaderGraphの画面を開き、右クリック→「Graph To PNG」でSha…

【Unity】SubGraphの表示を球(3D)表示から2D表示に変更する

はじめに SubGraphを配置すると3D表示になってしまい不便な場合があります。 これを2D表示にする方法を紹介します。 やり方 ShaderGraphのバージョンによってやり方が異なってきます ShaderGraph10.3.0(Unity2020.2.3f1)以降の場合 SubGraphのGraphInspector…

【Unity】ShaderGraphで作成したシェーダーのInspectorを拡張する

はじめに 今回はShaderGraphで作成したシェーダーのInspectorを拡張する方法を紹介します 環境は Unity 2021.3.25f1です Universal Render Pipeline を使用しています。 拡張方法 ShaderGraphで作成したシェーダーのInspectorを拡張する ShaderGraphで作成し…

【Unity】ShaderGraphでメッシュの表と裏で見た目が異なるシェーダーを作成する

はじめに 桜井政博のゲーム作るには チャンネルでエフェクトがキャラの邪魔にならなくするための工夫としてメッシュの表と裏で表示を分けられていました。これをShaderGraphで似たようなものを作成したいと思います 動画上だと表は非表示で裏は通常の描画っ…

【Unity】SubGraph内でDropDownを使用して処理を分岐させる

はじめに Shadergraph内で処理を分岐させる方法にKeywordsがありますがSubGraph内で使用しても入力に表示されません。Branchノードを使用すれば分岐はできますが分岐数が増えるたびに入力にBooleanを増やすのは少し不便です。 SubGraphの入力にKeywordsを追…

【Unity】Packageの変更履歴確認方法

確認方法 ShaderGraph等の変更履歴の確認方法を紹介します。 Package Managerから知りたいPackageを選択し、View changelogをクリックすると変更履歴が確認できます。