年度总结之一:半透物体处理

好久没写了,这段时间相对较闲,把前段时间遇到的问题和解决方法及后续的问题进行梳理和总结,也算是2010年度总结吧。

        这次先从半透明物体的渲染说起 ,为了方便期间,分以下几种常遇到的情况来讨论:

 

<1> 半透物体极少,只有一两个,其相互之间也不会出现重叠。

 

这也是最简单的一种情况。先渲染不透明的物体,然后开启alphablend,禁止深度写和alphatest,再渲染半透物体,即可。看起来问题就解决了。但是在实现的时候会发现一些问题。下面以我们引擎中遇到的一些问题进行解释。我们要实现的效果是当玩家按下某个快捷键,场景中的其他玩家会逐渐出现或渐渐消失,为的是让低配玩家也能在人物较多的场景顺畅的游戏。在按照上面的渲染方法,结果发现,人物和场景之间的渲染顺序是正确了,但是人物自身的渲染却出现了问题。具体来说就是,从正面看,人的头发感觉像是出现在脸的前面。怀疑,是不是人物自身的mesh没有做排序造成的呢。但是目前的mesh是不支持排序的,要想做支持排序的mesh也可以,就是得重新导模型,很是麻烦。后来发现,就算是人物模型mesh内部进行了排序,渲染顺序正确,其渲染结果也不一定好。真正的原因是人物模型各个部分的颜色的搭配相差太大。比如,脸是白色的,头发是黑色的,就算是排序正确,的到的最终的结果恐怕也好看不到哪里去。后来借鉴了一下魔兽中的白牛的实现,发现他的半透也是有问题的,但是他的效果是可以接受的,原因是他的整个模型的颜色比较一致,这样就在资

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值