Update HEADS to get the indexing/Cubic Mesher improvements from Voxelman. Updated most of the level generation logic. (A few errors still get printed to the console though.) Right now (temporarily) only the Cubic Mesher's mesh is visible.

This commit is contained in:
Relintai 2020-02-14 03:25:41 +01:00
parent c77dfd8350
commit d0a0d6ec39
6 changed files with 14 additions and 14 deletions

2
HEADS
View File

@ -1 +1 @@
{"engine": {"3.2": "8a0f94a688f18a9565a21657bf44791550aec96a", "master": "8c73e813134001e575b6f59e3b0100471c007410"}, "world_generator": {"master": "09372b146936fda509f5c23a522e998d12f38e13"}, "entity_spell_system": {"master": "0bdf71c431b62b24d56c1fc178dbcb792e5dca3d"}, "ui_extensions": {"master": "38acc650db260a831dc26ca96fe9d9a087230bdc"}, "voxelman": {"master": "8b08a9b14ff98f54a3658a9b79f247bafd723d44"}, "texture_packer": {"master": "b17c174906f84de93d84aa60d010ffe603efaa28"}, "fastnoise": {"master": "41b7ea05a1f7aa2b8ecddaa1fd739e64d6970f7e"}, "mesh_data_resource": {"master": "4bda19b12be2c2a79a6121de6d22e48f3934e726"}, "procedural_animations": {"master": "00f6c128bd0e9799b7f7f86e118ed68277fbe27d"}, "fast_quadratic_mesh_simplifier": {"master": "d3f3a829eff40a93464f6b321c13ce26d44e11e3"}, "ess_data": {"master": "3bd637fdd3304b64a18287a49a6b7387acf2f5de"}, "prop_tool": {"master": "df438053ebc900966f8f842fc65f0264f1271d49"}}
{"engine": {"3.2": "8a0f94a688f18a9565a21657bf44791550aec96a", "master": "8c73e813134001e575b6f59e3b0100471c007410"}, "world_generator": {"master": "09372b146936fda509f5c23a522e998d12f38e13"}, "entity_spell_system": {"master": "0bdf71c431b62b24d56c1fc178dbcb792e5dca3d"}, "ui_extensions": {"master": "38acc650db260a831dc26ca96fe9d9a087230bdc"}, "voxelman": {"master": "a457ed400c3980b40fe800ea43fdb7a0870079a2"}, "texture_packer": {"master": "b17c174906f84de93d84aa60d010ffe603efaa28"}, "fastnoise": {"master": "41b7ea05a1f7aa2b8ecddaa1fd739e64d6970f7e"}, "mesh_data_resource": {"master": "4bda19b12be2c2a79a6121de6d22e48f3934e726"}, "procedural_animations": {"master": "00f6c128bd0e9799b7f7f86e118ed68277fbe27d"}, "fast_quadratic_mesh_simplifier": {"master": "655be02357fb4fd9d8d1b537758c1599fb37bb15"}, "ess_data": {"master": "3bd637fdd3304b64a18287a49a6b7387acf2f5de"}, "prop_tool": {"master": "df438053ebc900966f8f842fc65f0264f1271d49"}}

View File

@ -20,7 +20,6 @@
[ext_resource path="res://scripts/world_generators/MainPlanetGenerator.gd" type="Script" id=18]
[ext_resource path="res://scripts/settings/DirectionalLightSettings.gd" type="Script" id=19]
[sub_resource type="VoxelmanLevelGenerator" id=1]
script = ExtResource( 18 )
_force_planet = -1
@ -563,6 +562,8 @@ current = true
[node name="World" type="VoxelWorld" parent="." groups=[
"save",
]]
data_margin_start = 1
data_margin_end = 2
use_threads = false
max_concurrent_generations = 1
library = ExtResource( 17 )

View File

@ -56,10 +56,13 @@ adjustment_enabled = true
[node name="World" type="VoxelWorld" groups=[
"save",
]]
data_margin_start = 1
data_margin_end = 2
use_threads = false
max_concurrent_generations = 1
library = ExtResource( 2 )
level_generator = SubResource( 1 )
voxel_scale = 1.3
chunk_spawn_range = 3
script = ExtResource( 8 )

View File

@ -26,9 +26,6 @@ func _generate_chunk(chunk: VoxelChunk, spawn_mobs: bool) -> void:
generate_terrarin(chunk, spawn_mobs)
func generate_terrarin(chunk : VoxelChunk, spawn_mobs: bool) -> void:
# chunk.create(int(chunk.size_x) + 1, int(chunk.size_y) + 1, int(chunk.size_z) + 1)
chunk.set_size(int(chunk.size_x), int(chunk.size_y), int(chunk.size_z), 0, 1)
var noise : OpenSimplexNoise = OpenSimplexNoise.new()
noise.seed = 10 * current_seed
noise.octaves = 4
@ -47,8 +44,8 @@ func generate_terrarin(chunk : VoxelChunk, spawn_mobs: bool) -> void:
det_noise.period = 80.0
det_noise.persistence = 0.3
for x in range(0, chunk.size_x + 1):
for z in range(0, chunk.size_z + 1):
for x in range(-chunk.get_margin_start(), chunk.size_x + chunk.get_margin_end()):
for z in range(-chunk.get_margin_start(), chunk.size_z + chunk.get_margin_end()):
var val : float = noise.get_noise_2d(x + (chunk.position_x * chunk.size_x), z + (chunk.position_z * chunk.size_z))
val *= val
val *= 200
@ -66,10 +63,10 @@ func generate_terrarin(chunk : VoxelChunk, spawn_mobs: bool) -> void:
v -= chunk.position_y * (chunk.size_y)
if v > chunk.size_y + 1:
v = chunk.size_y + 1
if v > chunk.size_y + chunk.get_margin_end():
v = chunk.size_y + chunk.get_margin_end()
for y in range(0, v):
for y in range(-chunk.get_margin_start(), v):
seed(x + (chunk.position_x * chunk.size_x) + z + (chunk.position_z * chunk.size_z) + y + (chunk.position_y * chunk.size_y))

View File

@ -47,12 +47,11 @@ func _create_meshers():
var mesher : TVVoxelMesher = TVVoxelMesher.new()
mesher.base_light_value = 0.45
mesher.ao_strength = 0.2
# var m : float = 1.0 / 16.0
mesher.uv_margin = Rect2(0.017, 0.017, 1 - 0.034, 1 - 0.034)
add_mesher(mesher)
add_mesher(VoxelMesherCubic.new())
_prop_texture_packer = TexturePacker.new()
_prop_texture_packer.max_atlas_size = 1024
_prop_texture_packer.margin = 1

View File

@ -373,7 +373,7 @@ func get_case_code(buffer : VoxelChunk, x : int, y : int, z : int, size : int =
return case_code
func _add_chunk(buffer : VoxelChunk) -> void:
func _add_chunk(buffer : Node) -> void:
var x_size : int = buffer.get_size_x() - 1
var y_size : int = buffer.get_size_y() - 1
var z_size : int = buffer.get_size_z() - 1