ExportAssetToModels() public method

public ExportAssetToModels ( string sourceAssetPath ) : string
sourceAssetPath string
return string
Example #1
0
        private void MayAttachVisualModel(EntityModel entity, GameObject gameObject)
        {
            var meshRendererComponent = gameObject.GetComponent <MeshRenderer>();
            var meshFilterComponent   = gameObject.GetComponent <MeshFilter>();

            if (meshFilterComponent == null || meshRendererComponent == null)
            {
                return;
            }

            entity.Id       = gameObject.name;
            entity.IsStatic = gameObject.isStatic;

            var componentModel = new EntityComponentModel {
                Id = "VisualModel"
            };
            var meshReferenceItem = new EntityComponentDataItemModel
            {
                Key = "MeshReference"
            };

            componentModel.Data.Add(meshReferenceItem);
            entity.Components.Add(componentModel);

            var exportsModel = _exportType != ModelExportType.No;
            var path         = AssetDatabase.GetAssetPath(meshFilterComponent.sharedMesh ?? meshFilterComponent.mesh);

            if (!string.IsNullOrEmpty(path) && exportsModel)
            {
                if (_exportType == ModelExportType.OriginalModelFile)
                {
                    meshReferenceItem.Value = _filePathExporter.ExportAssetToModels(path);
                }
                else
                {
                    meshReferenceItem.Value = ConvertModelToPmeshAndSaveToFolder(meshFilterComponent.sharedMesh ?? meshFilterComponent.mesh,
                                                                                 meshRendererComponent.material,
                                                                                 path);
                }
            }

            var texture          = meshRendererComponent.sharedMaterial.mainTexture;
            var textureAssetPath = AssetDatabase.GetAssetPath(texture);

            if (!string.IsNullOrEmpty(textureAssetPath) && exportsModel)
            {
                _filePathExporter.ExportAssetToModels(textureAssetPath);
            }
        }