Unity3D人臉建模 AvataSDK研究


1.Unity與windows交互 調用文件瀏覽器

1.用C#調用comdlg32.dll  ,  利用GetOpenFileName實現打開文件對話框

<1> 整體參考https://www.cnblogs.com/chinarbolg/p/9601432.html

<2>文件過濾屬性設置參考https://zhidao.baidu.com/question/221417585.html

pth.filter = "jpg files\0*.jpg\0png files\0*.png\0jpeg files\0*.jpeg";

jpg files是顯示的內容,\0是轉義字符,*.jpg是過濾格式,然后是下一個過濾器

完整形式openFileName.filter = "圖片文件(*.jpg,*.png,*.bmp)\0*.jpg;*.png;*.bmp";

 

2.面部表情制作,BlendShapes

1.參考https://www.jianshu.com/p/4ae6662a40df

 

3.將一個Mesh的BlendShape復制到另一個Mesh上

// Copy blend shape data from myMesh to tmpMesh Vector3[] dVertices = new Vector3[myMesh.vertexCount]; Vector3[] dNormals = new Vector3[myMesh.vertexCount]; Vector3[] dTangents= new Vector3[myMesh.vertexCount]; for (int shape = 0; shape < myMesh.blendShapeCount; shape++) { for (int frame = 0; frame < myMesh.GetBlendShapeFrameCount(shape); frame++) { string shapeName = myMesh.GetBlendShapeName(shape); float frameWeight = myMesh.GetBlendShapeFrameWeight(shape, frame); myMesh.GetBlendShapeFrameVertices(shape, frame, dVertices, dNormals, dTangents); tmpMesh.AddBlendShapeFrame(shapeName, frameWeight, dVertices, dNormals, dTangents); } }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM