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; }
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)); } }