Beispiel #1
0
        protected override void UpdateBuildAssetResults(AnonymousAssetBuildUnit buildUnit, AssetCompilerResult compilationResult)
        {
            base.UpdateBuildAssetResults(buildUnit, compilationResult);

            // Save aside model url
            // TODO: we should technically store it in a temp var during Compile(), and set it only now (in case it changed during compile)
            compiledModelUrl = buildUnit.Succeeded ? AnimationPreviewViewModel.FindModelForPreview(AssetItem)?.Location : null;
        }
Beispiel #2
0
        protected override void CompileThumbnail(ThumbnailCompilerContext context, string thumbnailStorageUrl, AssetItem assetItem, Package originalPackage, AssetCompilerResult result)
        {
            // A model asset should have been generated during CompileWithDependencies()
            var modelAssetItem = AnimationPreviewViewModel.FindModelForPreview(assetItem);

            if (modelAssetItem != null)
            {
                result.BuildSteps.Add(new ThumbnailBuildStep(new AnimationThumbnailBuildCommand(context, thumbnailStorageUrl, assetItem, modelAssetItem, originalPackage,
                                                                                                new ThumbnailCommandParameters(assetItem.Asset, thumbnailStorageUrl, context.ThumbnailResolution))));
            }
            else
            {
                // If no model could be found, uses default thumbnail instead
                var gameSettings = context.GetGameSettingsAsset();
                result.BuildSteps.Add(new StaticThumbnailCommand <AnimationAsset>(thumbnailStorageUrl, StaticThumbnails.AnimationThumbnail, context.ThumbnailResolution, gameSettings.GetOrCreate <RenderingSettings>().ColorSpace == ColorSpace.Linear, assetItem.Package));
            }
        }