1.概念
FacetData是一项mesh特性,默认是禁用状态,这项特性提供了一些方法和属性用来访问mesh的每个面,比如说facet位置,法线等.
一个mesh有许多个平面构成,例如一个正方体有六个方形平面,每个面在webGL层级上是由两个三角形构成的,我们称基本的三角形为facet
**
2.如何启用facetData
启用facetData仅需要调用函数updateFacetData()
//启用facetDatamesh.updateFacetData();//禁用facetDatamesh.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()
