Unity游戏冰霜效果的实现及思考.docxVIP

  • 16
  • 0
  • 约5.12千字
  • 约 16页
  • 2017-03-13 发布于四川
  • 举报
Unity游戏冰霜效果的实现和思考Unity游戏中如何做出冰霜效果呢?冰霜的覆盖效果在游戏中很常见,那么是如何制作出来的呢,让我们来了看看原因,首先我们需要一个模型,如下图所示:?1.常规的冰霜,最简单的要数霜冻的颜色变化,只需要减少亮度,增加蓝色分量。?片段着色器:?texcol *= fixed4(0.9, 0.9, 0.9, 1f);?texcol.b += 0.2;?效果如下:?虽然简单,但效果也十分一般。?2.如果你玩过冰火围城,它里面的冰冻效果则是更加金属化,给人的感觉是一层灰色滤镜再增加一点蓝色,然后顶部会更亮。?首先,我们要计算法线夹角,方便处理顶部更亮这部分。?顶点着色器:?float3 normal = mul(SCALED_NORMAL, (float3x3)_World2Object); fixed dotProduct = dot(normal, fixed3(0, 1, 0)) / 2; if(dotProduct = 0) { dotProduct = 0; } o.color = dotProduct.xxx; 然后灰化整个角色,并且增加顶部亮度。?片段着色器:?float grey = dot(texcol.rgb, float3(0.299, 0.587, 0.114)) + i.color.x;?texcol = fi

文档评论(0)

1亿VIP精品文档

相关文档