예제 #1
0
    public void setConfig(string configStr)
    {
        ConfigurationCollector.ServerConfig config = JsonUtility.FromJson <ConfigurationCollector.ServerConfig>(configStr);

        // Set LowPolyTerrainGenerator - Config
        LowPolyTerrainGenerator.Config terrainConfig = new LowPolyTerrainGenerator.Config();

        // terrain: cell size, noise scale
        terrainConfig.cellSize   = config.cellSize;
        terrainConfig.noiseScale = config.noiseScale;
        // terrain, va: height vs. valence arousal, noise vs. valence arousal
        terrainConfig.heightValenceDirect  = config.heightRelations[0];
        terrainConfig.heightValenceInverse = config.heightRelations[1];
        terrainConfig.heightArousalDirect  = config.heightRelations[2];
        terrainConfig.heightArousalInverse = config.heightRelations[3];

        terrainConfig.noiseValenceDirect  = config.noiseRelations[0];
        terrainConfig.noiseValenceInverse = config.noiseRelations[1];
        terrainConfig.noiseArousalDirect  = config.noiseRelations[2];
        terrainConfig.noiseArousalInverse = config.noiseRelations[3];

        terrain.setConfig(terrainConfig);
        terrain.Generate();

        // Set Light Properties
        // colors: skybox atmosphere thickness, sea material color, light colors
        lights.setAtmosphereThickness(config.atmosphereThickness);
        lights.setSeaColor(config.seaColor);
        lights.setLightColors(config.lightHSV);

        // TODO implement path + interpolation stuff
        // path: object positions (x,y, (z)) coordinates -- z should be fitted somehow
    }
    public void uploadConfig()
    {
        // Get from LowPolyTerrainGenerator - Config
        LowPolyTerrainGenerator.Config terrainConfig = terrain.getConfig();
        // terrain: cell size, noise scale
        config.cellSize   = terrainConfig.cellSize;
        config.noiseScale = terrainConfig.noiseScale;
        // terrain, va: height vs. valence arousal, noise vs. valence arousal
        config.heightRelations    = new bool[4];
        config.noiseRelations     = new bool[4];
        config.heightRelations[0] = terrainConfig.heightValenceDirect;
        config.heightRelations[1] = terrainConfig.heightValenceInverse;
        config.heightRelations[2] = terrainConfig.heightArousalDirect;
        config.heightRelations[3] = terrainConfig.heightArousalInverse;

        config.noiseRelations[0] = terrainConfig.noiseValenceDirect;
        config.noiseRelations[1] = terrainConfig.noiseValenceInverse;
        config.noiseRelations[2] = terrainConfig.noiseArousalDirect;
        config.noiseRelations[3] = terrainConfig.noiseArousalInverse;

        // Get from LightPanel
        // colors: skybox atmosphere thickness, sea material color
        config.atmosphereThickness = lights.getAtmosphereThickness();
        config.seaColor            = lights.getSeaColor();
        // colors, va: saturation vs. valence arousal, brightness vs. valence arousal
        // colors, regions: hue values for 9 lights (or combine with prev step and get hsv or rgb)
        config.lightHSV = lights.getLightColors();

        // Get from LightPlacer
        // path: object positions (x,y, (z)) coordinates -- z should be fitted somehow
        config.terrainName = nameField.text;
        config.terrainPass = passField.text;
        string json = JsonUtility.ToJson(config);

        Debug.Log(json);
        StartCoroutine(upload(json));
        //upload(json);
        //return config;
    }
예제 #3
0
    public void setConfig()
    {
        //TODO get config via HTTP request
        ConfigurationCollector.ServerConfig config = JsonUtility.FromJson <ConfigurationCollector.ServerConfig>(configStr);

        // Set LowPolyTerrainGenerator - Config
        LowPolyTerrainGenerator.Config terrainConfig = new LowPolyTerrainGenerator.Config();

        // terrain: cell size, noise scale
        terrainConfig.cellSize   = config.cellSize;
        terrainConfig.noiseScale = config.noiseScale;
        // terrain, va: height vs. valence arousal, noise vs. valence arousal
        terrainConfig.heightValenceDirect  = config.heightRelations[0];
        terrainConfig.heightValenceInverse = config.heightRelations[1];
        terrainConfig.heightArousalDirect  = config.heightRelations[2];
        terrainConfig.heightArousalInverse = config.heightRelations[3];

        terrainConfig.noiseValenceDirect  = config.noiseRelations[0];
        terrainConfig.noiseValenceInverse = config.noiseRelations[1];
        terrainConfig.noiseArousalDirect  = config.noiseRelations[2];
        terrainConfig.noiseArousalInverse = config.noiseRelations[3];

        terrain.setConfig(terrainConfig);
        terrain.Generate();

        // Set Light Properties
        // colors: skybox atmosphere thickness, sea material color
        skyboxMat.SetFloat("_AtmosphereThickness", config.atmosphereThickness);
        seaMat.SetColor("_EmissionColor", Color.HSVToRGB(config.seaColor.x, config.seaColor.y, config.seaColor.z));
        // colors, va: saturation vs. valence arousal, brightness vs. valence arousal
        // colors, regions: hue values for 9 lights (or combine with prev step and get hsv or rgb)
        setLightColors(config.lightHSV);
        setLightHeights(config.heightRelations);

        // TODO implement path + interpolation stuff
        // path: object positions (x,y, (z)) coordinates -- z should be fitted somehow
    }