public override IEnumerable <Object> FetchDependencies(ISerializedFile file, bool isLog = false) { foreach (Object @object in base.FetchDependencies(file, isLog)) { yield return(@object); } foreach (Object @object in SplatDatabase.FetchDependencies(file, isLog)) { yield return(@object); } foreach (Object @object in DetailDatabase.FetchDependencies(file, isLog)) { yield return(@object); } foreach (Object @object in Heightmap.FetchDependencies(file, isLog)) { yield return(@object); } if (IsReadLightmap(file.Version)) { yield return(Lightmap.FetchDependency(file, isLog, ToLogString, "m_Lightmap")); } }
protected override YAMLMappingNode ExportYAMLRoot(IAssetsExporter exporter) { #warning TODO: values acording to read version (current 2017.3.0f3) YAMLMappingNode node = base.ExportYAMLRoot(exporter); node.Add("m_SplatDatabase", SplatDatabase.ExportYAML(exporter)); node.Add("m_DetailDatabase", DetailDatabase.ExportYAML(exporter)); node.Add("m_Heightmap", Heightmap.ExportYAML(exporter)); return(node); }
protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container) { YAMLMappingNode node = base.ExportYAMLRoot(container); node.Add("m_SplatDatabase", SplatDatabase.ExportYAML(container)); node.Add("m_DetailDatabase", DetailDatabase.ExportYAML(container)); node.Add("m_Heightmap", Heightmap.ExportYAML(container)); return(node); }
protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container) { YAMLMappingNode node = base.ExportYAMLRoot(container); node.Add(SplatDatabaseName, SplatDatabase.ExportYAML(container)); node.Add(DetailDatabaseName, DetailDatabase.ExportYAML(container)); node.Add(HeightmapName, Heightmap.ExportYAML(container)); return(node); }
public override void Read(AssetStream stream) { base.Read(stream); SplatDatabase.Read(stream); DetailDatabase.Read(stream); Heightmap.Read(stream); if (IsReadLightmap(stream.Version)) { Lightmap.Read(stream); } }
public override void Read(AssetReader reader) { base.Read(reader); SplatDatabase.Read(reader); DetailDatabase.Read(reader); Heightmap.Read(reader); if (IsReadLightmap(reader.Version)) { Lightmap.Read(reader); } }
private static PPtr <TerrainLayer>[] GetTerrainLayers(IExportContainer container, ref SplatDatabase origin) { if (SplatDatabase.HasTerrainLayers(container.Version)) { return(origin.TerrainLayers.ToArray()); } else { #warning TODO: convert SplatPrototype to TerrainLayer and add new asset to new SerializedFile throw new NotImplementedException(); } }
public override void Write(AssetWriter writer) { base.Write(writer); SplatDatabase.Write(writer); DetailDatabase.Write(writer); Heightmap.Write(writer); if (HasLightmap(writer.Version)) { Lightmap.Write(writer); } }
public override void Read(AssetReader reader) { base.Read(reader); SplatDatabase.Read(reader); DetailDatabase.Read(reader); Heightmap.Read(reader); if (HasLightmap(reader.Version)) { Lightmap.Read(reader); } if (HasPreloadShaders(reader.Version)) { PreloadShaders = reader.ReadAssetArray <PPtr <Shader> >(); } }
protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container) { YAMLMappingNode node = base.ExportYAMLRoot(container); node.Add(SplatDatabaseName, SplatDatabase.ExportYAML(container)); node.Add(DetailDatabaseName, DetailDatabase.ExportYAML(container)); node.Add(HeightmapName, Heightmap.ExportYAML(container)); if (HasLightmap(container.ExportVersion)) { node.Add(LightmapName, Lightmap.ExportYAML(container)); } if (HasPreloadShaders(container.ExportVersion)) { node.Add(PreloadShadersName, PreloadShaders.ExportYAML(container)); } return(node); }
public static SplatDatabase Convert(IExportContainer container, ref SplatDatabase origin) { SplatDatabase instance = new SplatDatabase(); if (SplatDatabase.HasTerrainLayers(container.ExportVersion)) { instance.TerrainLayers = GetTerrainLayers(container, ref origin); } else { instance.Splats = origin.Splats.ToArray(); } instance.AlphaTextures = origin.AlphaTextures.ToArray(); instance.AlphamapResolution = origin.AlphamapResolution; instance.BaseMapResolution = origin.BaseMapResolution; if (SplatDatabase.HasColorSpace(container.ExportVersion)) { instance.ColorSpace = origin.ColorSpace; instance.MaterialRequiresMetallic = GetMaterialRequiresMetallic(container, ref origin); instance.MaterialRequiresSmoothness = GetMaterialRequiresSmoothness(container, ref origin); } return(instance); }
private static bool GetMaterialRequiresSmoothness(IExportContainer container, ref SplatDatabase origin) { return(SplatDatabase.HasColorSpace(container.Version) ? origin.MaterialRequiresSmoothness : true); }
public static TerrainLayer[] GenerateTerrainLayers(IExportContainer container, ref SplatDatabase origin) { TerrainLayer[] layers = new TerrainLayer[origin.Splats.Length]; for (int i = 0; i < layers.Length; i++) { layers[i] = origin.Splats[i].Convert(container); } return(layers); }