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

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

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

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Q&A

0回答

710閲覧

[Unity] 旗をひらひらさせるシェーダーで軸の向きはどっちがどっちなのか知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

0グッド

0クリップ

投稿2021/07/23 05:20

提示コードのコメント部内部のコードですがpos.x,pos.y,.pos.zのコードですがこの場合どっちがどっちの軸なのでしょうか?画像から見て赤軸の向きがXプラスなのでしょうか?その辺がわからないです。

イメージ説明
参考サイト: https://baba-s.hatenablog.com/entry/2018/09/11/170000

cs

1// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' 2 3Shader "Custom/Flag" 4{ 5 Properties 6 { 7 _MainTex("Texture", 2D) = "white" {} 8 _Ambient("Ambient", Range(0, 1)) = 0.2 9 [Header(Waves)] 10 _WaveSpeed("Speed", float) = 0.0 11 _WaveStrength("Strength", Range(0.0, 1.0)) = 0.0 12 } 13 SubShader 14 { 15 Tags { "RenderType" = "Opaque" "LightMode" = "ForwardBase" } 16 Cull Off 17 18 Pass 19 { 20 CGPROGRAM 21 #pragma vertex vert 22 #pragma fragment frag 23 #include "UnityCG.cginc" 24 25 struct v2f { 26 float4 pos : SV_POSITION; 27 float4 vertex : TEXCOORD1; 28 float2 uv : TEXCOORD0; 29 }; 30 31 fixed4 _LightColor0; 32 float _Ambient; 33 34 // Compute the diffuse light 35 fixed3 diffuseLambert(float3 normal) 36 { 37 float diffuse = max(_Ambient, dot(normalize(normal), _WorldSpaceLightPos0.xyz)); 38 return _LightColor0.rgb * diffuse; 39 } 40 41 float _WaveStrength; 42 float _WaveSpeed; 43//////////////////////////////////////////////////////////////////////////////////////////// 44 // Deformation 45 float4 movement(float4 pos, float2 uv) 46 { 47 float sinOff = (pos.x + pos.y + pos.z) * _WaveStrength; 48 float t = _Time.y * _WaveSpeed; 49 float fx = uv.x; 50 float fy = uv.x * uv.y; 51 pos.x += sin(t * 1.45 + sinOff) * fx * 0.5; 52 pos.y = sin(t * 3.12 + sinOff) * fx * 0.5 - fy * 0.9; 53 pos.z -= sin(t * 2.2 + sinOff) * fx * 0.2; 54 return pos; 55 } 56//////////////////////////////////////////////////////////////////////////////////////////// 57 v2f vert(appdata_base v) 58 { 59 v2f o; 60 o.vertex = v.vertex; 61 o.pos = UnityObjectToClipPos(movement(v.vertex, v.texcoord)); 62 o.uv = v.texcoord; 63 return o; 64 } 65 66 sampler2D _MainTex; 67 68 fixed4 frag(v2f i) : SV_Target 69 { 70 fixed4 col = tex2D(_MainTex, i.uv); 71 return col; 72 } 73 74 ENDCG 75 } 76 } 77}

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問