目前用的cocos creator 2.3.3版本,在做3D模型的任意切割功能,发现通过 cc.Mesh.copyIndices 方法获取到全部三角面的顶点索引后,里面的值全部小于256,这就导致顶点数量大于256的模型不能正确分割,查看源码发现如下代码:
const fn = _compType2fn[gfx.INDEX_FMT_UINT8];
for (let i = 0; i < indexCount; ++i) {
outputArray[i] = dv[fn](i * 2);
}
也就是 outputArray[i] = dv.getUint8(i * 2);
所以 outputArray 中是无符号8位整型数,在 0 ~ 255 之间;
想知道为什么要用 getUint8 这个方法,
以及 cocos 自己是按什么格式使用这些数据的,
以及有什么解决方法能让我获取到正确的三角面顶点索引数组?
(做模型切割功能时,用长方体测试正常,用自带的球体测试就发现这个问题了)
