Exemple #1
0
        protected void SetMaterials(MeshRenderer renderer, UnityStyleMesh meshsrc, GeometryNode update)
        {
            MaterialIDsMap map = renderer.gameObject.AddComponent<MaterialIDsMap>();

            Material[] materials = new Material[meshsrc.face_groups.Count];

            for (int i = 0; i < meshsrc.face_groups.Count; i++)
            {
                map.m_materialIds.Add(meshsrc.face_groups[i].MaterialId);

                Material m = new Material(Shader.Find("Diffuse"));
                m.name = update.MaterialName;
                materials[i] = m;
            }

            renderer.materials = materials;
        }
Exemple #2
0
        protected void SetMeshContent(Mesh mesh, UnityStyleMesh meshsrc)
        {
            mesh.vertices = meshsrc.components.vertices;
            mesh.normals = meshsrc.components.normals;
            mesh.uv = meshsrc.components.uvs;
            mesh.uv2 = meshsrc.components.uvs2;

            mesh.subMeshCount = meshsrc.face_groups.Count;

            for (int i = 0; i < meshsrc.face_groups.Count; i++)
            {
                mesh.SetTriangles(meshsrc.face_groups[i].FaceIndices, i);
            }

            mesh.RecalculateBounds();
        }