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