之前根据MIKE21给出的mesh数据在unity3D中绘制出了网格,但是才发现mike21给的原始数据有楞有角的比较难看,看下图
对比mike21里面展示的图片,有些差别,如下
发现mike21软件处理的效果不错,后来点击查看mesh,发现他们是这样的处理的
就是在原始数据的外围增加一个“水带”,也就是取外围三角网格的一半,大家可以仔细看看,于是
我也模仿这个思路在unity里面写了下代码。 刚开始以为非常容易,做着做着才发现不是那么容易,甚至有些麻烦
1.先要搜索原始数据的最外围的一圈三角网格
2.再拿最外围的三角网格与空白处的网格进行对比,收集两种网格:A.有公共边的三角网格,B.有公共点的三角网格
3. 刚才提到的两种A , B网格分别进行不同的处理。A.有公共边的网格需要再剖分成2个小三角,B. 就直接画其一半大小的三角
技术难题集中在搜索边界的三角形,因为要每个三角形要1个1个的顶点去对比,其次就是对A 型三角网格进行剖分
不过都不是太难,就是比较繁琐,结果如下图
但是发现MIKE21还是技高一筹,它针对有些原始数据先进行了一定的“修复”或者是'补充“,使其描绘的更加圆滑,漂亮。
这个我还在想办法。