Ejemplo n.º 1
0
    // Use this for initialization
    void Start()
    {
        TerrainConfig = GameController.GetController <ConfigurationController>().TerrainConfig;
        TerrainSize   = TerrainConfig.World.width;

        InitializeTerrainMap();
        //GenerateTerrain();
    }
Ejemplo n.º 2
0
    public override void OnInspectorGUI()
    {
        TerrainConfiguration configuration = (TerrainConfiguration)target;

        configuration.Width  = EditorGUILayout.IntField("Width", configuration.Width);
        configuration.Height = EditorGUILayout.IntField("Height", configuration.Height);
        configuration.Length = EditorGUILayout.IntField("Length", configuration.Length);
    }
Ejemplo n.º 3
0
    public void ApplyWeatherSettings(TerrainConfiguration configuration)
    {
        Initialize();

        _terrainConfiguration = configuration;

        Shader.SetGlobalVector("_SnowAltitude", new Vector4(
                                   configuration.SnowAltitude - _snowBandWidth,
                                   configuration.SnowAltitude + _snowBandWidth));

        Shader.SetGlobalFloat("_Fogginess", configuration.Fogginess);
    }
Ejemplo n.º 4
0
 public static void ApplyTerrainQualitySettings(Terrain terrain, TerrainConfiguration configuration)
 {
     terrain.drawTreesAndFoliage     = configuration.DrawTreesAndFoliage;
     terrain.treeDistance            = configuration.TreeDistance;
     terrain.treeBillboardDistance   = configuration.TreeBillboardDistance;
     terrain.treeCrossFadeLength     = configuration.TreeCrossFadeLength;
     terrain.treeMaximumFullLODCount = configuration.TreeMaximumFullLODCount;
     terrain.detailObjectDistance    = configuration.DetailObjectDistance;
     terrain.detailObjectDensity     = configuration.DetailObjectDensity;
     terrain.heightmapPixelError     = configuration.HeightmapPixelError;
     terrain.heightmapMaximumLOD     = configuration.HeightmapMaximumLOD;
     terrain.castShadows             = configuration.CastShadows;
 }
Ejemplo n.º 5
0
    public void ApplyTerrainQualitySettings(TerrainConfiguration configuration)
    {
        Initialize();

        foreach (var lodGroup in _tiles)
        {
            foreach (var regionTile in lodGroup.Value)
            {
                LandmasImporter.ApplyTerrainQualitySettings(regionTile.Value.Terrain, configuration);
            }
        }

        _terrainConfiguration = configuration;
    }
    void ShowTerrainSettings()
    {
        LandmassEditorUtilities editorUtilities = LandmassEditorUtilities.Instance;
        ImporterConfiguration   importCfg       = editorUtilities.ImportCfg;
        TerrainConfiguration    terrainStreamingConfiguration = importCfg.TerrainConfiguration;

        EGL.BeginVertical();
        {
            EGL.BeginVertical(GuiUtils.Skin.box);
            {
                if (GUILayout.Button("Apply to selected TerrainData assets"))
                {
                    QueueCall(editorUtilities.ApplyDimensionsToSelection);
                }
            }
            EGL.EndVertical();

            EGL.Separator();

            EGL.BeginVertical(GuiUtils.Skin.box);
            {
                GUILayout.Label("In-game terrain LOD settings.");
                terrainStreamingConfiguration.HeightmapPixelError = EGL.Slider("Pixel Error", terrainStreamingConfiguration.HeightmapPixelError, 1f, 200f);
                terrainStreamingConfiguration.BasemapDistance     = EGL.FloatField("Basemap Dist.", terrainStreamingConfiguration.BasemapDistance);
                terrainStreamingConfiguration.CastShadows         = EGL.Toggle("Cast Shadows", terrainStreamingConfiguration.CastShadows);
                EGL.Separator();
                terrainStreamingConfiguration.DetailObjectDistance    = EGL.Slider("Detail Distance", terrainStreamingConfiguration.DetailObjectDistance, 0f, 250f);
                terrainStreamingConfiguration.DetailObjectDensity     = EGL.Slider("Detail Density", terrainStreamingConfiguration.DetailObjectDensity, 0f, 1f);
                terrainStreamingConfiguration.TreeDistance            = EGL.Slider("Tree Distance", terrainStreamingConfiguration.TreeDistance, 0f, 2000f);
                terrainStreamingConfiguration.TreeBillboardDistance   = EGL.Slider("Billboard Start", terrainStreamingConfiguration.TreeBillboardDistance, 50f, 2000f);
                terrainStreamingConfiguration.TreeCrossFadeLength     = EGL.Slider("Fade Length", terrainStreamingConfiguration.TreeCrossFadeLength, 0f, 200f);
                terrainStreamingConfiguration.TreeMaximumFullLODCount = EGL.IntSlider("Max Mesh Trees", terrainStreamingConfiguration.TreeMaximumFullLODCount, 0, 500);
                EGL.Separator();

                if (GUILayout.Button("Apply to selected Scene assets"))
                {
                    QueueCall(editorUtilities.ApplyTerrainLODSettingsToSelection);
                }
            }
            EGL.EndVertical();
        }
        EGL.EndVertical();
    }
Ejemplo n.º 7
0
 public static void ApplyTerrainWeatherSettings(Terrain terrain, TerrainConfiguration configuration)
 {
     terrain.materialTemplate.SetVector("_SnowAltitude", new Vector4(configuration.SnowAltitude - 250f, configuration.SnowAltitude + 250f));
 }
Ejemplo n.º 8
0
    // Use this for initialization
    void Start()
    {
        terrainConfig = Resolver.Instance.GetController<GlobalSettings>().terrainConfiguration;

        InitializeTerrainMap();

        GenerateTerrain();

        Debug.Log("Terrain Generation Complete " + Time.realtimeSinceStartup);
    }