From 20623a7a4175fcca92c30f3293b03b5363416487 Mon Sep 17 00:00:00 2001 From: Marc Gilleron Date: Sun, 13 Aug 2017 00:28:44 +0200 Subject: [PATCH] Update for Godot 3.0 API changes --- project/avatar_interaction.gd | 8 +- project/character_avatar.tscn | 26 +- project/character_controller.gd | 23 +- project/main.tscn | 282 +++++++++------------- project/mouse_look.gd | 8 +- project/profiling_gui.gd | 12 +- project/{godot.cfg => project.godot} | 0 project/terrain_marerial_transparent.tres | 50 ++++ project/terrain_material.tres | 50 ++++ project/voxel_map.gd | 14 +- 10 files changed, 273 insertions(+), 200 deletions(-) rename project/{godot.cfg => project.godot} (100%) create mode 100644 project/terrain_marerial_transparent.tres create mode 100644 project/terrain_material.tres diff --git a/project/avatar_interaction.gd b/project/avatar_interaction.gd index 04aa340..7682a57 100644 --- a/project/avatar_interaction.gd +++ b/project/avatar_interaction.gd @@ -42,13 +42,17 @@ func _fixed_process(delta): # These inputs have to be in _fixed_process because they rely on collision queries if hit != null: - if Input.is_action_just_pressed("action1"): + var has_cube = _terrain.get_storage().get_voxel_v(hit.position) != 0 + + if Input.is_action_just_pressed("action1") and has_cube: var pos = hit.position _terrain.get_storage().set_voxel_v(0, pos) _terrain.make_voxel_dirty(pos) elif Input.is_action_just_pressed("action2"): var pos = hit.prev_position + if has_cube == false: + pos = hit.position if can_place_voxel_at(pos): _terrain.get_storage().set_voxel_v(2, pos) _terrain.make_voxel_dirty(pos) @@ -59,7 +63,7 @@ func _fixed_process(delta): func can_place_voxel_at(pos): var space_state = get_viewport().get_world().get_direct_space_state() var params = PhysicsShapeQueryParameters.new() - params.set_layer_mask(COLLISION_LAYER_AVATAR) + params.set_collision_layer(COLLISION_LAYER_AVATAR) params.set_transform(Transform(Basis(), pos + Vector3(1,1,1)*0.5)) var shape = BoxShape.new() var ex = 0.5 diff --git a/project/character_avatar.tscn b/project/character_avatar.tscn index 841c591..82051ef 100644 --- a/project/character_avatar.tscn +++ b/project/character_avatar.tscn @@ -11,12 +11,13 @@ radius = 0.4 height = 0.85 -[sub_resource type="FixedSpatialMaterial" id=2] +[sub_resource type="SpatialMaterial" id=2] flags_transparent = false flags_unshaded = false flags_on_top = false flags_use_point_size = false +flags_fixed_size = false vertex_color_use_as_albedo = true vertex_color_is_srgb = false params_diffuse_mode = 0 @@ -25,6 +26,7 @@ params_cull_mode = 0 params_depth_draw_mode = 0 params_line_width = 2.0 params_point_size = 1.0 +params_billboard_mode = 0 albedo_color = Color( 1, 1, 1, 1 ) specular_mode = 0 specular_color = Color( 0.1, 0.1, 0.1, 1 ) @@ -47,7 +49,6 @@ uv2_offset = Vector2( 0, 0 ) [node name="CharacterAvatar" type="KinematicBody"] -_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) input_ray_pickable = true input_capture_on_drag = false shape_count = 1 @@ -70,7 +71,6 @@ terrain = null [node name="CollisionShape" type="CollisionShape" parent="."] -_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0 ) shape = SubResource( 1 ) trigger = false @@ -78,7 +78,6 @@ _update_shape_index = 0 [node name="Camera" type="Camera" parent="."] -_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, 0.702764, 0 ) projection = 0 fov = 90.0 @@ -119,4 +118,23 @@ position = Vector2( 510.693, 285.793 ) texture = ExtResource( 4 ) script = ExtResource( 5 ) +[node name="OmniLight" type="OmniLight" parent="."] + +layers = 1 +light_color = Color( 1, 1, 0.533333, 1 ) +light_energy = 1.0 +light_negative = false +light_specular = 0.5 +light_cull_mask = -1 +shadow_enabled = false +shadow_color = Color( 0, 0, 0, 1 ) +shadow_bias = 0.1 +shadow_contact = 0.0 +shadow_max_distance = 0.0 +editor_only = false +omni_range = 10.0 +omni_attenuation = 2.54912 +omni_shadow_mode = 1 +omni_shadow_detail = 1 + diff --git a/project/character_controller.gd b/project/character_controller.gd index 9e672ac..c47511b 100644 --- a/project/character_controller.gd +++ b/project/character_controller.gd @@ -18,7 +18,7 @@ func _ready(): _head = get_node(head) # FIX - set_shape_transform(0, Transform().rotated(Vector3(1,0,0), PI/2.0)) + #set_shape_transform(0, Transform().rotated(Vector3(1,0,0), PI/2.0)) func _fixed_process(delta): @@ -51,13 +51,16 @@ func _fixed_process(delta): var rem = move(motion) - if is_colliding(): - var n = get_collision_normal() - var k = 1.0#clamp(n.y, 0, 1) - rem = n.slide(rem)*k - _velocity = n.slide(_velocity)*k - _grounded = true - move(rem) - else: - _grounded = false + # TODO Fix it, obsolete code + # if is_colliding(): + # var n = get_collision_normal() + # var k = 1.0#clamp(n.y, 0, 1) + # rem = rem.slide(n)*k + # _velocity = _velocity.slide(n)*k + # #rem = n.slide(rem)*k + # #_velocity = n.slide(_velocity)*k + # _grounded = true + # move(rem) + # else: + # _grounded = false #get_node("debug").set_text("Grounded=" + str(_grounded)) diff --git a/project/main.tscn b/project/main.tscn index 276ac79..b79fdde 100644 --- a/project/main.tscn +++ b/project/main.tscn @@ -1,28 +1,49 @@ [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://axes.tscn" type="PackedScene" id=5] -[ext_resource path="res://profiling_gui.gd" type="Script" id=6] +[ext_resource path="res://terrain_material.tres" type="Material" id=2] +[ext_resource path="res://terrain.png" type="Texture" id=3] +[ext_resource path="res://grid.gd" type="Script" id=4] +[ext_resource path="res://character_avatar.tscn" type="PackedScene" id=5] +[ext_resource path="res://axes.tscn" type="PackedScene" id=6] +[ext_resource path="res://profiling_gui.gd" type="Script" id=7] [sub_resource type="Environment" id=1] background_mode = 0 -background_skybox_scale = 1.0 +background_sky_scale = 1.0 background_color = Color( 0, 0, 0, 1 ) background_energy = 1.0 background_canvas_max_layer = 0 -ambient_light_color = Color( 0, 0, 0, 1 ) +ambient_light_color = Color( 0.242188, 0.242188, 0.242188, 1 ) ambient_light_energy = 1.0 -ambient_light_skybox_contribution = 0.0 +ambient_light_sky_contribution = 1.0 +fog_enabled = false +fog_color = Color( 0.5, 0.6, 0.7, 1 ) +fog_sun_color = Color( 1, 0.9, 0.7, 1 ) +fog_sun_amount = 0.0 +fog_depth_enabled = true +fog_depth_begin = 10.0 +fog_depth_curve = 1.0 +fog_transmit_enabled = false +fog_transmit_curve = 1.0 +fog_height_enabled = false +fog_height_min = 0.0 +fog_height_max = 100.0 +fog_height_curve = 1.0 +tonemap_mode = 0 +tonemap_exposure = 1.0 +tonemap_white = 1.0 +auto_exposure_enabled = false +auto_exposure_scale = 0.4 +auto_exposure_min_luma = 0.05 +auto_exposure_max_luma = 8.0 +auto_exposure_speed = 0.5 ss_reflections_enabled = false ss_reflections_max_steps = 64 -ss_reflections_accel = 0.0 -ss_reflections_fade = 2.0 +ss_reflections_fade_in = 0.15 +ss_reflections_fade_out = 2.0 ss_reflections_depth_tolerance = 0.2 -ss_reflections_accel_smooth = true ss_reflections_roughness = true ssao_enabled = false ssao_radius = 1.0 @@ -55,202 +76,130 @@ glow_intensity = 0.8 glow_strength = 1.0 glow_bloom = 0.0 glow_blend_mode = 2 -glow_hdr_treshold = 1.0 +glow_hdr_threshold = 1.0 glow_hdr_scale = 2.0 glow_bicubic_upscale = false -tonemap_mode = 0 -tonemap_exposure = 1.0 -tonemap_white = 1.0 -auto_expoure_enabled = false -auto_expoure_scale = 0.4 -auto_expoure_min_luma = 0.05 -auto_expoure_max_luma = 8.0 -auto_expoure_speed = 0.5 adjustment_enabled = false adjustment_brightness = 1.0 adjustment_contrast = 1.0 adjustment_saturation = 1.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 = true -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( 1, 1, 1, 1 ) -albedo_texture = ExtResource( 2 ) -specular_mode = 0 -specular_color = Color( 0, 0, 0, 1 ) -specular_metalness = 0.0 -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] +[sub_resource type="SpatialMaterial" id=2] flags_transparent = true flags_unshaded = false +flags_vertex_lighting = false flags_on_top = false flags_use_point_size = false +flags_fixed_size = false vertex_color_use_as_albedo = false vertex_color_is_srgb = false params_diffuse_mode = 0 +params_specular_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 +params_billboard_mode = 0 +params_grow = false +params_use_alpha_scissor = false albedo_color = Color( 0.7, 0.7, 0.7, 1 ) -albedo_texture = ExtResource( 2 ) -specular_mode = 0 -specular_color = Color( 0.1, 0.1, 0.1, 1 ) -specular_metalness = 0.1 -specular_roughness = 0.0 +albedo_texture = ExtResource( 3 ) +metallic = 0.0 +metallic_specular = 0.5 +metallic_texture_channel = 0 +roughness = 0.0 +roughness_texture_channel = 0 emission_enabled = false normal_enabled = false rim_enabled = false clearcoat_enabled = false anisotropy_enabled = false ao_enabled = false -height_enabled = false +depth_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 ) +uv1_scale = Vector3( 1, 1, 1 ) +uv1_offset = Vector3( 0, 0, 0 ) +uv1_triplanar = false +uv1_triplanar_sharpness = 1.0 +uv2_scale = Vector3( 1, 1, 1 ) +uv2_offset = Vector3( 0, 0, 0 ) +uv2_triplanar = false +uv2_triplanar_sharpness = 1.0 -[sub_resource type="FixedSpatialMaterial" id=4] - -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( 1, 1, 1, 1 ) -albedo_texture = ExtResource( 2 ) -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=5] +[sub_resource type="SpatialMaterial" id=3] flags_transparent = false flags_unshaded = false +flags_vertex_lighting = false flags_on_top = false flags_use_point_size = false +flags_fixed_size = false vertex_color_use_as_albedo = false vertex_color_is_srgb = false params_diffuse_mode = 0 +params_specular_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 +params_billboard_mode = 0 +params_grow = false +params_use_alpha_scissor = false albedo_color = Color( 0.7, 0.7, 0.7, 1 ) -specular_mode = 0 -specular_color = Color( 0.1, 0.1, 0.1, 1 ) -specular_metalness = 0.1 -specular_roughness = 0.0 +metallic = 0.0 +metallic_specular = 0.5 +metallic_texture_channel = 0 +roughness = 0.0 +roughness_texture_channel = 0 emission_enabled = false normal_enabled = false rim_enabled = false clearcoat_enabled = false anisotropy_enabled = false ao_enabled = false -height_enabled = false +depth_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 ) +uv1_scale = Vector3( 1, 1, 1 ) +uv1_offset = Vector3( 0, 0, 0 ) +uv1_triplanar = false +uv1_triplanar_sharpness = 1.0 +uv2_scale = Vector3( 1, 1, 1 ) +uv2_offset = Vector3( 0, 0, 0 ) +uv2_triplanar = false +uv2_triplanar_sharpness = 1.0 + +[sub_resource type="CubeMesh" id=4] + +size = Vector3( 2, 2, 2 ) +subdivide_width = 0 +subdivide_height = 0 +subdivide_depth = 0 [node name="Node" type="Node"] [node name="WorldEnvironment" type="WorldEnvironment" parent="."] -_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) environment = SubResource( 1 ) [node name="VoxelTerrain" type="VoxelTerrain" parent="."] script = ExtResource( 1 ) -solid_material = SubResource( 2 ) -transparent_material = SubResource( 3 ) - -[node name="TestCube" type="TestCube" parent="."] - -_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, 3.02025, -0.19666 ) -layers = 1 -material_override = SubResource( 4 ) -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 +solid_material = ExtResource( 2 ) +transparent_material = SubResource( 2 ) [node name="Grid" type="MeshInstance" parent="."] -_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) layers = 1 -material_override = SubResource( 5 ) +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 @@ -259,13 +208,12 @@ lod_max_distance = 0.0 lod_max_hysteresis = 0.0 mesh = null skeleton = NodePath("..") -script = ExtResource( 3 ) +script = ExtResource( 4 ) size = 4 step = 16 [node name="DirectionalLight" type="DirectionalLight" parent="."] -_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) transform = Transform( 0.875835, -0.352595, 0.329529, 0, 0.682806, 0.7306, -0.48261, -0.639885, 0.598026, 0, 0, 0 ) layers = 1 light_color = Color( 1, 1, 1, 1 ) @@ -285,53 +233,49 @@ directional_shadow_split_2 = 0.2 directional_shadow_split_3 = 0.5 directional_shadow_blend_splits = false directional_shadow_normal_bias = 0.1 -directional_shadow_bias_split_scale = 0.1 -[node name="DirectionalLight2" type="DirectionalLight" parent="."] +[node name="CharacterAvatar" parent="." instance=ExtResource( 5 )] -_import_transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) -transform = Transform( -0.863401, 0.368601, -0.344488, 0, 0.682806, 0.7306, 0.504518, 0.630801, -0.589536, -7.74279, 0, 0 ) -layers = 1 -light_color = Color( 1, 1, 1, 1 ) -light_energy = 0.2 -light_negative = false -light_specular = 0.5 -light_cull_mask = -1 -shadow_enabled = false -shadow_color = Color( 0, 0, 0, 1 ) -shadow_bias = 0.1 -shadow_contact = 0.0 -shadow_max_distance = 0.0 -editor_only = false -directional_shadow_mode = 2 -directional_shadow_split_1 = 0.1 -directional_shadow_split_2 = 0.2 -directional_shadow_split_3 = 0.5 -directional_shadow_blend_splits = false -directional_shadow_normal_bias = 0.1 -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, 22.9488, 0 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -75.9996, 22.9488, 0 ) +collision/safe_margin = 0.001 speed = 4.0 -gravity = 30.0 +gravity = 0.0 jump_force = 9.0 terrain = NodePath("../VoxelTerrain") -[node name="axes" parent="." instance=ExtResource( 5 )] +[node name="axes" parent="." instance=ExtResource( 6 )] [node name="ProfilingInfo" type="Label" parent="."] margin_top = 20.0 margin_right = 104.0 margin_bottom = 34.0 +rect_pivot_offset = Vector2( 0, 0 ) rect_clip_content = false mouse_filter = 2 +size_flags_horizontal = 1 size_flags_vertical = 0 percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -script = ExtResource( 6 ) +script = ExtResource( 7 ) + +[node name="MeshInstance" type="MeshInstance" parent="."] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.47068, 0, 0 ) +layers = 1 +material_override = null +cast_shadow = 1 +extra_cull_margin = 0.0 +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 +mesh = SubResource( 4 ) +skeleton = NodePath("..") +material/0 = ExtResource( 2 ) +_sections_unfolded = [ "material" ] diff --git a/project/mouse_look.gd b/project/mouse_look.gd index 0556344..ed69faf 100644 --- a/project/mouse_look.gd +++ b/project/mouse_look.gd @@ -16,16 +16,16 @@ func _ready(): func _input(event): - if event.type == InputEvent.MOUSE_BUTTON: + if event is InputEventMouseButton: if event.pressed and Input.get_mouse_mode() != Input.MOUSE_MODE_CAPTURED: if capture_mouse: # Capture the mouse Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) - elif event.type == InputEvent.MOUSE_MOTION: + elif event is InputEventMouseMotion: if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED || not capture_mouse: # Get mouse delta - var motion = event.relative_pos + var motion = event.relative # Add to rotations _yaw -= motion.x * sensitivity @@ -42,7 +42,7 @@ func _input(event): set_rotation(Vector3(0, deg2rad(_yaw), 0)) rotate(get_transform().basis.x.normalized(), -deg2rad(_pitch)) - elif event.type == InputEvent.KEY: + elif event is InputEventKey: if event.pressed: if event.scancode == KEY_ESCAPE: # Get the mouse back diff --git a/project/profiling_gui.gd b/project/profiling_gui.gd index 0daf34d..fe7dad9 100644 --- a/project/profiling_gui.gd +++ b/project/profiling_gui.gd @@ -2,7 +2,7 @@ extends Label func _input(event): - if event.type == InputEvent.KEY and event.pressed == false: + if event is InputEventKey and event.pressed == false: if event.scancode == KEY_F4: var terrain = get_parent().get_node("VoxelTerrain") if terrain.has_method("get_profiling_info") == false: @@ -24,8 +24,12 @@ func save_json(infos, path): func _process(delta): - var m = OS.get_dynamic_memory_usage() + var dm = OS.get_dynamic_memory_usage() + var sm = OS.get_static_memory_usage() + set_text(_format_memory(dm) + "\n" + _format_memory(sm)) + + +func _format_memory(m): var mb = m / 1000000 var mbr = m % 1000000 - set_text(str(mb) + "." + str(mbr) + " Mb") - + return str(mb) + "." + str(mbr) + " Mb" diff --git a/project/godot.cfg b/project/project.godot similarity index 100% rename from project/godot.cfg rename to project/project.godot diff --git a/project/terrain_marerial_transparent.tres b/project/terrain_marerial_transparent.tres new file mode 100644 index 0000000..23513df --- /dev/null +++ b/project/terrain_marerial_transparent.tres @@ -0,0 +1,50 @@ +[gd_resource type="SpatialMaterial" load_steps=2 format=2] + +[ext_resource path="res://terrain.png" type="Texture" id=1] + +[resource] + +flags_transparent = true +flags_unshaded = false +flags_vertex_lighting = false +flags_on_top = false +flags_use_point_size = false +flags_fixed_size = false +vertex_color_use_as_albedo = false +vertex_color_is_srgb = false +params_diffuse_mode = 0 +params_specular_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 +params_billboard_mode = 0 +params_grow = false +params_use_alpha_scissor = false +albedo_color = Color( 0.7, 0.7, 0.7, 1 ) +albedo_texture = ExtResource( 1 ) +metallic = 0.0 +metallic_specular = 0.5 +metallic_texture_channel = 0 +roughness = 0.0 +roughness_texture_channel = 0 +emission_enabled = false +normal_enabled = false +rim_enabled = false +clearcoat_enabled = false +anisotropy_enabled = false +ao_enabled = false +depth_enabled = false +subsurf_scatter_enabled = false +refraction_enabled = false +detail_enabled = false +uv1_scale = Vector3( 1, 1, 1 ) +uv1_offset = Vector3( 0, 0, 0 ) +uv1_triplanar = false +uv1_triplanar_sharpness = 1.0 +uv2_scale = Vector3( 1, 1, 1 ) +uv2_offset = Vector3( 0, 0, 0 ) +uv2_triplanar = false +uv2_triplanar_sharpness = 1.0 + diff --git a/project/terrain_material.tres b/project/terrain_material.tres new file mode 100644 index 0000000..0338775 --- /dev/null +++ b/project/terrain_material.tres @@ -0,0 +1,50 @@ +[gd_resource type="SpatialMaterial" load_steps=2 format=2] + +[ext_resource path="res://terrain.png" type="Texture" id=1] + +[resource] + +flags_transparent = false +flags_unshaded = false +flags_vertex_lighting = false +flags_on_top = false +flags_use_point_size = false +flags_fixed_size = false +vertex_color_use_as_albedo = true +vertex_color_is_srgb = false +params_diffuse_mode = 0 +params_specular_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 +params_billboard_mode = 0 +params_grow = false +params_use_alpha_scissor = false +albedo_color = Color( 1, 1, 1, 1 ) +albedo_texture = ExtResource( 1 ) +metallic = 0.0 +metallic_specular = 0.5 +metallic_texture_channel = 0 +roughness = 0.0 +roughness_texture_channel = 0 +emission_enabled = false +normal_enabled = false +rim_enabled = false +clearcoat_enabled = false +anisotropy_enabled = false +ao_enabled = false +depth_enabled = false +subsurf_scatter_enabled = false +refraction_enabled = false +detail_enabled = false +uv1_scale = Vector3( 1, 1, 1 ) +uv1_offset = Vector3( 0, 0, 0 ) +uv1_triplanar = false +uv1_triplanar_sharpness = 1.0 +uv2_scale = Vector3( 1, 1, 1 ) +uv2_offset = Vector3( 0, 0, 0 ) +uv2_triplanar = false +uv2_triplanar_sharpness = 1.0 + diff --git a/project/voxel_map.gd b/project/voxel_map.gd index 5c799cb..72fa71b 100644 --- a/project/voxel_map.gd +++ b/project/voxel_map.gd @@ -39,16 +39,16 @@ func _ready(): mesher.set_material(solid_material, 0) #mesher.set_material(transparent_material, 1) mesher.set_occlusion_enabled(true) - mesher.set_occlusion_darkness(0.5) + mesher.set_occlusion_darkness(1.0) 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) - + #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))