玩了下《火炬之光》, 没想到能用OGRE做到这么个程度, 很让人惊叹!
刚开始玩就注意到人被遮挡时, 并不是像其它游戏那把遮挡物半透明化, 而是把被遮挡的部分处理成一种透视效果:

想了想, 其实也挺简单的, 把模型画两遍就成了:
1. 先画场景
2. 画被遮挡的部分, ZWrite=False; ZFunc=Greater; 开启Alpha混合, 光照亮度做为alpha值输出, 颜色由参数传入.
3. 还原正常的渲染状态, 绘制原模型(为了显示未被遮挡的部分)


可能混合公式还要调节一下, 不过效果已经差不多了, 呵呵.
本文介绍了一种在游戏开发中实现透视效果的方法,通过调整渲染顺序和参数,在不影响整体场景的情况下,使得被遮挡的对象呈现出透视感,提升了游戏画面的真实感。
552

被折叠的 条评论
为什么被折叠?



