Aar0n @永林:现在可以了,就是这样的代码:
customNormalMesh(vertArr: Array<number>, faceArr: Array<number>, normalArr: Array<number>)
{
const verticeArr = new Array<number>();
for (let i = 0; i < vertArr.length; i += 3)
{
verticeArr.push(vertArr[i], vertArr[i + 1], vertArr[i + 2]);
verticeArr.push(normalArr[i], normalArr[i + 1], normalArr[i + 2]);
}
const vertices = new Float32Array(verticeArr);
const indices = new Uint16Array(faceArr);
var vertexDeclaration = Laya.VertexMesh.getVertexDeclaration("POSITION,NORMAL");
return new Laya.MeshSprite3D(Laya.PrimitiveMesh._createMesh(vertexDeclaration, vertices, indices));
}
要加UV的话,自己添吧。
关键是Laya.PrimitiveMesh._createMesh,这玩意在引擎里目前还是私有的,你得自己把它改成公共能访问,就都OK了。