public void CopyUVs(int id, bool baseOrBlend, bool setOrGet) { UVNormalBlendMonoBehaviour.Data dstData = Datas[(int)id]; MeshRenderer mr = dstData.renderer.instance; Operations.vMesh m = new Operations.vMesh(mr, false, false); List <Vector2> uvs = baseOrBlend ? dstData.blendUVs : dstData.baseUVs; if (setOrGet) { for (int i = 0; i < m.submeshes.Count; i++) { Operations.vSubmesh s = m.submeshes[i]; for (int j = 0; j < s.vertexList.Count; j++) { s.vertexList[j].uv[0] = uvs[j][0]; s.vertexList[j].uv[1] = -uvs[j][1]; } } m.Flush(); } else { uvs.Clear(); for (int i = 0; i < m.submeshes.Count; i++) { Operations.vSubmesh s = m.submeshes[i]; for (int j = 0; j < s.vertexList.Count; j++) { Vector2 uv = new Vector2(s.vertexList[j].uv[0], -s.vertexList[j].uv[1]); uvs.Add(uv); } } Parser.datas = Datas; } Changed = true; }
public void CopyNormals(int id, AnimatorEditor dstAnimatorEditor, bool minOrMax, bool setOrGet) { GenericMono dstData = GenericMonos[(int)id]; int dstMeshRId = dstAnimatorEditor.GetMeshRendererId(dstData.ObjectName); MeshRenderer mr = (MeshRenderer)dstAnimatorEditor.Meshes[dstMeshRId]; Operations.vMesh m = new Operations.vMesh(mr, false, false); List <Vector3> normals = minOrMax ? dstData.NormalMax : dstData.NormalMin; if (setOrGet) { for (int i = 0; i < m.submeshes.Count; i++) { Operations.vSubmesh s = m.submeshes[i]; for (int j = 0; j < s.vertexList.Count; j++) { s.vertexList[j].normal = normals[j]; } } m.Flush(); } else { normals.Clear(); for (int i = 0; i < m.submeshes.Count; i++) { Operations.vSubmesh s = m.submeshes[i]; for (int j = 0; j < s.vertexList.Count; j++) { normals.Add(s.vertexList[j].normal); } } Parser.Param = GenericMonos; } Changed = true; }
public void CopyNormals(int id, bool baseOrBlend, bool setOrGet) { UVNormalBlendMonoBehaviour.Data dstData = Datas[(int)id]; MeshRenderer mr = dstData.renderer.instance; Operations.vMesh m = new Operations.vMesh(mr, false, false); List <Vector3> normals = baseOrBlend ? dstData.blendNormals : dstData.baseNormals; if (setOrGet) { for (int i = 0; i < m.submeshes.Count; i++) { Operations.vSubmesh s = m.submeshes[i]; for (int j = 0; j < s.vertexList.Count; j++) { s.vertexList[j].normal = normals[j]; } } m.Flush(); } else { normals.Clear(); for (int i = 0; i < m.submeshes.Count; i++) { Operations.vSubmesh s = m.submeshes[i]; for (int j = 0; j < s.vertexList.Count; j++) { normals.Add(s.vertexList[j].normal); } } Parser.datas = Datas; } Changed = true; }