Advertisement

在Unity Shader中,顶点坐标的大小可能会受制于Draw Batch的合并过程

阅读量:

近期,美术团队成员希望我协助完成一款能够实现由内至外光线流动效果的着色器,其视觉呈现效果类似于下图所示。

最初设想是借助模型的顶点坐标信息:在构建美术模型时,将模型的原点设定于几何中心。这样可以在vertex shader中通过计算length(i.vertex)来获取每个顶点与中心点之间的距离,从而在fragment shader中判断每个像素是否需要呈现流光效果。

随后,我决定进行一次测试,以观察Unity中模型顶点的分布特征。为此编写了一个shader程序,使靠近原点的顶点呈现出偏黑色调,而远离原点的顶点则逐渐趋向于红色。

复制代码
    Shader "Custom/VisualizeVertexPos" {
    SubShader {
        Pass {
            Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
            Blend SrcAlpha OneMinusSrcAlpha
            Cul

全部评论 (0)

还没有任何评论哟~