// 保存顶点动画纹理 public void SaveMeshTexture(string outputFilePath, string AniMeshName) { int totalFrame = m_AniMesh.GetTotalFrame(); int totalvectors = m_AniMesh.GetTotalVertices(); int npower = IGGUtil.GettoPower(totalvectors); Texture2D combinedTex = new Texture2D(npower, totalFrame, TextureFormat.RGBA32, false); combinedTex.filterMode = FilterMode.Point; combinedTex.wrapMode = TextureWrapMode.Clamp; combinedTex.anisoLevel = 0; // int vertexCount = 0; int SubMeshVertexNum = totalvectors; for (int frame = 0; frame < totalFrame; frame++) { for (int k = 0; k < SubMeshVertexNum; k++) { Vector3 vertex = m_AniMesh.m_Mesh.m_AniMesh[frame][k]; Color c = IGGUtil.EncodeRGBM(vertex); combinedTex.SetPixel(k, frame, c); } } combinedTex.Apply(false); string dataPath = outputFilePath + AniMeshName + "_AT.asset"; AssetDatabase.CreateAsset(combinedTex, dataPath); }