关于ToonShader on iOS


Unity3.2的对于iOS的一个重要更新就是终于修复了 ToonShader 在横屏时候outline没有正确工作的情况。原因是之前3.1中 UNITY_MATRIX_P 这个函数所获取的数值是错误的,都为0,因此outline没有沿法线方向变大,造成了错误。这个可能是因为横屏时候的坐标系和竖屏时是一样的,project矩阵悲剧了。3.2添加了一个TransformViewToProjection这个函数,修复了这个bug。

      接下来一个是关于ToonShader半透明的问题,我们需要对卡通渲染的角色外做一层勾边,但是为了减少多变形数量,有一部分使用了半透明贴图。这个使用带勾边的toon shader就没办法了。传统的勾边是需要对顶点法向量做处理的,用半透明贴图来表现细节,缺少了顶点信息,因此没办法这么处理。目前想到的解决方案

    (1)添加模型细节,不采用半透明的纹理,如果顶点处理能力已经是瓶颈了,那会很悲剧

    (2)使用不带勾边的toonshader,在纹理上做勾边处理,只需要稍微改写一下Unity的toon shader,但是做光照计算会有问题。

     具体取舍,还是要根据具体情况来选择。明天去把方案2整出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值