1.概念
FacetData是一项mesh特性,默认是禁用状态,这项特性提供了一些方法和属性用来访问mesh的每个面,比如说facet位置,法线等.
一个mesh有许多个平面构成,例如一个正方体有六个方形平面,每个面在webGL层级上是由两个三角形构成的,我们称基本的三角形为facet
**
2.如何启用facetData
启用facetData仅需要调用函数updateFacetData()
//启用facetData
mesh.updateFacetData();
//禁用facetData
mesh.disableFacetData();
3.常用方法
3.1Facet position
//获取mesh第nth个面的位置
mesh.getFacetPosition(nth)
//将获取的位置存储到已存在的变量
let pos = BABYLON.Vector3.Zero();
mesh.getFacetPositionToRef(nth,pos);
//获取所有面的位置数组(局部坐标系)
let localPositions = mesh.getFacetLocalPositions();
3.2 Facet normal
面的法线是正交与当前面的的标准三维向量.
//获取第nth个面的法线向量
let normal = mesh.getFacetNormal(nth)
//将获取的法线向量存储到已知变量
mesh.getFacetNormalToRef(nth,normal)
//获取所有面的位置数组(局部坐标系)
mesh.getFacetLocalNormals()