Example #1
0
        public void GetSettings(bool settingsEditor)
        {
            if (!CheckValidUnityTerrain())
            {
                return;
            }

            materialType = terrain.materialType;
            // materialTemplate = terrain.materialTemplate;

            basemapDistance     = terrain.basemapDistance;
            castShadows         = terrain.castShadows;
            treeCrossFadeLength = terrain.treeCrossFadeLength;

            #if UNITY_EDITOR
            bakeLightProbesForTrees = terrain.bakeLightProbesForTrees;
            #endif
            reflectionProbeUsage = terrain.reflectionProbeUsage;
            thickness            = terrain.terrainData.thickness;
            collectDetailPatches = terrain.collectDetailPatches;
            legacyShininess      = terrain.legacyShininess;
            legacySpecular       = terrain.legacySpecular;

            wavingGrassSpeed    = terrain.terrainData.wavingGrassSpeed;
            wavingGrassAmount   = terrain.terrainData.wavingGrassAmount;
            wavingGrassStrength = terrain.terrainData.wavingGrassStrength;
            wavingGrassTint     = terrain.terrainData.wavingGrassTint;

            if (settingsEditor)
            {
                heightmapPixelError     = terrain.heightmapPixelError;
                heightmapMaximumLOD     = terrain.heightmapMaximumLOD;
                drawTreesAndFoliage     = terrain.drawTreesAndFoliage;
                treeDistance            = terrain.treeDistance;
                detailObjectDistance    = terrain.detailObjectDistance;
                detailObjectDensity     = terrain.detailObjectDensity;
                treeBillboardDistance   = terrain.treeBillboardDistance;
                treeMaximumFullLODCount = terrain.treeMaximumFullLODCount;
            }
            else
            {
                terrainSettingsScript = terrain.gameObject.GetComponent <TC_TerrainSettings>();
                if (terrainSettingsScript == null)
                {
                    terrainSettingsScript = terrain.gameObject.AddComponent <TC_TerrainSettings>();
                }

                heightmapPixelError     = terrainSettingsScript.heightmapPixelError;
                heightmapMaximumLOD     = terrainSettingsScript.heightmapMaximumLOD;
                drawTreesAndFoliage     = terrainSettingsScript.drawTreesAndFoliage;
                treeDistance            = terrainSettingsScript.treeDistance;
                detailObjectDistance    = terrainSettingsScript.detailObjectDistance;
                detailObjectDensity     = terrainSettingsScript.detailObjectDensity;
                treeBillboardDistance   = terrainSettingsScript.treeBillboardDistance;
                treeMaximumFullLODCount = terrainSettingsScript.treeMaximumFullLODCount;
            }
        }
Example #2
0
        public void ApplySettings(TCUnityTerrain sTerrain, bool settingsEditor)
        {
            if (!CheckValidUnityTerrain())
            {
                return;
            }

            terrain.drawHeightmap = sTerrain.drawHeightmap;
            #if UNITY_EDITOR
            terrain.bakeLightProbesForTrees = sTerrain.bakeLightProbesForTrees;
            #endif
            terrain.collectDetailPatches = sTerrain.collectDetailPatches;
            terrain.reflectionProbeUsage = sTerrain.reflectionProbeUsage;
            #if UNITY_5 || UNITY_2017 || UNITY_2018_1 || UNITY_2018_2 || UNITY_2018_3 || UNITY_2019_1
            terrain.legacyShininess = sTerrain.legacyShininess;
            terrain.legacySpecular  = sTerrain.legacySpecular;
            terrain.materialType    = sTerrain.materialType;
            #else
            terrain.materialTemplate = sTerrain.materialTemplate;
            #endif

            terrain.terrainData.thickness = sTerrain.thickness;
            terrain.basemapDistance       = sTerrain.basemapDistance;
            #if UNITY_5 || UNITY_2017 || UNITY_2018_1 || UNITY_2018_2 || UNITY_2018_3 || UNITY_2018_4
            terrain.castShadows = sTerrain.castShadows;
            #else
            terrain.shadowCastingMode = sTerrain.shadowCastingMode;
            #endif
            terrain.treeCrossFadeLength             = sTerrain.treeCrossFadeLength;
            terrain.terrainData.wavingGrassSpeed    = sTerrain.wavingGrassSpeed;
            terrain.terrainData.wavingGrassAmount   = sTerrain.wavingGrassAmount;
            terrain.terrainData.wavingGrassStrength = sTerrain.wavingGrassStrength;
            terrain.terrainData.wavingGrassTint     = sTerrain.wavingGrassTint;

            if (settingsEditor)
            {
                terrain.drawTreesAndFoliage = sTerrain.drawTreesAndFoliage;

                terrain.heightmapPixelError = sTerrain.heightmapPixelError;
                terrain.heightmapMaximumLOD = sTerrain.heightmapMaximumLOD;

                terrain.detailObjectDistance    = sTerrain.detailObjectDistance;
                terrain.detailObjectDensity     = sTerrain.detailObjectDensity;
                terrain.treeDistance            = sTerrain.treeDistance;
                terrain.treeBillboardDistance   = sTerrain.treeBillboardDistance;
                terrain.treeMaximumFullLODCount = sTerrain.treeMaximumFullLODCount;
            }
            else
            {
                if (terrainSettingsScript == null)
                {
                    terrainSettingsScript = terrain.gameObject.GetComponent <TC_TerrainSettings>();

                    if (terrainSettingsScript == null)
                    {
                        terrainSettingsScript = terrain.gameObject.AddComponent <TC_TerrainSettings>();
                    }
                }

                terrainSettingsScript.heightmapPixelError     = sTerrain.heightmapPixelError;
                terrainSettingsScript.heightmapMaximumLOD     = sTerrain.heightmapMaximumLOD;
                terrainSettingsScript.drawTreesAndFoliage     = sTerrain.drawTreesAndFoliage;
                terrainSettingsScript.treeDistance            = sTerrain.treeDistance;
                terrainSettingsScript.detailObjectDistance    = sTerrain.detailObjectDistance;
                terrainSettingsScript.detailObjectDensity     = sTerrain.detailObjectDensity;
                terrainSettingsScript.treeBillboardDistance   = sTerrain.treeBillboardDistance;
                terrainSettingsScript.treeMaximumFullLODCount = sTerrain.treeMaximumFullLODCount;
            }
        }