Example #1
0
        public override void Read(AssetReader reader)
        {
            base.Read(reader);

            TerrainData.Read(reader);
            TreeDistance            = reader.ReadSingle();
            TreeBillboardDistance   = reader.ReadSingle();
            TreeCrossFadeLength     = reader.ReadSingle();
            TreeMaximumFullLODCount = reader.ReadInt32();
            DetailObjectDistance    = reader.ReadSingle();
            DetailObjectDensity     = reader.ReadSingle();
            HeightmapPixelError     = reader.ReadSingle();
            SplatMapDistance        = reader.ReadSingle();
            HeightmapMaximumLOD     = reader.ReadInt32();
            CastShadows             = reader.ReadBoolean();
            if (IsReadDrawHeightmap(reader.Version))
            {
                DrawHeightmap = reader.ReadBoolean();
            }
            DrawTreesAndFoliage = reader.ReadBoolean();
            reader.AlignStream(AlignType.Align4);

            if (IsReadReflectionProbeUsage(reader.Version))
            {
                ReflectionProbeUsage = reader.ReadInt32();
                MaterialType         = reader.ReadInt32();
                LegacySpecular.Read(reader);
                LegacyShininess = reader.ReadSingle();
            }
            if (IsReadDefaultSmoothness(reader.Version))
            {
                UseDefaultSmoothness = reader.ReadBoolean();
                DefaultSmoothness    = reader.ReadSingle();
            }
            MaterialTemplate.Read(reader);
            LightmapIndex        = reader.ReadUInt16();
            LightmapIndexDynamic = reader.ReadUInt16();
            LightmapTilingOffset.Read(reader);
            LightmapTilingOffsetDynamic.Read(reader);
            if (IsReadExplicitProbeSetHash(reader.Version))
            {
                ExplicitProbeSetHash.Read(reader);
            }

            if (IsReadBakeLightProbesForTrees(reader.Version))
            {
                BakeLightProbesForTrees = reader.ReadBoolean();
                reader.AlignStream(AlignType.Align4);

                DynamicUVST.Read(reader);
                ChunkDynamicUVST.Read(reader);
            }
        }
Example #2
0
 public void Read(AssetReader reader)
 {
     UVMesh.Read(reader);
     TerrainDynamicUVST.Read(reader);
     TerrainChunkDynamicUVST.Read(reader);
     LightmapIndex        = reader.ReadUInt16();
     LightmapIndexDynamic = reader.ReadUInt16();
     LightmapST.Read(reader);
     LightmapSTDynamic.Read(reader);
     if (IsReadExplicitProbeSetHash(reader.Version))
     {
         ExplicitProbeSetHash.Read(reader);
     }
 }
Example #3
0
        public YAMLNode ExportYAML(IExportContainer container)
        {
            YAMLMappingNode node = new YAMLMappingNode();

            node.Add(UvMeshName, UVMesh.ExportYAML(container));
            node.Add(TerrainDynamicUVSTName, TerrainDynamicUVST.ExportYAML(container));
            node.Add(TerrainChunkDynamicUVSTName, TerrainChunkDynamicUVST.ExportYAML(container));
            node.Add(LightmapIndexName, LightmapIndex);
            node.Add(LightmapIndexDynamicName, LightmapIndexDynamic);
            node.Add(LightmapSTName, LightmapST.ExportYAML(container));
            node.Add(LightmapSTDynamicName, LightmapSTDynamic.ExportYAML(container));
            if (IsReadExplicitProbeSetHash(container.ExportVersion))
            {
                node.Add(ExplicitProbeSetHashName, ExplicitProbeSetHash.ExportYAML(container));
            }
            return(node);
        }
Example #4
0
        public override void Read(AssetReader reader)
        {
            base.Read(reader);

            TerrainData.Read(reader);
            TreeDistance            = reader.ReadSingle();
            TreeBillboardDistance   = reader.ReadSingle();
            TreeCrossFadeLength     = reader.ReadSingle();
            TreeMaximumFullLODCount = reader.ReadInt32();
            DetailObjectDistance    = reader.ReadSingle();
            DetailObjectDensity     = reader.ReadSingle();
            HeightmapPixelError     = reader.ReadSingle();
            SplatMapDistance        = reader.ReadSingle();
            HeightmapMaximumLOD     = reader.ReadInt32();
            if (IsReadShadowCastingMode(reader.Version))
            {
                ShadowCastingMode = (ShadowCastingMode)reader.ReadInt32();
            }
            else
            {
                bool CastShadows = reader.ReadBoolean();
                ShadowCastingMode = CastShadows ? ShadowCastingMode.TwoSided : ShadowCastingMode.Off;
            }
            if (IsReadDrawHeightmap(reader.Version))
            {
                DrawHeightmap = reader.ReadBoolean();
            }
            if (IsReadDrawInstanced(reader.Version))
            {
                DrawInstanced = reader.ReadBoolean();
            }
            DrawTreesAndFoliage = reader.ReadBoolean();
            reader.AlignStream(AlignType.Align4);

            if (IsReadReflectionProbeUsage(reader.Version))
            {
                ReflectionProbeUsage = (ReflectionProbeUsage)reader.ReadInt32();
            }
            if (IsReadMaterialType(reader.Version))
            {
                MaterialType = (MaterialType)reader.ReadInt32();
                LegacySpecular.Read(reader);
                LegacyShininess = reader.ReadSingle();
            }
            if (IsReadDefaultSmoothness(reader.Version))
            {
                UseDefaultSmoothness = reader.ReadBoolean();
                DefaultSmoothness    = reader.ReadSingle();
            }
            MaterialTemplate.Read(reader);
            if (IsReadLightmapIndex(reader.Flags))
            {
                LightmapIndex        = reader.ReadUInt16();
                LightmapIndexDynamic = reader.ReadUInt16();
                LightmapTilingOffset.Read(reader);
                LightmapTilingOffsetDynamic.Read(reader);
            }
            if (IsReadExplicitProbeSetHash(reader.Version, reader.Flags))
            {
                ExplicitProbeSetHash.Read(reader);
            }

            if (IsReadBakeLightProbesForTrees(reader.Version))
            {
                BakeLightProbesForTrees = reader.ReadBoolean();
            }
            if (IsReadPreserveTreePrototypeLayers(reader.Version))
            {
                PreserveTreePrototypeLayers = reader.ReadBoolean();
            }
            if (IsReadDeringLightProbesForTrees(reader.Version, reader.Flags))
            {
                DeringLightProbesForTrees = reader.ReadBoolean();
            }
            if (IsAlign(reader.Version))
            {
                reader.AlignStream(AlignType.Align4);
            }
#if UNIVERSAL
            if (IsReadScaleInLightmap(reader.Flags))
            {
                ScaleInLightmap = reader.ReadSingle();
                LightmapParameters.Read(reader);
            }
#endif
            if (IsReadDynamicUVST(reader.Version, reader.Flags))
            {
                DynamicUVST.Read(reader);
                ChunkDynamicUVST.Read(reader);
                reader.AlignStream(AlignType.Align4);
            }
            if (IsReadGroupingID(reader.Version))
            {
                GroupingID       = reader.ReadInt32();
                AllowAutoConnect = reader.ReadBoolean();
            }
        }