war3 魔兽争霸悬崖地形算法

首先地形纹理贴图及区域编号定义如下:

 根据一个地形单元的4个角是否有某纹理对应4个值:(没有则为0)

4个值相加即该单元的纹理编号:

比如: 左上无(0)+右上有(1)+左下有(8)+右下有(4)=13

 

 根据一个地形单元的4个角是否有悬崖对应一个模型:

 比如: 左上无(A)+右上无 (A)+左下有(B)+右下无 (A)=AABA

 根据一个地形单元的4个角是否有二层悬崖对应一个模型:
 比如: 左上无(A)+右上无 (A)+左下有一层(B)+右下有二层 (C)=AABC

 根据一个地形单元的4个角是否有斜坡对应一个模型:
 比如: 左上斜坡一高(H)+右上 斜坡一低(L)  +左下有一层(B)+右下无 (A)=HLBA 

 根据一个地形单元的4个角是否有二层 斜坡对应一个模型:
 比如: 左上斜坡一高(H) +右上斜坡二高(X) +左下无 (A)  +右下无 (A) =HXAA

海水悬崖可以使用向下的悬崖来实现,唯一的区别是模型在y轴乘上了-1。

 

另外通过该算法配合修改模型还可以实现很多有趣的刷地形效果,比如刷出墙,房子,2d地形等。

刷2d地形

部分实现代码:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值