java3d 如何实现水效果

来源:百度知道 编辑:UC知道 时间:2024/06/18 09:23:54
java3d的基础类生成的都是坚实的固体
如何实现波动的/静止的水效果
还有如何实现飘动的红旗此类效果?
抖动纹理和变更模型
具体是如何操作的?
网上好像都搜不到类似的资料

抖动纹理或者变更模型。前者比较简单但效果一般,后者比较耗时,但在好的机器上效果明显。

另外,PC游戏一般采取前者。

抖动纹理就是变更贴图的坐标,使得在前一个方块的纹理好像移动到了这个方块,然后继续移动,到尽头的时候复原坐标,就可以实现好像波浪向前移动的效果。

变更模型就是动态改变各个面的顶点位置,需要比较深的数学及物理知识才能让水的动作变得自然。这种操作的开销是巨大的,一般的家用级显卡承受不起,但效果非常的好。比如FF最终幻想系列的水,都是变更模型的,但是也都是用服务器级别的机器渲染的。

另外,最好的方法是折衷的:设定一点点小纹理,加上合适的alpha值,用光照一下,在用那么十来个面,就可以达到家用级别的最好的水效果。