Exemplo n.º 1
0
        public void ExportAsset(AssetContext asset)
        {
            if (!File.Exists(asset.FullPath))
            {
                Debug.LogError("File " + asset.FullPath + " not found");
                return;
            }

            var texture = AssetDatabase.LoadAssetAtPath <Texture>(asset.AssetPath);

            _assets.AddTexturePath(texture, asset.UrhoAssetName);

            var fullCopy = false;

            foreach (var reference in _textureMetadata.ResolveReferences(texture))
            {
                switch (reference.Semantic)
                {
                case TextureSemantic.PBRMetallicGlossiness:
                {
                    TransformMetallicGlossiness(asset, texture, reference);
                    break;
                }

                case TextureSemantic.PBRSpecularGlossiness:
                {
                    TransformSpecularGlossiness(asset, texture, reference);
                    break;
                }

                case TextureSemantic.PBRDiffuse:
                {
                    TransformDiffuse(asset, texture, reference);
                    break;
                }

                default:
                {
                    if (!fullCopy)
                    {
                        asset.DestinationFolder.CopyFile(asset.FullPath, asset.UrhoAssetName);
                        fullCopy = true;
                    }

                    break;
                }
                }
            }
        }
Exemplo n.º 2
0
        public void ExportAsset(AssetContext asset)
        {
            var texture = AssetDatabase.LoadAssetAtPath <Texture>(asset.AssetPath);

            _assets.AddTexturePath(texture, asset.UrhoAssetName);

            if (asset.UrhoFileName == null)
            {
                return;
            }
            if (File.Exists(asset.UrhoFileName))
            {
                return;
            }
            if (!File.Exists(asset.FullPath))
            {
                Debug.LogError("File " + asset.FullPath + " not found");
                return;
            }

            Directory.CreateDirectory(Path.GetDirectoryName(asset.UrhoFileName));
            File.Copy(asset.FullPath, asset.UrhoFileName);
        }