diff --git a/main.py b/main.py index ff1ece2..7e6688f 100644 --- a/main.py +++ b/main.py @@ -71,14 +71,6 @@ def main(): # get the random data for the buildings y = YamlReader('params.yml') random_data = y.data - - # move your editor wto the position you wanna build on - transform = Transform((75, -60, 110), rotation=0) - editor.transform.push(transform) - - # clear the area you build on - geometry.placeCuboid(editor, (-5, 0, -8), (25, 100, 25), Block("air")) - # create a building at the relative position 0,0 with 20 blocks length and 20 blocks width, with a normal shape and 10 floors # build it with your custom materials @@ -87,26 +79,25 @@ def main(): height = get_height_building_from_center( center, (buildings[0][0], buildings[0][2]), length_world) start = (min(buildings[0][0], buildings[1][0]) + origin[0], buildings[0] - [1], min(buildings[0][2], buildings[1][2]) + origin[1]) - end = (max(buildings[0][0], buildings[1][0]) + origin[0], buildings[1] + [1]+height, min(buildings[0][2], buildings[1][2]) + origin[1]) + end = (max(buildings[0][0], buildings[1][0]) + origin[0], + buildings[1] [1], max(buildings[0][2], buildings[1][2]) + origin[1]) - transform = Transform(start, rotation=0) - editor.transform.push(transform) - + print("---", start, end) building = Building(random_data["buildings"], [ - (0, 0, 0), (end[0] - start[0], height, end[2] - start[2])], baseShape, DIRECTION.EAST) + start, end], baseShape, DIRECTION.EAST) building.build(editor, ["stone_bricks", "glass_pane", "glass", "cobblestone_wall", "stone_brick_stairs", "oak_planks", "white_concrete", "cobblestone", "stone_brick_slab", "iron_bars"]) - for buildings in rectangle_house_mountain: - start = (buildings[0][0] + origin[0], buildings[0] - [1], buildings[0][2] + origin[1]) - end = (buildings[1][0] + origin[0], buildings[1] - [1], buildings[1][2] + origin[1]) - house = House(editor, start, end, - entranceDirection[random.randint(0, 3)], blocks) - house.build() + # for buildings in rectangle_house_mountain: + # start = (buildings[0][0] + origin[0], buildings[0] + # [1], buildings[0][2] + origin[1]) + # end = (buildings[1][0] + origin[0], buildings[1] + # [1], buildings[1][2] + origin[1]) + # house = House(editor, start, end, + # entranceDirection[random.randint(0, 3)], blocks) + # house.build() def get_height_building_from_center(center, position, length_world): diff --git a/world_maker/data/building.png b/world_maker/data/building.png index 50e84fd..ff5d4a3 100644 Binary files a/world_maker/data/building.png and b/world_maker/data/building.png differ diff --git a/world_maker/data/building_moutain.png b/world_maker/data/building_moutain.png index 98933ce..3166955 100644 Binary files a/world_maker/data/building_moutain.png and b/world_maker/data/building_moutain.png differ diff --git a/world_maker/data/city_map.png b/world_maker/data/city_map.png index 90cf32f..63fbcbe 100644 Binary files a/world_maker/data/city_map.png and b/world_maker/data/city_map.png differ diff --git a/world_maker/data/district.png b/world_maker/data/district.png index 0046569..60dd8e7 100644 Binary files a/world_maker/data/district.png and b/world_maker/data/district.png differ diff --git a/world_maker/data/full_road.png b/world_maker/data/full_road.png index e1012ce..aca0905 100644 Binary files a/world_maker/data/full_road.png and b/world_maker/data/full_road.png differ diff --git a/world_maker/data/heightmap.png b/world_maker/data/heightmap.png index f7fd33d..22adcdc 100644 Binary files a/world_maker/data/heightmap.png and b/world_maker/data/heightmap.png differ diff --git a/world_maker/data/heightmap_smooth.png b/world_maker/data/heightmap_smooth.png index 063e77e..e31fee8 100644 Binary files a/world_maker/data/heightmap_smooth.png and b/world_maker/data/heightmap_smooth.png differ diff --git a/world_maker/data/heightmap_smooth_2.png b/world_maker/data/heightmap_smooth_2.png index e71b890..9af61c1 100644 Binary files a/world_maker/data/heightmap_smooth_2.png and b/world_maker/data/heightmap_smooth_2.png differ diff --git a/world_maker/data/heightmap_with_building.png b/world_maker/data/heightmap_with_building.png index f2118a4..2a0f40e 100644 Binary files a/world_maker/data/heightmap_with_building.png and b/world_maker/data/heightmap_with_building.png differ diff --git a/world_maker/data/mountain_map.png b/world_maker/data/mountain_map.png index db0394f..5e0bf75 100644 Binary files a/world_maker/data/mountain_map.png and b/world_maker/data/mountain_map.png differ diff --git a/world_maker/data/road_heightmap.png b/world_maker/data/road_heightmap.png index 70387cd..3a590f5 100644 Binary files a/world_maker/data/road_heightmap.png and b/world_maker/data/road_heightmap.png differ diff --git a/world_maker/data/roadmap.png b/world_maker/data/roadmap.png index 5519918..f700c13 100644 Binary files a/world_maker/data/roadmap.png and b/world_maker/data/roadmap.png differ diff --git a/world_maker/data/skeleton_highway.png b/world_maker/data/skeleton_highway.png index 1bf7b48..4065533 100644 Binary files a/world_maker/data/skeleton_highway.png and b/world_maker/data/skeleton_highway.png differ diff --git a/world_maker/data/skeleton_highway_area.png b/world_maker/data/skeleton_highway_area.png index dae9ab0..e02335c 100644 Binary files a/world_maker/data/skeleton_highway_area.png and b/world_maker/data/skeleton_highway_area.png differ diff --git a/world_maker/data/skeleton_mountain.png b/world_maker/data/skeleton_mountain.png index f75a376..489f968 100644 Binary files a/world_maker/data/skeleton_mountain.png and b/world_maker/data/skeleton_mountain.png differ diff --git a/world_maker/data/skeleton_mountain_area.png b/world_maker/data/skeleton_mountain_area.png index 4ee1114..eaf6e02 100644 Binary files a/world_maker/data/skeleton_mountain_area.png and b/world_maker/data/skeleton_mountain_area.png differ diff --git a/world_maker/data/smooth_for_highway.png b/world_maker/data/smooth_for_highway.png index ed6d8b7..6f4f073 100644 Binary files a/world_maker/data/smooth_for_highway.png and b/world_maker/data/smooth_for_highway.png differ diff --git a/world_maker/data/smooth_sobel_watermap.png b/world_maker/data/smooth_sobel_watermap.png index f0dc10e..ce4ae43 100644 Binary files a/world_maker/data/smooth_sobel_watermap.png and b/world_maker/data/smooth_sobel_watermap.png differ diff --git a/world_maker/data/sobelmap.png b/world_maker/data/sobelmap.png index d7485e2..93a42cc 100644 Binary files a/world_maker/data/sobelmap.png and b/world_maker/data/sobelmap.png differ diff --git a/world_maker/data/sobelmap_from_smooth.png b/world_maker/data/sobelmap_from_smooth.png index 4afcc94..a4f773e 100644 Binary files a/world_maker/data/sobelmap_from_smooth.png and b/world_maker/data/sobelmap_from_smooth.png differ diff --git a/world_maker/data/treemap.png b/world_maker/data/treemap.png index d06ca6a..db2d51c 100644 Binary files a/world_maker/data/treemap.png and b/world_maker/data/treemap.png differ diff --git a/world_maker/data/watermap.png b/world_maker/data/watermap.png index 3d72196..df6e299 100644 Binary files a/world_maker/data/watermap.png and b/world_maker/data/watermap.png differ diff --git a/world_maker/pack_rectangle.py b/world_maker/pack_rectangle.py index 188b900..579a416 100644 --- a/world_maker/pack_rectangle.py +++ b/world_maker/pack_rectangle.py @@ -97,7 +97,7 @@ def area_of_rectangles(rectangles): def generate_building(image: str | Image.Image, heightmap: str | Image.Image, output: str = './world_maker/data/building.png', - number_of_try: int = 1, min_width: int = 10, max_width: int = 25): + number_of_try: int = 3, min_width: int = 10, max_width: int = 25): print("[Building] Start generating building position...") image = handle_import_image(image).convert('L') rectangles_output = [] diff --git a/world_maker/world_maker.py b/world_maker/world_maker.py index 230f1dc..d954c3a 100644 --- a/world_maker/world_maker.py +++ b/world_maker/world_maker.py @@ -46,7 +46,7 @@ def world_maker(): './world_maker/data/mountain_map.png').save('./world_maker/data/city_map.png') rectangle_building = generate_building( - './world_maker/data/city_map.png', './world_maker/data/heightmap.png', output='./world_maker/data/building.png') + './world_maker/data/city_map.png', './world_maker/data/heightmap.png', output='./world_maker/data/building.png', min_width=16, max_width=30) rectangle_building = rectangle_2D_to_3D(rectangle_building) # Houses @@ -60,7 +60,8 @@ def world_maker(): rectangle_mountain = generate_building( './world_maker/data/mountain_map.png', './world_maker/data/heightmap.png', output='./world_maker/data/building_moutain.png') - rectangle_mountain = rectangle_2D_to_3D(rectangle_mountain) + rectangle_mountain = rectangle_2D_to_3D( + rectangle_mountain) # Road heightmap_smooth_2 = filter_smooth(heightmap, 4)