在我的统一项目中,我有一把枪。当我射击时,从枪管中射出一颗子弹(带有红色轨迹)。我注意到,小路是深红色的,有时是浅红色的,我不知道为什么......
我该怎么做才能喜欢这张图片?(图片中的这个游戏叫做使用unity创建的superhot)
最后一张图,子弹的轨迹是正方形或三角形……
这是一种volumetric line rendering
。
您可以在此处找到有关它的参考:
https
://www.assetstore.unity3d.com/kr/#!/content/29160
通常它会花费很多,因为它需要在着色器中进行多通道渲染。而且轨迹渲染器是一个低多边形(只是三角形条带),如果您应用这样的假发光着色器,结果并不好。
Shader "Test/Glow" {
Properties {
_Color ("Color", Color) = (1,1,1,1)
}
SubShader {
Tags { "Queue"="Transparent" }
LOD 200
ZTest Always
Cull Off
Blend One One
CGPROGRAM
#pragma surface surf Lambert
float4 _Color;
struct Input {
float3 viewDir;
float3 worldNormal;
};
void surf (Input IN, inout SurfaceOutput o) {
o.Alpha = _Color.a * pow(abs(dot(normalize(IN.viewDir),
normalize(IN.worldNormal))),4.0);
o.Emission = _Color.rgb * o.Alpha;
}
ENDCG
}
FallBack "Diffuse"
}
(另一个发光着色器:http: //qiita.com/edo_m18/items/b5ad2490b73126489c07)
我认为模仿这种渲染的最便宜的方法是
1) 创建或查找一个Additive Transparent Shader
.
2)创建一个浅色纹理(中心为红色,边缘为渐变)
3)将着色器附加到材质。
4) 将材质应用到轨迹渲染器。