質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

0回答

617閲覧

unityのシェーダーについて

rehmanaqiique

総合スコア0

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/10/05 07:33

前提・実現したいこと

ペンライトを振っているようなエフェクトをシェーダーで表現したいのですが動いてすらくれません

該当のソースコード

Shader "Custom/Cyalume" { Properties { _BaseColor ("Base Color", Color) = (0.0, 1.0, 0.0) _WaveFactorX("Wave Factor X", Range(0.0, 2.0)) = 0.0 _WaveFactorZ("Wave Factor Z", Range(0.0, 2.0)) = 0.0 _WaveCorrection("Wave Correction", float) = 0.3 _Pitch("Wave Pitch", float) = 1.0 _Delay("Delay by Distance", float) = 0.02 _Bend("Bend", float) = 0.3 _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Tags { "Queue" = "Transparent" "RenderType" = "Transparent" } Blend SrcAlpha One Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #define PI 3.14159 #include "UnityCG.cginc" uniform float _WaveFactorX; uniform float _WaveFactorZ; uniform float _WaveCorrection; uniform float _Pitch; uniform float _Delay; uniform float _Bend; uniform float _WaveFactorY; uniform float4 _BaseColor; uniform sampler2D _MainTex; struct v2f { float4 position : SV_POSITION; fixed4 color : COLOR; float2 uv : TEXCOORD0; }; v2f vert(appdata_full v) { float wave = 2 * PI * _Time.x * 1000 / 60 / _Pitch; float delay = _Delay * v.vertex.z; float bendX = _Bend * v.texcoord.x; float angleX = wave + delay + bendX; float bendY = _Bend * v.texcoord.y; float angleY = wave + delay + bendY; float bendZ = _Bend * v.texcoord.z; float angleZ = wave + delay + bendZ; float lean = sin((v.texcoord.y + 0.5) * PI) - 1.0; v.vertex.x += _WaveFactorX * sin(angleX) * lean; v.vertex.y += (_WaveFactorX + _WaveFactorZ) * _WaveCorrection * (1.0 - pow(cos(angleX), 2.0)) * lean; v.vertex.z += _WaveFactorZ * sin(angleZ) * lean; // Parameters given to fragment shader v2f o; o.position = UnityObjectToClipPos(v.vertex); o.uv = v.texcoord; o.color = v.color; return o; } fixed4 frag(v2f i) : COLOR { fixed4 tex = tex2D(_MainTex, i.uv); tex.rgb *= _BaseColor * i.color.rgb; tex.a *= i.color.a; return tex; } ENDCG } } Fallback "VertexLit" }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問