知識0からのUnityShader勉強

知識0からのUnityShader勉強

UnityのShaderをメインとして、0から学んでいくブログです。

【UniRx】ファクトリメソッドオペレータ #93

前回の成果 UniTaskのキャンセルについて学んだ。 soramamenatan.hatenablog.com 今回やること UniRxで何かしたいときに、どのオペレータを呼べばよいのか混乱したので、具体例も合わせてまとめます。 前回の成果 今回やること ファクトリメソッド 値を1つだ…

【Unity】UniTask【3】 #92

前回の成果 UniTaskのAwaiterについて学んだ。 soramamenatan.hatenablog.com 今回やること 前回に引き続き、UniTaskについて学んでいきます。 キャンセル 非同期処理ではキャンセルについて考えなければなりません。 UniTaskも同様に、何らかの原因で例外が…

【Unity】UniTask 【2】#91

前回の成果 UniTaskの大まかな概要と静的なメソッド群について学んだ。 soramamenatan.hatenablog.com 今回やること 前回に引き続き、UniTaskについて学んでいきます。 Awaiter Awaiterとは、オブジェクトのawaitに必要なものとなっています。 あるオブジェ…

【Unity】UniTask 【1】#91

前回の成果 UniRxのHotとColdについて理解した。 soramamenatan.hatenablog.com 今回やること UniTaskについて学びます。 UniTaskとは Unityでasync/awaitを最高のパフォーマンスで実現するライブラリ UniTask – Unityでasync/awaitを最高のパフォーマンスで…

【UniRx】HotとCold #90

前回の成果 UniRxとコルーチンの変換について学んだ。 soramamenatan.hatenablog.com 今回やること UniRxのHotとColdについて学びます。 HotとColdとは IObservableの性質になります。 これらを理解せずにUniRxを使用すると意図せぬ挙動となる場合があります…

【Unity】UniRx 【6】#89

前回の成果 Updateをストリームに変換するメリットを学んだ。 soramamenatan.hatenablog.com 今回やること 引き続き以下サイト様の手順に習って、UniRxを学んでいきます。 qiita.com 事前準備 アセットストアからUniRxをインポートします。 assetstore.unity…

【Unity】UniRx【5】 #88

前回の成果 ストリームソースを用意する方法を学んだ。 soramamenatan.hatenablog.com 今回やること 引き続き以下サイト様の手順に習って、UniRxを学んでいきます。 qiita.com 事前準備 アセットストアからUniRxをインポートします。 assetstore.unity.com U…

【Unity】UniRx【4】 #87

前回の成果 ストリームソースを用意する方法として、SubjectシリーズとReactivePropertyシリーズを学んだ。 soramamenatan.hatenablog.com 今回やること 引き続き以下サイト様の手順に習って、UniRxを学んでいきます。 qiita.com 事前準備 アセットストアか…

【Unity】UniRx【3】 #86

前回の成果 IObserverインターフェースとストリームの寿命について学んだ。 soramamenatan.hatenablog.com 今回やること 引き続き以下サイト様の手順に習って、UniRxを学んでいきます。 qiita.com 事前準備 アセットストアからUniRxをインポートします。 ass…

【Unity】UniRx【2】 #85

前回の成果 UniRxの一連の流れを学んだ。 soramamenatan.hatenablog.com 今回やること 引き続き以下サイト様の手順に習ってUniRxの勉強をします。 qiita.com 事前準備 アセットストアからUniRxをインポートします。 assetstore.unity.com IObserverインター…

【Unity】UniRx【1】 #84

前回の成果 ソーベルフィルタについて学んだ。 soramamenatan.hatenablog.com 今回やること UniRxについて学んでいきます。 以下のサイト様の手順に習って学んでいきます。 qiita.com 事前準備 アセットストアからUniRxをインポートします。 assetstore.unit…

【UnityShader】ソーベルフィルタ #83

前回の成果 ロドリゲスの回転公式を理解した。 soramamenatan.hatenablog.com 今回やること ソーベルフィルタを使用して、鉛筆で書いたようなShaderを制作します。 事前準備 Scene上にオブジェクトを配置します。 自分はアニメーションするものを配置したか…

【UnityShader】ロドリゲスの回転公式 【2】#82

前回の成果 ロドリゲスの回転公式のベクトル表現を理解した。 soramamenatan.hatenablog.com 今回やること ロドリゲスの回転公式のベクトル表現を行列で表現します。 正射影ベクトル まずは、のを行列表現します。 そのために、ベクトル射影の行列表現という…

【UnityShader】ロドリゲスの回転公式 【1】#81

前回の成果 回転行列を理解した soramamenatan.hatenablog.com 今回やること 前回の回転行列をもっと簡単に解きます。 事前準備 Scene上にCubeを配置します。 Cubeに今回制作したマテリアルをアタッチします。 自分は回転を見やすくするためにUnityのデフォ…

【UnityShader】回転行列 #80

前回の成果 uGUIのImageを揺らした。 soramamenatan.hatenablog.com 今回やること 回転行列について理解します。 事前準備 Scene上にCubeを配置します。 Cubeに今回制作したマテリアルをアタッチします。 自分は回転を見やすくするためにUnityのデフォルトの…

【UnityShader】uGUIのImageを揺らす #79

前回の成果 ShaderLabのプロパティ属性について理解した。 soramamenatan.hatenablog.com 今回やること uGUIのImageを揺らそうと思います。 事前準備 Scene上にImageを配置し、今回制作するマテリアルをアタッチします。 UnityのShader勉強4 テクスチャを貼…

【UnityShader】ShaderLabのプロパティ属性 【2】#78

前回の成果 ShaderLabのプロパティの属性について理解した。 soramamenatan.hatenablog.com 今回やること 前回に引き続き、ShaderLabのプロパティの属性について解説します。 Toggle 対象のプロパティがチェックボックスになり、ONのときは1をOFFのときは0を…

【UnityShader】ShaderLabのプロパティ属性 【1】#77

前回の成果 ポリゴン分解シェーダーを制作した。 soramamenatan.hatenablog.com 今回やること ShaderLabのプロパティの属性について解説します。 プロパティの属性とは パラメーターに対して、inspector上から値を設定することが出来るものになります。 Hide…

【UnityShader】ポリゴン分解シェーダー #76

前回の成果 シンプルなGeometry Shaderの中身を理解した。 soramamenatan.hatenablog.com 今回やること Geometry Shaderを使用して、ポリゴンを分解します。 事前準備 Scene上にSphereを配置します。 そして、今回制作するMaterialをアタッチしてください。 …

【UnityShader】Geometry Shader 基礎【2】 #75

前回の成果 Geometry Shaderの概要とMacでのグラフィックスAPIの変更を行った。 soramamenatan.hatenablog.com 今回やること Geometry Shaderの中身を理解していきます。 ソースコード Shader "Unlit/GeometrySimple" { Properties { _Color ("Color", Color…

【UnityShader】Geometry Shader 基礎【1】 #74

前回の成果 uGUIを用いて波紋を出した。 soramamenatan.hatenablog.com 今回やること Geometry Shaderの基礎を理解します。 事前準備 Scene上にSphereを配置します。 そして、今回制作するMaterialをアタッチしてください。 ソースコード Shader "Unlit/Geom…

【UnityShader】uGUIで波紋を出す #73

前回の成果 uGUIのImageをズラした。 soramamenatan.hatenablog.com 今回やること uGUIに波紋を出します。 事前準備 まず、Scene上にImageを配置します。 Imageに 適当な画像 今回制作したScript 上記2点をアタッチして準備完了となります。 UnityのShader勉…

【UnityShader】uGUIのImageをズラす 【3】#72

前回の成果 uGUIのImageをズラすScriptのUpdate関数まで学んだ。 soramamenatan.hatenablog.com 今回やること 前回、前々回に引き続き、uGUIのImageをズラすことをしていこうと思います。 Shader Shader "Unlit/OnMouseMoveImage" { Properties { [PerRender…

【UnityShader】uGUIのImageをズラす 【2】#71

前回の成果 uGUIのImageをズラすScriptのStart関数まで学んだ。 soramamenatan.hatenablog.com 今回やること 前回に引き続き、uGUIのImageをズラすことをしていこうと思います。 Update関数 こちらにuGUIをズラしています。 正確に言うと、マウスの移動量を…

【UnityShader】uGUIのImageをズラす 【1】#70

前回の成果 SerializedObjectについて学んだ。 soramamenatan.hatenablog.com 今回やること Shaderを使用して、uGUIのImageをズラしていきます。 事前準備 まず、Scene上にImageを配置します。 Imageに 適当な画像 今回制作したScript 上記2点をアタッチして…

【UnityEditor拡張】SerializedObject #69

前回の成果 カメラを用いたエフェクトを制作した。 soramamenatan.hatenablog.com 今回やること SerializedObjectについて学びます。 事前準備 Scene上に今回のScriptをアタッチする用の空のGameObjectを配置してください。 SerializedObjectとは シリアライ…

【UnityShader】カメラからのエフェクト #68

前回の成果 CommandBufferを用いてブラーをかけることができた。 soramamenatan.hatenablog.com 今回やること カメラを用いて、エフェクトを制作します。 今回は、解説というよりは見せ方として参考になるので共有に近いです。 www.shibuya24.info 事前準備 …

【UnityShader】CommandBufferでブラーをかける 【2】#67

前回の成果 ブラーをかけるシェーダー側の処理を理解した。 soramamenatan.hatenablog.com 今回やること 前回の続きから行っていきます。 edom18.hateblo.jp ソースコード using System.Collections.Generic; using UnityEngine; using UnityEngine.Renderin…

【UnityShader】CommandBufferでブラーをかける 【1】#66

前回の成果 ガウシアンブラーを理解した。 soramamenatan.hatenablog.com 今回やること 前回のガウシアンブラーをCommand Bufferから行います。 edom18.hateblo.jp 事前準備 まず、Scene上に適当な大きさのCubeを配置します。 次に、Cubeが覆いかぶさるくら…

【UnityShader】ガウシアンブラー【2】 #65

前回の成果 soramamenatan.hatenablog.com 今回やること 前回に引き続き、ガウシアンブラーについて説明します。 今回はShaderについて解説するので、Shaderのソースを添付します。 ソースコード Shader "Unlit/GaussianBlur" { Properties { _MainTex ("Tex…