3D拼合地形中的浪花

原始地图

网格

查找边缘

在开发3D地形的过程中,我遇到了一个难题,就是浪花的处理。我之前没有研究过水。所以很担心做不好。经过网络查阅和不断的思考。我认为浪花的处理最困难的是查找水与地形的接触边缘线。经过不断的试验。终于找到了边缘线。现在将做法记下来。

图1是一个拼合好的地形水池。

首先,我需要在水池里点击一下鼠标,并通过鼠标击中的格子向八个方向扩散进行查找不是平面或地形高度大于H的格子。这些格子和扩散方向被记录下来。

然后遍历这些格子,根据扩散方向画出水向边缘的发力射线。

图2是这个水池的网格。图中的一些线段就是发力的射线。

最后是由每个发力射线的起点向对应方向的格子中的模型体中处于H1~H2高度(也就是水面高度范围)的三角形沿发力角度进行N次偏移射线碰撞检测,并得到碰撞的N个顶点记录下来。这些顶点连接起来就是边缘线了。

带边缘的水

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值