teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ラインマテリアルの例を追記

2019/11/03 19:11

投稿

Bongo
Bongo

スコア10816

answer CHANGED
@@ -49,4 +49,66 @@
49
49
 
50
50
  下図のようにエラーメッセージが表示され、`GetPositions`の返り値は1となっています。
51
51
 
52
- ![図2](547d9f436ac2433b2a98067a8870ec5f.png)
52
+ ![図2](547d9f436ac2433b2a98067a8870ec5f.png)
53
+
54
+ **ラインマテリアルの例**
55
+ ```ShaderLab
56
+ Shader "Unlit/UnlitLine"
57
+ {
58
+ Properties
59
+ {
60
+ _MainTex ("Texture", 2D) = "white" {}
61
+ }
62
+ SubShader
63
+ {
64
+ Tags { "RenderType"="Opaque" }
65
+
66
+ Pass
67
+ {
68
+ CGPROGRAM
69
+ #pragma vertex vert
70
+ #pragma fragment frag
71
+ #pragma multi_compile_fog
72
+
73
+ #include "UnityCG.cginc"
74
+
75
+ struct appdata
76
+ {
77
+ float4 vertex : POSITION;
78
+ fixed4 color : COLOR; // 入力データとして頂点色を追加する
79
+ float2 uv : TEXCOORD0;
80
+ };
81
+
82
+ struct v2f
83
+ {
84
+ float2 uv : TEXCOORD0;
85
+ fixed4 color : COLOR; // v2fにも色データを追加する
86
+ UNITY_FOG_COORDS(1)
87
+ float4 vertex : SV_POSITION;
88
+ };
89
+
90
+ sampler2D _MainTex;
91
+ float4 _MainTex_ST;
92
+
93
+ v2f vert (appdata v)
94
+ {
95
+ v2f o;
96
+ o.vertex = UnityObjectToClipPos(v.vertex);
97
+ o.uv = TRANSFORM_TEX(v.uv, _MainTex);
98
+ o.color = v.color; // 頂点色をセットする
99
+ UNITY_TRANSFER_FOG(o,o.vertex);
100
+ return o;
101
+ }
102
+
103
+ fixed4 frag (v2f i) : SV_Target
104
+ {
105
+ fixed4 col = tex2D(_MainTex, i.uv) * i.color; // 受け渡された色を乗算する
106
+ UNITY_APPLY_FOG(i.fogCoord, col);
107
+ return col;
108
+ }
109
+ ENDCG
110
+ }
111
+ }
112
+ Fallback "Diffuse" // Diffuseに影落としを代行させる
113
+ }
114
+ ```