Update to match module changes
parent
5c4a798892
commit
d577f0c35d
|
@ -91,5 +91,3 @@ func _input(event):
|
||||||
if event.pressed and event.scancode == KEY_ESCAPE:
|
if event.pressed and event.scancode == KEY_ESCAPE:
|
||||||
# Get the mouse back
|
# Get the mouse back
|
||||||
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,13 @@ class Grid extends _Base:
|
||||||
|
|
||||||
|
|
||||||
class Heightmap extends _Base:
|
class Heightmap extends _Base:
|
||||||
|
var _noise2 = OsnNoise.new()
|
||||||
|
|
||||||
|
func _init():
|
||||||
|
_noise2.set_seed(_noise.get_seed() + 1)
|
||||||
|
|
||||||
func generate(voxels, offset):
|
func generate(voxels, offset):
|
||||||
|
offset *= 16
|
||||||
var ox = offset.x
|
var ox = offset.x
|
||||||
var oy = offset.y
|
var oy = offset.y
|
||||||
var oz = offset.z
|
var oz = offset.z
|
||||||
|
@ -51,30 +57,47 @@ class Heightmap extends _Base:
|
||||||
if oy < 0:
|
if oy < 0:
|
||||||
dirt = 2
|
dirt = 2
|
||||||
|
|
||||||
|
var air = 0
|
||||||
|
if oy < 0:
|
||||||
|
air = 4
|
||||||
|
|
||||||
var bs = voxels.get_size_x()
|
var bs = voxels.get_size_x()
|
||||||
|
|
||||||
var noise1 = OsnFractalNoise.new()
|
var noise1 = OsnFractalNoise.new()
|
||||||
noise1.set_source_noise(_noise)
|
noise1.set_source_noise(_noise)
|
||||||
noise1.set_period(128)
|
noise1.set_period(150)
|
||||||
noise1.set_octaves(4)
|
noise1.set_octaves(5)
|
||||||
|
|
||||||
|
var noise2 = OsnFractalNoise.new()
|
||||||
|
noise2.set_source_noise(_noise2)
|
||||||
|
noise2.set_period(256)
|
||||||
|
noise2.set_octaves(5)
|
||||||
|
|
||||||
for z in range(0, bs):
|
for z in range(0, bs):
|
||||||
for x in range(0, bs):
|
for x in range(0, bs):
|
||||||
|
|
||||||
var h = floor(16.0 * noise1.get_noise_2d(ox+x, oz+z) - oy)
|
#var n2 = noise2.get_noise_2d(ox+x, oz+z)
|
||||||
|
# n2 = (n2+0.5)*8 - 1
|
||||||
|
# if n2 > 0.0:
|
||||||
|
# n2 = 0.0
|
||||||
|
|
||||||
|
var n1 = noise1.get_noise_2d(ox+x, oz+z)
|
||||||
|
|
||||||
|
var h = floor(64.0 * n1 - oy)
|
||||||
|
|
||||||
if h >= 0:
|
if h >= 0:
|
||||||
if h < bs:
|
if h < bs:
|
||||||
voxels.fill_area(dirt, Vector3(x,0,z), Vector3(x+1,h,z+1))
|
voxels.fill_area(dirt, Vector3(x,0,z), Vector3(x+1,h,z+1))
|
||||||
voxels.fill_area(0, Vector3(x,h,z), Vector3(x+1,bs,z+1))
|
voxels.fill_area(air, Vector3(x,h,z), Vector3(x+1,bs,z+1))
|
||||||
else:
|
else:
|
||||||
voxels.fill_area(dirt, Vector3(x,0,z), Vector3(x+1,bs,z+1))
|
voxels.fill_area(dirt, Vector3(x,0,z), Vector3(x+1,bs,z+1))
|
||||||
else:
|
else:
|
||||||
voxels.fill_area(0, Vector3(x,0,z), Vector3(x+1,bs,z+1))
|
voxels.fill_area(air, Vector3(x,0,z), Vector3(x+1,bs,z+1))
|
||||||
|
|
||||||
|
|
||||||
class Volume extends _Base:
|
class Volume extends _Base:
|
||||||
func generate(voxels, offset):
|
func generate(voxels, offset):
|
||||||
|
offset *= 16
|
||||||
var ox = offset.x
|
var ox = offset.x
|
||||||
var oy = offset.y
|
var oy = offset.y
|
||||||
var oz = offset.z
|
var oz = offset.z
|
||||||
|
@ -95,7 +118,7 @@ class Volume extends _Base:
|
||||||
for y in range(0, bs):
|
for y in range(0, bs):
|
||||||
var gy = y+oy
|
var gy = y+oy
|
||||||
var h = noise1.get_noise_3d(x+ox+2, gy, z+oz)
|
var h = noise1.get_noise_3d(x+ox+2, gy, z+oz)
|
||||||
if h < 1-gy*0.01 - 1:
|
if h < 1-gy*0.005 - 1:
|
||||||
voxels.set_voxel(dirt, x, y, z)
|
voxels.set_voxel(dirt, x, y, z)
|
||||||
empty = false
|
empty = false
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -13,6 +13,8 @@ margin/top = 116.0
|
||||||
margin/right = 394.0
|
margin/right = 394.0
|
||||||
margin/bottom = 156.0
|
margin/bottom = 156.0
|
||||||
toggle_mode = false
|
toggle_mode = false
|
||||||
|
enabled_focus_mode = 2
|
||||||
|
shortcut = null
|
||||||
text = "Start"
|
text = "Start"
|
||||||
flat = false
|
flat = false
|
||||||
script/script = ExtResource( 1 )
|
script/script = ExtResource( 1 )
|
||||||
|
|
|
@ -93,7 +93,7 @@ background/energy = 1.0
|
||||||
background/scale = 1.0
|
background/scale = 1.0
|
||||||
background/glow = 0.0
|
background/glow = 0.0
|
||||||
background/canvas_max_layer = null
|
background/canvas_max_layer = null
|
||||||
glow/enabled = true
|
glow/enabled = false
|
||||||
glow/blur_passes = 1
|
glow/blur_passes = 1
|
||||||
glow/blur_scale = 1
|
glow/blur_scale = 1
|
||||||
glow/blur_strength = 1
|
glow/blur_strength = 1
|
||||||
|
@ -114,10 +114,10 @@ hdr/min_luminance = 0.4
|
||||||
hdr/max_luminance = 8.0
|
hdr/max_luminance = 8.0
|
||||||
hdr/exposure_adj_speed = 0.5
|
hdr/exposure_adj_speed = 0.5
|
||||||
fog/enabled = true
|
fog/enabled = true
|
||||||
fog/begin = 0.01
|
fog/begin = 32.0
|
||||||
fog/begin_color = Color( 0, 0, 0, 1 )
|
fog/begin_color = Color( 0, 0, 0, 1 )
|
||||||
fog/end_color = Color( 0.443137, 0.643137, 0.670588, 1 )
|
fog/end_color = Color( 0.443137, 0.643137, 0.670588, 1 )
|
||||||
fog/attenuation = 0.707107
|
fog/attenuation = 2.14355
|
||||||
fog/bg = true
|
fog/bg = true
|
||||||
bcs/enabled = false
|
bcs/enabled = false
|
||||||
bcs/brightness = 1.0
|
bcs/brightness = 1.0
|
||||||
|
@ -129,6 +129,7 @@ srgb/enabled = false
|
||||||
|
|
||||||
[node name="Camera" type="Camera" parent="."]
|
[node name="Camera" type="Camera" parent="."]
|
||||||
|
|
||||||
|
editor/display_folded = true
|
||||||
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||||
transform/local = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0 )
|
transform/local = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0 )
|
||||||
projection = 0
|
projection = 0
|
||||||
|
@ -142,7 +143,6 @@ environment = null
|
||||||
h_offset = 0.0
|
h_offset = 0.0
|
||||||
v_offset = 0.0
|
v_offset = 0.0
|
||||||
script/script = ExtResource( 1 )
|
script/script = ExtResource( 1 )
|
||||||
__meta__ = { "_editor_collapsed":true }
|
|
||||||
sensitivity = 0.4
|
sensitivity = 0.4
|
||||||
min_angle = -90
|
min_angle = -90
|
||||||
max_angle = 90
|
max_angle = 90
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
extends VoxelProvider
|
||||||
|
|
||||||
|
const Generators = preload("generator.gd")
|
||||||
|
|
||||||
|
var _generator = null
|
||||||
|
|
||||||
|
|
||||||
|
func _init():
|
||||||
|
_generator = Generators.Volume.new()
|
||||||
|
|
||||||
|
|
||||||
|
func emerge_block(out_buffer, block_pos):
|
||||||
|
_generator.generate(out_buffer, block_pos)
|
||||||
|
|
||||||
|
|
||||||
|
#func immerge_block(buffer, bock_pos):
|
||||||
|
# pass
|
|
@ -1,6 +1,8 @@
|
||||||
|
|
||||||
extends VoxelTerrain
|
extends VoxelTerrain
|
||||||
|
|
||||||
|
const CustomProvider = preload("provider.gd")
|
||||||
|
|
||||||
export(Material) var solid_material = null
|
export(Material) var solid_material = null
|
||||||
export(Material) var transparent_material = null
|
export(Material) var transparent_material = null
|
||||||
|
|
||||||
|
@ -9,9 +11,6 @@ var _generator = null
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
var gen = preload("generator.gd")
|
|
||||||
_generator = gen.Heightmap.new()
|
|
||||||
|
|
||||||
_library.set_atlas_size(4)
|
_library.set_atlas_size(4)
|
||||||
_library.create_voxel(0, "air").set_transparent()
|
_library.create_voxel(0, "air").set_transparent()
|
||||||
_library.create_voxel(1, "grass_dirt").set_cube_geometry().set_cube_uv_tbs_sides(Vector2(0,0), Vector2(0,1), Vector2(1,0))
|
_library.create_voxel(1, "grass_dirt").set_cube_geometry().set_cube_uv_tbs_sides(Vector2(0,0), Vector2(0,1), Vector2(1,0))
|
||||||
|
@ -24,13 +23,11 @@ func _ready():
|
||||||
mesher.set_material(solid_material, 0)
|
mesher.set_material(solid_material, 0)
|
||||||
mesher.set_material(transparent_material, 1)
|
mesher.set_material(transparent_material, 1)
|
||||||
|
|
||||||
force_load_blocks(Vector3(0,0,0), Vector3(8,3,8))
|
set_provider(CustomProvider.new())
|
||||||
|
|
||||||
|
force_load_blocks(Vector3(0,0,0), Vector3(12,4,12))
|
||||||
# TODO option to execute this method in a thread
|
# var Testouille = preload("debug_camera.gd")
|
||||||
func _generate_block(voxels, block_pos):
|
# var t = Testouille.new()
|
||||||
#print("Generating block " + str(block_pos))
|
# t.lolance()
|
||||||
var offset = block_to_voxel(block_pos)
|
|
||||||
_generator.generate(voxels, offset)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue