protected void GeneratePalette() { List <ColorHSV> palette = RandomE.TetradicPalette(0.25f, 0.7f); targetPalette.mainColor = palette[0].WithSV(0.8f, 0.6f); targetPalette.secondaryColor = palette[1].WithSV(0.8f, 0.6f); targetPalette.skyColor = palette[2]; targetPalette.horizonColor = palette[3]; targetPalette.groundColor = ColorHSV.Lerp(targetPalette.skyColor, targetPalette.horizonColor, 0.5f); }
private void Generate() { targetPalette = RandomE.TetradicPalette(0.25f, 0.75f); targetPalette.Add(ColorHSV.Lerp(targetPalette[2], targetPalette[3], 0.5f)); controller = new BoidController(); var mesh = controller.Generate(targetPalette[0].WithSV(1, 1).ToColor(), targetPalette[1].WithSV(0.8f, 0.8f).ToColor()); meshFilter.mesh = mesh; }
public void Generate() { targetPalette = RandomE.TetradicPalette(0.25f, 0.75f); targetPalette.Add(ColorHSV.Lerp(targetPalette[0], targetPalette[1], 0.5f)); config.gradient = ColorE.Gradient(from: targetPalette[2].WithSV(0.8f, 0.8f), to: targetPalette[3].WithSV(0.8f, 0.8f)); var draft = LowPolyTerrainGenerator.TerrainDraft(config); draft.Move(Vector3.left * config.terrainSize.x / 2 + Vector3.back * config.terrainSize.z / 2); meshFilter.mesh = draft.ToMesh(); }
public void Generate() { Vector3 terrainSize = new Vector3(terrainSizeX, terrainSizeY, terrainSizeZ); targetPalette = RandomE.TetradicPalette(0.25f, 0.75f); targetPalette.Add(ColorHSV.Lerp(targetPalette[0], targetPalette[1], 0.5f)); var gradient = ColorE.Gradient(targetPalette[2].WithS(0.8f).WithV(0.8f), targetPalette[3].WithS(0.8f).WithV(0.8f)); var draft = LowPolyTerrainGenerator.TerrainDraft(terrainSize, cellSize, noiseScale, gradient); draft.Move(Vector3.left * terrainSizeX / 2 + Vector3.back * terrainSizeZ / 2); meshFilter.mesh = draft.ToMesh(); }
public Gradient BlendGradient(Gradient terrain_gradient, Gradient object_gradient) { List <ColorHSV> targetPalette = new List <ColorHSV>(); List <ColorHSV> currentPalette = new List <ColorHSV>(); targetPalette = RandomE.TetradicPalette(0.25f, 0.75f); Debug.Log(targetPalette.Count); ColorHSV groundColor = new ColorHSV(terrain_gradient.Evaluate(0)); ColorHSV newColor = new ColorHSV(object_gradient.Evaluate(1)); targetPalette.Add(ColorHSV.Lerp(groundColor, newColor, 0.5f)); var gradient = ColorE.Gradient(from: targetPalette[2].WithSV(0.8f, 0.8f), to: targetPalette[3].WithSV(0.8f, 0.8f)); return(object_gradient); }
public void Generate() { targetPalette = RandomE.TetradicPalette(0.25f, 0.75f); targetPalette.Add(ColorHSV.Lerp(targetPalette[2], targetPalette[3], 0.5f)); var chairDraft = ChairGenerator.Chair(legWidth, legHeight, seatWidth, seatDepth, seatHeight, backHeight, hasStretchers, hasArmrests, targetPalette[0].WithS(0.8f).WithV(0.8f).ToColor()); var chairMesh = chairDraft.ToMesh(); chairMesh.RecalculateBounds(); chairMeshFilter.mesh = chairMesh; float chairRadius = Mathf.Sqrt(seatWidth / 2f * seatWidth / 2f + seatDepth / 2f * seatDepth / 2f); float platformRadius = chairRadius + platformRadiusOffset; var platformMesh = Platform(platformRadius, platformBaseOffset, platformSegments, platformHeight).ToMesh(); platformMesh.RecalculateBounds(); platformMeshFilter.mesh = platformMesh; }
public void Generate() { targetPalette = RandomE.TetradicPalette(0.25f, 0.75f); targetPalette.Add(ColorHSV.Lerp(targetPalette[2], targetPalette[3], 0.5f)); config.color = targetPalette[0].WithSV(0.8f, 0.8f).ToColor(); var chairDraft = ChairGenerator.Chair(config); var chairMesh = chairDraft.ToMesh(); chairMesh.RecalculateBounds(); chairMeshFilter.mesh = chairMesh; float chairRadius = Mathf.Sqrt(config.seatWidth * config.seatWidth / 4 + config.seatDepth * config.seatDepth / 4); float platformRadius = chairRadius + platformRadiusOffset; var platformMesh = Platform(platformRadius, platformBaseOffset, platformSegments, platformHeight).ToMesh(); platformMesh.RecalculateBounds(); platformMeshFilter.mesh = platformMesh; }
private void Awake() { RenderSettings.skybox = new Material(RenderSettings.skybox); meshCollider = terrain.GetComponents <MeshCollider>()[0]; //Generate Gradient for scene targetPalette = RandomE.TetradicPalette(0.25f, 0.75f); targetPalette.Add(ColorHSV.Lerp(targetPalette[0], targetPalette[1], 0.5f)); var gradient = ColorE.Gradient(from: targetPalette[2].WithSV(0.8f, 0.8f), to: targetPalette[3].WithSV(0.8f, 0.8f)); grad = gradient; targetPalette = RandomE.TetradicPalette(0.25f, 0.75f); targetPalette.Add(ColorHSV.Lerp(targetPalette[0], targetPalette[1], 0.5f)); var gradient2 = ColorE.Gradient(from: targetPalette[2].WithSV(0.8f, 0.8f), to: targetPalette[3].WithSV(0.8f, 0.8f)); grad2 = gradient2; Generate(); currentPalette.AddRange(targetPalette); for (int i = 0; i < 10; i++) { Vector3 terrainSize = new Vector3(terrainSizeX, terrainSizeY, terrainSizeZ); var temp_draft = LowPolyTerrainGenerator.TerrainDraft(terrainSize, cellSize, noiseScale, grad); temp_draft.Move(Vector3.left * terrainSizeX / 2 + Vector3.back * terrainSizeZ / 2); pregen_graphs.Add(temp_draft); GameObject temp = (GameObject)Instantiate(terrain, new Vector3(0, -100, 0), terrain.transform.rotation); UpdateDraft(temp, temp_draft); pre_terrains.Add(temp); // temp.GetComponent<BoxCollider>(). } foreach (GameObject g in pre_terrains) { g.GetComponent <ObjectSpawner>().gradient1 = grad; g.GetComponent <ObjectSpawner>().gradient2 = grad2; } }
public void Generate() { targetPalette = RandomE.TetradicPalette(0.25f, 0.75f); targetPalette.Add(ColorHSV.Lerp(targetPalette[2], targetPalette[3], 0.5f)); var buildingDraft = BuildingGenerator.BuildingDraft(width, length, floorCount, hasAttic, targetPalette[0].WithS(0.8f).WithV(0.8f).ToColor()); var buildingMesh = buildingDraft.ToMesh(); buildingMesh.RecalculateBounds(); buildingMeshFilter.mesh = buildingMesh; float buildingRadius = Mathf.Sqrt(length / 2f * length / 2f + width / 2f * width / 2f); float platformRadius = buildingRadius + platformRadiusOffset; var platformMesh = Platform(platformRadius, platformBaseOffset, platformSegments, platformHeight).ToMesh(); platformMesh.RecalculateBounds(); platformMeshFilter.mesh = platformMesh; }