Пример #1
0
        public override GameObject CreateExternalObject(Sprite sprite, SpriteConfigData data)
        {
            GameObject root = sprite.CreateEmptyMeshPrefab(true);
            GameObject sub  = root.transform.GetChild(0).gameObject;

            sprite.GetMeshData(data, out var transparentVertices, out var transparentTriangles, MeshRenderType.SeparatedTransparent);
            sprite.GetMeshData(data, out var opaqueVertices, out var opaqueTriangles, MeshRenderType.Opaque);
            sprite.AddComponentsAssets(transparentVertices, transparentTriangles, root, RENDER_TYPE_TRANSPARENT, data.transparentShader);
            sprite.AddComponentsAssets(opaqueVertices, opaqueTriangles, sub, RENDER_TYPE_OPAQUE, data.opaqueShader);
            return(root);
        }
Пример #2
0
        public override GameObject CreateExternalObject(Sprite sprite, SpriteConfigData data)
        {
            GameObject prefab = sprite.CreateEmptyMeshPrefab(false);

            sprite.GetMeshData(data, out var vertices, out var triangles, MeshRenderType.Transparent);
            sprite.AddComponentsAssets(vertices, triangles, prefab, RENDER_TYPE_TRANSPARENT, data.transparentShader);
            return(prefab);
        }
        public override GameObject CreateExternalObject(Sprite sprite, SpriteConfigData data)
        {
            GameObject prefab = sprite.CreateEmptyMeshPrefab(false);

            sprite.GetVertexAndTriangle3D(data, out var vertices, out var triangles, MeshRenderType.Opaque);
            sprite.AddComponentsAssets(vertices, triangles, prefab, RENDER_TYPE_OPAQUE, data.opaqueShaderName);
            return(prefab);
        }
        public override GameObject CreateExternalObject(Sprite sprite, SpriteConfigData data)
        {
            GameObject prefab = sprite.CreateEmptyMeshPrefab(false);

            Vector3[] vertices3D  = Array.ConvertAll(sprite.vertices, i => new Vector3(i.x, i.y, 0));
            int[]     triangles3D = Array.ConvertAll(sprite.triangles, i => (int)i);
            sprite.AddComponentsAssets(vertices3D, triangles3D, prefab, RENDER_TYPE_TRANSPARENT, data.transparentShaderName);
            return(prefab);
        }
        public override GameObject CreateExternalObject(Sprite sprite, SpriteConfigData data)
        {
            GameObject prefab = sprite.CreateEmptyMeshPrefab(false);

            Vector2[] vertices  = sprite.vertices;
            ushort[]  triangles = sprite.triangles;
            sprite.AddComponentsAssets(vertices, triangles, prefab, RENDER_TYPE_TRANSPARENT, data.transparentShader);
            return(prefab);
        }