Generate noise heightmap cubes mixed with smooth voxels
parent
376d312ae6
commit
13e4e8f7ff
|
@ -50,7 +50,7 @@ func _fixed_process(delta):
|
|||
elif Input.is_action_just_pressed("action2"):
|
||||
var pos = hit.prev_position
|
||||
if can_place_voxel_at(pos):
|
||||
_terrain.get_storage().set_voxel_v(1, pos)
|
||||
_terrain.get_storage().set_voxel_v(2, pos)
|
||||
_terrain.make_voxel_dirty(pos)
|
||||
else:
|
||||
print("Can't place here!")
|
||||
|
|
|
@ -0,0 +1,163 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[sub_resource type="FixedSpatialMaterial" id=1]
|
||||
|
||||
flags_transparent = false
|
||||
flags_unshaded = false
|
||||
flags_on_top = false
|
||||
flags_use_point_size = false
|
||||
vertex_color_use_as_albedo = false
|
||||
vertex_color_is_srgb = false
|
||||
params_diffuse_mode = 0
|
||||
params_blend_mode = 0
|
||||
params_cull_mode = 0
|
||||
params_depth_draw_mode = 0
|
||||
params_line_width = 1.0
|
||||
params_point_size = 1.0
|
||||
albedo_color = Color( 0.917969, 0.190048, 0.190048, 1 )
|
||||
specular_mode = 0
|
||||
specular_color = Color( 0.1, 0.1, 0.1, 1 )
|
||||
specular_metalness = 0.1
|
||||
specular_roughness = 0.0
|
||||
emission_enabled = false
|
||||
normal_enabled = false
|
||||
rim_enabled = false
|
||||
clearcoat_enabled = false
|
||||
anisotropy_enabled = false
|
||||
ao_enabled = false
|
||||
height_enabled = false
|
||||
subsurf_scatter_enabled = false
|
||||
refraction_enabled = false
|
||||
detail_enabled = false
|
||||
uv1_scale = Vector2( 1, 1 )
|
||||
uv1_offset = Vector2( 0, 0 )
|
||||
uv2_scale = Vector2( 1, 1 )
|
||||
uv2_offset = Vector2( 0, 0 )
|
||||
|
||||
[sub_resource type="FixedSpatialMaterial" id=2]
|
||||
|
||||
flags_transparent = false
|
||||
flags_unshaded = false
|
||||
flags_on_top = false
|
||||
flags_use_point_size = false
|
||||
vertex_color_use_as_albedo = false
|
||||
vertex_color_is_srgb = false
|
||||
params_diffuse_mode = 0
|
||||
params_blend_mode = 0
|
||||
params_cull_mode = 0
|
||||
params_depth_draw_mode = 0
|
||||
params_line_width = 1.0
|
||||
params_point_size = 1.0
|
||||
albedo_color = Color( 0.359497, 0.742188, 0.401354, 1 )
|
||||
specular_mode = 0
|
||||
specular_color = Color( 0.1, 0.1, 0.1, 1 )
|
||||
specular_metalness = 0.1
|
||||
specular_roughness = 0.0
|
||||
emission_enabled = false
|
||||
normal_enabled = false
|
||||
rim_enabled = false
|
||||
clearcoat_enabled = false
|
||||
anisotropy_enabled = false
|
||||
ao_enabled = false
|
||||
height_enabled = false
|
||||
subsurf_scatter_enabled = false
|
||||
refraction_enabled = false
|
||||
detail_enabled = false
|
||||
uv1_scale = Vector2( 1, 1 )
|
||||
uv1_offset = Vector2( 0, 0 )
|
||||
uv2_scale = Vector2( 1, 1 )
|
||||
uv2_offset = Vector2( 0, 0 )
|
||||
|
||||
[sub_resource type="FixedSpatialMaterial" id=3]
|
||||
|
||||
flags_transparent = false
|
||||
flags_unshaded = false
|
||||
flags_on_top = false
|
||||
flags_use_point_size = false
|
||||
vertex_color_use_as_albedo = false
|
||||
vertex_color_is_srgb = false
|
||||
params_diffuse_mode = 0
|
||||
params_blend_mode = 0
|
||||
params_cull_mode = 0
|
||||
params_depth_draw_mode = 0
|
||||
params_line_width = 1.0
|
||||
params_point_size = 1.0
|
||||
albedo_color = Color( 0.168533, 0.478846, 0.917969, 1 )
|
||||
specular_mode = 0
|
||||
specular_color = Color( 0.1, 0.1, 0.1, 1 )
|
||||
specular_metalness = 0.1
|
||||
specular_roughness = 0.0
|
||||
emission_enabled = false
|
||||
normal_enabled = false
|
||||
rim_enabled = false
|
||||
clearcoat_enabled = false
|
||||
anisotropy_enabled = false
|
||||
ao_enabled = false
|
||||
height_enabled = false
|
||||
subsurf_scatter_enabled = false
|
||||
refraction_enabled = false
|
||||
detail_enabled = false
|
||||
uv1_scale = Vector2( 1, 1 )
|
||||
uv1_offset = Vector2( 0, 0 )
|
||||
uv2_scale = Vector2( 1, 1 )
|
||||
uv2_offset = Vector2( 0, 0 )
|
||||
|
||||
[node name="axes" type="Spatial"]
|
||||
|
||||
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
|
||||
[node name="X" type="TestCube" parent="."]
|
||||
|
||||
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 1.07512, 0, 0 )
|
||||
layers = 1
|
||||
material_override = SubResource( 1 )
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_as_billboard = false
|
||||
use_as_y_billboard = false
|
||||
use_depth_scale = false
|
||||
visible_in_all_rooms = false
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
|
||||
[node name="Y" type="TestCube" parent="."]
|
||||
|
||||
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
transform = Transform( 0.1, 0, 0, 0, 1, 0, 0, 0, 0.1, 0, 0.903888, 0 )
|
||||
layers = 1
|
||||
material_override = SubResource( 2 )
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_as_billboard = false
|
||||
use_as_y_billboard = false
|
||||
use_depth_scale = false
|
||||
visible_in_all_rooms = false
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
|
||||
[node name="Z" type="TestCube" parent="."]
|
||||
|
||||
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
transform = Transform( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 1, 0, 0, 1.10346 )
|
||||
layers = 1
|
||||
material_override = SubResource( 3 )
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_as_billboard = false
|
||||
use_as_y_billboard = false
|
||||
use_depth_scale = false
|
||||
visible_in_all_rooms = false
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ environment = null
|
|||
h_offset = 0.0
|
||||
v_offset = 0.0
|
||||
script = ExtResource( 2 )
|
||||
sensitivity = 0.4
|
||||
sensitivity = 0.3
|
||||
min_angle = -90
|
||||
max_angle = 90
|
||||
capture_mouse = true
|
||||
|
@ -104,8 +104,8 @@ cursor_material = SubResource( 2 )
|
|||
|
||||
[node name="debug_label" type="Label" parent="."]
|
||||
|
||||
margin_right = 137.0
|
||||
margin_bottom = 14.0
|
||||
margin_right = 379.0
|
||||
margin_bottom = 325.0
|
||||
rect_clip_content = false
|
||||
mouse_filter = 2
|
||||
size_flags_vertical = 0
|
||||
|
|
|
@ -41,6 +41,7 @@ class Grid extends _Base:
|
|||
|
||||
class Heightmap extends _Base:
|
||||
var _noise2 = OsnNoise.new()
|
||||
var channel = Voxel.CHANNEL_TYPE
|
||||
|
||||
func _init():
|
||||
_noise2.set_seed(_noise.get_seed() + 1)
|
||||
|
@ -87,15 +88,17 @@ class Heightmap extends _Base:
|
|||
|
||||
if h >= 0:
|
||||
if h < bs:
|
||||
voxels.fill_area(dirt, Vector3(x,0,z), Vector3(x+1,h,z+1))
|
||||
voxels.fill_area(air, Vector3(x,h,z), Vector3(x+1,bs,z+1))
|
||||
voxels.fill_area(dirt, Vector3(x,0,z), Vector3(x+1,h,z+1), channel)
|
||||
voxels.fill_area(air, Vector3(x,h,z), Vector3(x+1,bs,z+1), channel)
|
||||
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), channel)
|
||||
else:
|
||||
voxels.fill_area(air, Vector3(x,0,z), Vector3(x+1,bs,z+1))
|
||||
voxels.fill_area(air, Vector3(x,0,z), Vector3(x+1,bs,z+1), channel)
|
||||
|
||||
|
||||
class Volume extends _Base:
|
||||
var channel = Voxel.CHANNEL_TYPE
|
||||
|
||||
func generate(voxels, offset):
|
||||
offset *= 16
|
||||
var ox = offset.x
|
||||
|
@ -119,13 +122,13 @@ class Volume extends _Base:
|
|||
var gy = y+oy
|
||||
var h = noise1.get_noise_3d(x+ox+2, gy, z+oz)
|
||||
if h < 1-gy*0.005 - 1:
|
||||
voxels.set_voxel(dirt, x, y, z)
|
||||
voxels.set_voxel(dirt, x, y, z, channel)
|
||||
empty = false
|
||||
else:
|
||||
if gy < 0:
|
||||
voxels.set_voxel(4, x, y, z)
|
||||
voxels.set_voxel(4, x, y, z, channel)
|
||||
else:
|
||||
voxels.set_voxel(0, x, y, z)
|
||||
voxels.set_voxel(0, x, y, z, channel)
|
||||
empty = false
|
||||
|
||||
return empty
|
||||
|
@ -160,3 +163,43 @@ class Test extends _Base:
|
|||
|
||||
return false
|
||||
|
||||
|
||||
class Mixed extends _Base:
|
||||
var heightmap_generator = null
|
||||
|
||||
func _init():
|
||||
heightmap_generator = Heightmap.new()
|
||||
heightmap_generator.channel = Voxel.CHANNEL_TYPE
|
||||
|
||||
func generate(voxels, offset):
|
||||
heightmap_generator.generate(voxels, offset)
|
||||
|
||||
var noise1 = OsnFractalNoise.new()
|
||||
noise1.set_source_noise(_noise)
|
||||
noise1.set_period(100)
|
||||
noise1.set_octaves(4)
|
||||
|
||||
offset *= 16
|
||||
var ox = offset.x
|
||||
var oy = offset.y
|
||||
var oz = offset.z
|
||||
var empty = true
|
||||
var bs = voxels.get_size_x()
|
||||
var channel = Voxel.CHANNEL_ISOLEVEL
|
||||
|
||||
#voxels.fill(255, Voxel.CHANNEL_ISOLEVEL)
|
||||
|
||||
for z in range(0, bs):
|
||||
for x in range(0, bs):
|
||||
for y in range(0, bs):
|
||||
var gy = y+oy
|
||||
var h = noise1.get_noise_3d(x+ox+2, gy, z+oz)
|
||||
if h < -0.2:
|
||||
voxels.set_voxel(255, x,y,z, channel)
|
||||
empty = false
|
||||
|
||||
return empty
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
|
||||
extends MeshInstance
|
||||
|
||||
var step = 16
|
||||
export var size = 4
|
||||
export var step = 16
|
||||
|
||||
|
||||
func _ready():
|
||||
|
@ -12,23 +13,22 @@ func _ready():
|
|||
|
||||
st.add_color(Color(0,0,0))
|
||||
|
||||
var r = 4
|
||||
var rv = 4 * step
|
||||
var wsize = step * size
|
||||
|
||||
for i in range(-r, r):
|
||||
for j in range(-r, r):
|
||||
for i in range(0, size+1):
|
||||
for j in range(0, size+1):
|
||||
|
||||
var x = i * step
|
||||
var y = j * step
|
||||
|
||||
st.add_vertex(Vector3(x, -rv, y))
|
||||
st.add_vertex(Vector3(x, rv, y))
|
||||
st.add_vertex(Vector3(x, 0, y))
|
||||
st.add_vertex(Vector3(x, wsize, y))
|
||||
|
||||
st.add_vertex(Vector3(x, y, -rv))
|
||||
st.add_vertex(Vector3(x, y, rv))
|
||||
st.add_vertex(Vector3(x, y, 0))
|
||||
st.add_vertex(Vector3(x, y, wsize))
|
||||
|
||||
st.add_vertex(Vector3(-rv, x, y))
|
||||
st.add_vertex(Vector3(rv, x, y))
|
||||
st.add_vertex(Vector3(0, x, y))
|
||||
st.add_vertex(Vector3(wsize, x, y))
|
||||
|
||||
mesh = st.commit()
|
||||
#set_mesh(mesh)
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
[gd_scene load_steps=14 format=2]
|
||||
[gd_scene load_steps=12 format=2]
|
||||
|
||||
[ext_resource path="res://voxel_map.gd" type="Script" id=1]
|
||||
[ext_resource path="res://terrain.png" type="Texture" id=2]
|
||||
[ext_resource path="res://grid.gd" type="Script" id=3]
|
||||
[ext_resource path="res://character_avatar.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://profiling_gui.gd" type="Script" id=5]
|
||||
[ext_resource path="res://axes.tscn" type="PackedScene" id=5]
|
||||
[ext_resource path="res://profiling_gui.gd" type="Script" id=6]
|
||||
|
||||
[sub_resource type="Environment" id=1]
|
||||
|
||||
|
@ -209,108 +210,6 @@ uv1_offset = Vector2( 0, 0 )
|
|||
uv2_scale = Vector2( 1, 1 )
|
||||
uv2_offset = Vector2( 0, 0 )
|
||||
|
||||
[sub_resource type="FixedSpatialMaterial" id=6]
|
||||
|
||||
flags_transparent = false
|
||||
flags_unshaded = false
|
||||
flags_on_top = false
|
||||
flags_use_point_size = false
|
||||
vertex_color_use_as_albedo = false
|
||||
vertex_color_is_srgb = false
|
||||
params_diffuse_mode = 0
|
||||
params_blend_mode = 0
|
||||
params_cull_mode = 0
|
||||
params_depth_draw_mode = 0
|
||||
params_line_width = 1.0
|
||||
params_point_size = 1.0
|
||||
albedo_color = Color( 0.917969, 0.190048, 0.190048, 1 )
|
||||
specular_mode = 0
|
||||
specular_color = Color( 0.1, 0.1, 0.1, 1 )
|
||||
specular_metalness = 0.1
|
||||
specular_roughness = 0.0
|
||||
emission_enabled = false
|
||||
normal_enabled = false
|
||||
rim_enabled = false
|
||||
clearcoat_enabled = false
|
||||
anisotropy_enabled = false
|
||||
ao_enabled = false
|
||||
height_enabled = false
|
||||
subsurf_scatter_enabled = false
|
||||
refraction_enabled = false
|
||||
detail_enabled = false
|
||||
uv1_scale = Vector2( 1, 1 )
|
||||
uv1_offset = Vector2( 0, 0 )
|
||||
uv2_scale = Vector2( 1, 1 )
|
||||
uv2_offset = Vector2( 0, 0 )
|
||||
|
||||
[sub_resource type="FixedSpatialMaterial" id=7]
|
||||
|
||||
flags_transparent = false
|
||||
flags_unshaded = false
|
||||
flags_on_top = false
|
||||
flags_use_point_size = false
|
||||
vertex_color_use_as_albedo = false
|
||||
vertex_color_is_srgb = false
|
||||
params_diffuse_mode = 0
|
||||
params_blend_mode = 0
|
||||
params_cull_mode = 0
|
||||
params_depth_draw_mode = 0
|
||||
params_line_width = 1.0
|
||||
params_point_size = 1.0
|
||||
albedo_color = Color( 0.359497, 0.742188, 0.401354, 1 )
|
||||
specular_mode = 0
|
||||
specular_color = Color( 0.1, 0.1, 0.1, 1 )
|
||||
specular_metalness = 0.1
|
||||
specular_roughness = 0.0
|
||||
emission_enabled = false
|
||||
normal_enabled = false
|
||||
rim_enabled = false
|
||||
clearcoat_enabled = false
|
||||
anisotropy_enabled = false
|
||||
ao_enabled = false
|
||||
height_enabled = false
|
||||
subsurf_scatter_enabled = false
|
||||
refraction_enabled = false
|
||||
detail_enabled = false
|
||||
uv1_scale = Vector2( 1, 1 )
|
||||
uv1_offset = Vector2( 0, 0 )
|
||||
uv2_scale = Vector2( 1, 1 )
|
||||
uv2_offset = Vector2( 0, 0 )
|
||||
|
||||
[sub_resource type="FixedSpatialMaterial" id=8]
|
||||
|
||||
flags_transparent = false
|
||||
flags_unshaded = false
|
||||
flags_on_top = false
|
||||
flags_use_point_size = false
|
||||
vertex_color_use_as_albedo = false
|
||||
vertex_color_is_srgb = false
|
||||
params_diffuse_mode = 0
|
||||
params_blend_mode = 0
|
||||
params_cull_mode = 0
|
||||
params_depth_draw_mode = 0
|
||||
params_line_width = 1.0
|
||||
params_point_size = 1.0
|
||||
albedo_color = Color( 0.168533, 0.478846, 0.917969, 1 )
|
||||
specular_mode = 0
|
||||
specular_color = Color( 0.1, 0.1, 0.1, 1 )
|
||||
specular_metalness = 0.1
|
||||
specular_roughness = 0.0
|
||||
emission_enabled = false
|
||||
normal_enabled = false
|
||||
rim_enabled = false
|
||||
clearcoat_enabled = false
|
||||
anisotropy_enabled = false
|
||||
ao_enabled = false
|
||||
height_enabled = false
|
||||
subsurf_scatter_enabled = false
|
||||
refraction_enabled = false
|
||||
detail_enabled = false
|
||||
uv1_scale = Vector2( 1, 1 )
|
||||
uv1_offset = Vector2( 0, 0 )
|
||||
uv2_scale = Vector2( 1, 1 )
|
||||
uv2_offset = Vector2( 0, 0 )
|
||||
|
||||
[node name="Node" type="Node"]
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
|
@ -361,6 +260,8 @@ lod_max_hysteresis = 0.0
|
|||
mesh = null
|
||||
skeleton = NodePath("..")
|
||||
script = ExtResource( 3 )
|
||||
size = 4
|
||||
step = 16
|
||||
|
||||
[node name="DirectionalLight" type="DirectionalLight" parent="."]
|
||||
|
||||
|
@ -372,7 +273,7 @@ light_energy = 1.0
|
|||
light_negative = false
|
||||
light_specular = 0.5
|
||||
light_cull_mask = -1
|
||||
shadow_enabled = false
|
||||
shadow_enabled = true
|
||||
shadow_color = Color( 0, 0, 0, 1 )
|
||||
shadow_bias = 0.2
|
||||
shadow_contact = 0.0
|
||||
|
@ -412,82 +313,25 @@ directional_shadow_bias_split_scale = 0.1
|
|||
|
||||
[node name="CharacterAvatar" parent="." instance=ExtResource( 4 )]
|
||||
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 16.4052, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 22.9488, 0 )
|
||||
speed = 4.0
|
||||
gravity = 30.0
|
||||
jump_force = 9.0
|
||||
terrain = NodePath("../VoxelTerrain")
|
||||
|
||||
[node name="axes" type="Spatial" parent="."]
|
||||
|
||||
editor/display_folded = true
|
||||
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 14.3287, 0 )
|
||||
|
||||
[node name="X" type="TestCube" parent="axes"]
|
||||
|
||||
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 1.07512, 0, 0 )
|
||||
layers = 1
|
||||
material_override = SubResource( 6 )
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_as_billboard = false
|
||||
use_as_y_billboard = false
|
||||
use_depth_scale = false
|
||||
visible_in_all_rooms = false
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
|
||||
[node name="Y" type="TestCube" parent="axes"]
|
||||
|
||||
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
transform = Transform( 0.1, 0, 0, 0, 1, 0, 0, 0, 0.1, 0, 0.903888, 0 )
|
||||
layers = 1
|
||||
material_override = SubResource( 7 )
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_as_billboard = false
|
||||
use_as_y_billboard = false
|
||||
use_depth_scale = false
|
||||
visible_in_all_rooms = false
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
|
||||
[node name="Z" type="TestCube" parent="axes"]
|
||||
|
||||
_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
||||
transform = Transform( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 1, 0, 0, 1.10346 )
|
||||
layers = 1
|
||||
material_override = SubResource( 8 )
|
||||
cast_shadow = 1
|
||||
extra_cull_margin = 0.0
|
||||
use_as_billboard = false
|
||||
use_as_y_billboard = false
|
||||
use_depth_scale = false
|
||||
visible_in_all_rooms = false
|
||||
use_in_baked_light = false
|
||||
lod_min_distance = 0.0
|
||||
lod_min_hysteresis = 0.0
|
||||
lod_max_distance = 0.0
|
||||
lod_max_hysteresis = 0.0
|
||||
[node name="axes" parent="." instance=ExtResource( 5 )]
|
||||
|
||||
[node name="ProfilingInfo" type="Label" parent="."]
|
||||
|
||||
margin_right = 40.0
|
||||
margin_bottom = 14.0
|
||||
margin_top = 20.0
|
||||
margin_right = 104.0
|
||||
margin_bottom = 34.0
|
||||
rect_clip_content = false
|
||||
mouse_filter = 2
|
||||
size_flags_vertical = 0
|
||||
percent_visible = 1.0
|
||||
lines_skipped = 0
|
||||
max_lines_visible = -1
|
||||
script = ExtResource( 5 )
|
||||
script = ExtResource( 6 )
|
||||
|
||||
|
||||
|
|
|
@ -22,3 +22,10 @@ func save_json(infos, path):
|
|||
else:
|
||||
print("Could not dump profiling info (error " + str(ret) + ")")
|
||||
|
||||
|
||||
func _process(delta):
|
||||
var m = OS.get_dynamic_memory_usage()
|
||||
var mb = m / 1000000
|
||||
var mbr = m % 1000000
|
||||
set_text(str(mb) + "." + str(mbr) + " Mb")
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ var _generator = null
|
|||
|
||||
|
||||
func _init():
|
||||
_generator = Generators.Volume.new()
|
||||
_generator = Generators.Mixed.new()
|
||||
|
||||
|
||||
func emerge_block(out_buffer, block_pos):
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
extends VoxelTerrain
|
||||
|
||||
#const CustomProvider = preload("provider.gd")
|
||||
const CustomProvider = preload("provider.gd")
|
||||
|
||||
export(Material) var solid_material = null
|
||||
export(Material) var transparent_material = null
|
||||
|
@ -37,19 +37,18 @@ func _ready():
|
|||
var mesher = get_mesher()
|
||||
mesher.set_library(_library)
|
||||
mesher.set_material(solid_material, 0)
|
||||
mesher.set_material(transparent_material, 1)
|
||||
#mesher.set_material(transparent_material, 1)
|
||||
mesher.set_occlusion_enabled(true)
|
||||
mesher.set_occlusion_darkness(1.0)
|
||||
mesher.set_occlusion_darkness(0.5)
|
||||
|
||||
set_generate_collisions(true)
|
||||
set_viewer(get_parent().get_node("CharacterAvatar").get_path())
|
||||
|
||||
#set_provider(CustomProvider.new())
|
||||
var provider = VoxelProviderTest.new()
|
||||
provider.set_mode(VoxelProviderTest.MODE_WAVES)
|
||||
provider.set_pattern_size(Vector3(10,8,10))
|
||||
set_provider(provider)
|
||||
|
||||
make_blocks_dirty(Vector3(-16,-4,-16), Vector3(33,8,33))
|
||||
|
||||
set_provider(CustomProvider.new())
|
||||
#var provider = VoxelProviderTest.new()
|
||||
# provider.set_mode(VoxelProviderTest.MODE_WAVES)
|
||||
# provider.set_pattern_size(Vector3(10,8,10))
|
||||
# set_provider(provider)
|
||||
|
||||
make_blocks_dirty(Vector3(-8,-4,-8), Vector3(17,9,17))
|
||||
#make_blocks_dirty(Vector3(-16,-8,-16), Vector3(33,17,33))
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1.6 MiB |
Loading…
Reference in New Issue