private void CreateFaceModelMesh()
{
if (faceModelMesh == null)
return;
int iNumTriangles = sensorData.sensorInterface.GetFaceModelTrianglesCount();
if (iNumTriangles <= 0)
return;
int[] avModelTriangles = new int[iNumTriangles];
bool bGotModelTriangles = sensorData.sensorInterface.GetFaceModelTriangles(mirroredModelMesh, ref avModelTriangles);
if (!bGotModelTriangles)
return;
int iNumVertices = sensorData.sensorInterface.GetFaceModelVerticesCount(0);
if (iNumVertices < 0)
return;
avModelVertices = new Vector3[iNumVertices];
bGotModelVertices = sensorData.sensorInterface.GetFaceModelVertices(0, ref avModelVertices);
if (!bGotModelVertices)
return;
Vector2[] avModelUV = new Vector2[iNumVertices];
//Quaternion faceModelRot = faceModelMesh.transform.rotation;
//faceModelMesh.transform.rotation = Quaternion.identity;
Mesh mesh = new Mesh();
mesh.name = "FaceMesh";
faceModelMesh.GetComponent<MeshFilter>().mesh = mesh;
mesh.vertices = avModelVertices;
mesh.uv = avModelUV;
mesh.triangles = avModelTriangles;
mesh.RecalculateNormals();
//faceModelMesh.transform.rotation = faceModelRot;
bFaceModelMeshInited = true;
}