Cocos Creator 3D 通过顶点创建Mesh - 六边形地图案例

关于 动态创建Mesh 

全网唯一靠谱的一个案例 Cocos Creator 3D Mesh创建方法 (以及FBX文件格式整理) - 知乎

这种通过struct和data来创建mesh的方式 实际上还是比较麻烦的

目前全网虽然和U3D的API完全不同 用法也完全不同 但是创建mesh 无非就是顶点数组和索引数组

所以经过多次尝试 总算摸出来了

cocos creator 3.0开始 提供了 utils的工具类  里面包含一些常用的 创建 Cube,Panel,胶囊网格 的工具方法

utils类 虽然仅提供通用的几个几何mesh创建方法  但是返回的 几何数据接口IGeometry  可以用来创建mesh

primitives.IGeometry

进去看 primitives.IGeometry的定义 你会发现 它包含 顶点数组,下标数组,法线数组,uvs, 等等

是的 这就是我想要的! 

虽然 几何数据接口 IGeometry 并不能转换成 meshData 但是 

utils类 提供了一个 通过 IGeometry 来创建mesh的方法

这个API 起初 官方的用法是 

这里我们改改 通过顶点数组直接生成一个 IGeometry 对象 然后创建mesh 就可以 通过utils类提供的 createMesh来创建自定义的mesh对象啦  非常nice!

然后 看下 六边形 格子的创建   网上一大把 六边形的公式

看了下 作业帮里的答案是 高是正六边形内切圆的半径,即:√3/2 a

这里 我得出了公式     当一个半径为r的圆内正六边形 从圆心发送一根射线到AB上 

OP = 0.866025404 * R

这里是约等于!!!

有了这两个 就能得出我们的其它顶点了

然后 将顶点组成的小三角索引利用顺序输入就好了 

这里的报错 没关系的哈 只是提示  实际上运行是正常的 

关于地图创建

这里 我直接贴源码了   我创建了 40×40的地图

大功告成!!!

gitee仓库地址:HexMap-Example: CocosCreator3.0 动态创建网格Mesh & 3D六边形地图案例

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客柒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值