Camera improvements to work with rotation properly, plus a bunch of procgen shit I'm not detailing on look in the commit yourself you lazy fuck
This commit is contained in:
parent
60c2fb65ad
commit
6e6e06239e
14 changed files with 812 additions and 348 deletions
11
materials/tile/debug_barrier.tres
Normal file
11
materials/tile/debug_barrier.tres
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
[gd_resource type="StandardMaterial3D" format=3 uid="uid://bdpbtf0uxc860"]
|
||||
|
||||
[resource]
|
||||
transparency = 2
|
||||
alpha_scissor_threshold = 1.0
|
||||
alpha_antialiasing_mode = 0
|
||||
shading_mode = 0
|
||||
albedo_color = Color(0, 0, 0, 0)
|
||||
uv1_scale = Vector3(0.5, 0.5, 0.5)
|
||||
uv1_triplanar = true
|
||||
texture_filter = 0
|
||||
8
materials/tile/debug_dark.tres
Normal file
8
materials/tile/debug_dark.tres
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
[gd_resource type="StandardMaterial3D" format=3 uid="uid://dgedw2xytmovm"]
|
||||
|
||||
[resource]
|
||||
shading_mode = 0
|
||||
albedo_color = Color(0, 0, 0, 1)
|
||||
uv1_scale = Vector3(0.5, 0.5, 0.5)
|
||||
uv1_triplanar = true
|
||||
texture_filter = 0
|
||||
|
|
@ -161,6 +161,7 @@ hotbar_item_4={
|
|||
3d_physics/layer_2="enemies"
|
||||
3d_physics/layer_5="world geometry"
|
||||
3d_physics/layer_9="camera"
|
||||
3d_physics/layer_10="room collision check for procgen"
|
||||
|
||||
[navigation]
|
||||
|
||||
|
|
|
|||
|
|
@ -45,6 +45,5 @@ path_postprocessing = 2
|
|||
avoidance_enabled = true
|
||||
neighbor_distance = 1.5
|
||||
max_speed = 2.5
|
||||
debug_enabled = true
|
||||
|
||||
[connection signal="velocity_computed" from="Navigator" to="." method="_on_navigator_velocity_computed"]
|
||||
|
|
|
|||
308
scenes/game.tscn
308
scenes/game.tscn
|
|
@ -3,28 +3,9 @@
|
|||
[ext_resource type="Script" uid="uid://dhfun46prq3uk" path="res://scripts/game.gd" id="1_gee14"]
|
||||
[ext_resource type="Script" uid="uid://crf3d7dpjvlsl" path="res://scripts/player_camera.gd" id="1_lnu2h"]
|
||||
[ext_resource type="Script" uid="uid://66iq60cxqomg" path="res://scripts/player.gd" id="1_yqjtg"]
|
||||
[ext_resource type="Material" uid="uid://bivt02tm06osv" path="res://materials/tile/stone_floor.tres" id="2_gee14"]
|
||||
[ext_resource type="Material" uid="uid://bekoyi2mq1aiw" path="res://materials/tile/stone_wall.tres" id="3_dinhu"]
|
||||
[ext_resource type="Material" uid="uid://covj5ljosv6pt" path="res://materials/tile/stone_wall_small_rock.tres" id="4_kvuet"]
|
||||
[ext_resource type="Texture2D" uid="uid://b6krbvbco0jt6" path="res://textures/shadow.png" id="4_lbhrr"]
|
||||
[ext_resource type="PackedScene" uid="uid://cnii80nh1mxr2" path="res://scenes/living/dreamer_body.tscn" id="4_p57ef"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0kty7juk7rfo" path="res://models/stalagmite.gltf" id="5_iywne"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6otq05jy7m6d" path="res://scenes/prefabs/brightshroom.tscn" id="9_vtaks"]
|
||||
[ext_resource type="PackedScene" uid="uid://boelsm35tk0k6" path="res://scenes/prefabs/brightshroom_orange.tscn" id="10_kvpfn"]
|
||||
[ext_resource type="Texture2D" uid="uid://b8sc3vq5pmwil" path="res://textures/slime.png" id="14_trtic"]
|
||||
[ext_resource type="Script" uid="uid://btuscff4168hb" path="res://scripts/hide_node.gd" id="16_ca42v"]
|
||||
|
||||
[sub_resource type="Environment" id="Environment_uwrxv"]
|
||||
background_mode = 1
|
||||
background_color = Color(0.38, 0.152, 0.37240002, 1)
|
||||
tonemap_mode = 2
|
||||
volumetric_fog_enabled = true
|
||||
adjustment_enabled = true
|
||||
adjustment_brightness = 1.25
|
||||
adjustment_contrast = 1.1
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_kvuet"]
|
||||
size = Vector3(16, 16, 8)
|
||||
[ext_resource type="PackedScene" uid="uid://djvj11avwyffr" path="res://scenes/world_environments/caves1.tscn" id="4_trtic"]
|
||||
|
||||
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_yqjtg"]
|
||||
auto_exposure_scale = 0.3
|
||||
|
|
@ -39,297 +20,15 @@ size = Vector3(1.2, 1, 1.3)
|
|||
radius = 0.15
|
||||
height = 1.0
|
||||
|
||||
[sub_resource type="NavigationMesh" id="NavigationMesh_kvuet"]
|
||||
geometry_source_geometry_mode = 1
|
||||
cell_size = 0.05
|
||||
cell_height = 0.05
|
||||
|
||||
[node name="Game" type="Node3D" unique_id=1358608749]
|
||||
script = ExtResource("1_gee14")
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1956400862]
|
||||
environment = SubResource("Environment_uwrxv")
|
||||
|
||||
[node name="CameraZone2" type="Area3D" parent="WorldEnvironment" unique_id=1501599928]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4)
|
||||
visible = false
|
||||
monitoring = false
|
||||
monitorable = false
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldEnvironment/CameraZone2" unique_id=693968382]
|
||||
shape = SubResource("BoxShape3D_kvuet")
|
||||
|
||||
[node name="Offset" type="Node3D" parent="WorldEnvironment/CameraZone2" unique_id=1432752210]
|
||||
|
||||
[node name="Camera" type="Sprite3D" parent="WorldEnvironment/CameraZone2/Offset" unique_id=1992696506]
|
||||
transform = Transform3D(-4.3711385e-08, -0.7071067, 0.70710677, 0, 0.7071067, 0.70710677, -0.99999994, 3.0908616e-08, -3.090862e-08, 4, 4, 0)
|
||||
pixel_size = 0.05
|
||||
double_sided = false
|
||||
texture = ExtResource("14_trtic")
|
||||
script = ExtResource("16_ca42v")
|
||||
|
||||
[node name="Map" type="Node3D" parent="." unique_id=19914124 groups=["navigation_mesh_source_group"]]
|
||||
|
||||
[node name="CSG" type="Node3D" parent="Map" unique_id=1150408155]
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="Map/CSG" unique_id=1285894233]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -5)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(16, 1, 18)
|
||||
material = ExtResource("2_gee14")
|
||||
|
||||
[node name="CSGBox3D3" type="CSGBox3D" parent="Map/CSG" unique_id=646817034]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 3, -4)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 7, 16)
|
||||
material = ExtResource("3_dinhu")
|
||||
|
||||
[node name="CSGBox3D10" type="CSGBox3D" parent="Map/CSG" unique_id=850781226]
|
||||
transform = Transform3D(0.8660254, 0.5, 0, -0.5, 0.8660254, 0, 0, 0, 1, -4.125, 5.5155444, -4)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 3.5, 16)
|
||||
material = ExtResource("3_dinhu")
|
||||
|
||||
[node name="CSGBox3D6" type="CSGBox3D" parent="Map/CSG" unique_id=647905404]
|
||||
transform = Transform3D(0.85165083, -0.42261833, 0.30997553, 0.39713126, 0.90630776, 0.14454395, -0.34202015, 0, 0.93969274, -3.2622721, 0.7556524, 0.6872506)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D9" type="CSGBox3D" parent="Map/CSG" unique_id=805609263]
|
||||
transform = Transform3D(0.85165083, -0.42261833, 0.30997553, 0.39713126, 0.90630776, 0.14454395, -0.34202015, 0, 0.93969274, -3.2622721, 0.7556524, -4.3127494)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D7" type="CSGBox3D" parent="Map/CSG" unique_id=2127978297]
|
||||
transform = Transform3D(-0.90767354, 0.2588191, -0.330366, 0.24321029, 0.96592575, 0.088521294, 0.3420201, 3.7856495e-08, -0.9396926, -3.5780458, 0.7556524, -1.8127494)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D8" type="CSGBox3D" parent="Map/CSG" unique_id=1149175002]
|
||||
transform = Transform3D(-0.9254167, 0.17364825, -0.33682403, 0.16317584, 0.98480767, 0.05939115, 0.3420201, 3.7856495e-08, -0.9396926, -3.5780458, 0.7556524, 2.1872506)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D20" type="CSGBox3D" parent="Map/CSG" unique_id=69107394]
|
||||
transform = Transform3D(0.84405285, -0.2988363, -0.4452773, 0.39713123, 0.9063077, 0.14454393, 0.36036327, -0.29883623, 0.8836488, -1.9678717, 0.7556524, -9.067629)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D21" type="CSGBox3D" parent="Map/CSG" unique_id=444002869]
|
||||
transform = Transform3D(0.84405285, -0.2988363, -0.4452773, 0.39713123, 0.9063077, 0.14454393, 0.36036327, -0.29883623, 0.8836488, 0.82828665, 0.7556524, -12.175981)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D23" type="CSGBox3D" parent="Map/CSG" unique_id=1865382177]
|
||||
transform = Transform3D(-0.8836668, 0.18301272, 0.43085897, 0.24321027, 0.96592575, 0.08852128, -0.3999774, 0.18301277, -0.898067, -0.41298687, 1.0922339, -10.631499)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D24" type="CSGBox3D" parent="Map/CSG" unique_id=1440841103]
|
||||
transform = Transform3D(-0.8962132, 0.122787826, 0.42629248, 0.16317585, 0.9848078, 0.059391156, -0.41252372, 0.12278789, -0.9026336, -3.6531224, 0.7556524, -7.803072)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D19" type="CSGBox3D" parent="Map/CSG" unique_id=641922484]
|
||||
transform = Transform3D(0.85165083, -0.42261833, 0.30997553, 0.39713126, 0.90630776, 0.14454395, -0.34202015, 0, 0.93969274, -3.2622721, 0.7556524, -7.8127494)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D22" type="CSGBox3D" parent="Map/CSG" unique_id=1793973621]
|
||||
transform = Transform3D(-0.9254167, 0.17364825, -0.33682403, 0.16317584, 0.98480767, 0.05939115, 0.3420201, 3.7856495e-08, -0.9396926, -3.5780458, 0.7556524, -6.3127494)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D4" type="CSGBox3D" parent="Map/CSG" unique_id=1670932518]
|
||||
transform = Transform3D(0.9396926, -0.34202012, 0, 0.34202012, 0.9396926, 0, 0, 0, 1, -4, 1, -4)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(1, 3, 16)
|
||||
material = ExtResource("3_dinhu")
|
||||
|
||||
[node name="CSGBox3D5" type="CSGBox3D" parent="Map/CSG" unique_id=1498895198]
|
||||
transform = Transform3D(0.5000001, -0.86602545, 0, 0.86602545, 0.5000001, 0, 0, 0, 1, -3.5, 0.5, -4)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(1, 3, 16)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D15" type="CSGBox3D" parent="Map/CSG" unique_id=871989333]
|
||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.34375, 3, -14.34375)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 7, 16)
|
||||
material = ExtResource("3_dinhu")
|
||||
|
||||
[node name="CSGBox3D16" type="CSGBox3D" parent="Map/CSG" unique_id=461304580]
|
||||
transform = Transform3D(-3.7855173e-08, -2.1855694e-08, -1, -0.5, 0.8660254, 0, 0.8660254, 0.5, -4.371139e-08, 3.34375, 5.5155444, -13.46875)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 3.5, 16)
|
||||
material = ExtResource("3_dinhu")
|
||||
|
||||
[node name="CSGBox3D17" type="CSGBox3D" parent="Map/CSG" unique_id=120955804]
|
||||
transform = Transform3D(-4.107527e-08, 1.4950176e-08, -1.0000001, 0.34202015, 0.93969274, 0, 0.9396926, -0.34202012, -4.371139e-08, 3.34375, 1, -13.34375)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(1, 3, 16)
|
||||
material = ExtResource("3_dinhu")
|
||||
|
||||
[node name="CSGBox3D18" type="CSGBox3D" parent="Map/CSG" unique_id=1241532821]
|
||||
transform = Transform3D(-2.18557e-08, 3.7855173e-08, -1, 0.86602545, 0.5000001, 0, 0.5000001, -0.86602545, -4.371139e-08, 3.34375, 0.5, -12.84375)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(1, 3, 16)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D11" type="CSGBox3D" parent="Map/CSG" unique_id=1776294785]
|
||||
transform = Transform3D(0.70710677, 0, -0.70710677, 0, 1, 0, 0.70710677, 0, 0.70710677, -4.7528715, 3, -8.5966215)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 7, 16)
|
||||
material = ExtResource("3_dinhu")
|
||||
|
||||
[node name="CSGBox3D12" type="CSGBox3D" parent="Map/CSG" unique_id=804263927]
|
||||
transform = Transform3D(0.6123724, 0.35355338, -0.70710677, -0.5, 0.8660254, 0, 0.6123724, 0.35355338, 0.70710677, -4.134153, 5.5155444, -7.977903)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 3.5, 16)
|
||||
material = ExtResource("3_dinhu")
|
||||
|
||||
[node name="CSGBox3D13" type="CSGBox3D" parent="Map/CSG" unique_id=1679011295]
|
||||
transform = Transform3D(0.66446304, -0.24184476, -0.7071068, 0.34202015, 0.93969274, 0, 0.664463, -0.24184474, 0.70710677, -4.0457644, 1, -7.8895144)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(1, 3, 16)
|
||||
material = ExtResource("3_dinhu")
|
||||
|
||||
[node name="CSGBox3D14" type="CSGBox3D" parent="Map/CSG" unique_id=737262338]
|
||||
transform = Transform3D(0.35355347, -0.61237246, -0.70710677, 0.86602545, 0.5000001, 0, 0.35355347, -0.61237246, 0.70710677, -3.6922112, 0.5, -7.535961)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(1, 3, 16)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="Props" type="Node3D" parent="Map" unique_id=2137952764]
|
||||
|
||||
[node name="Stalagmite" parent="Map/Props" unique_id=39322424 instance=ExtResource("5_iywne")]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.8, 0, 0, 0, 1, 1, 0.48141205, -6.5)
|
||||
|
||||
[node name="Stalagmite5" parent="Map/Props" unique_id=1945315033 instance=ExtResource("5_iywne")]
|
||||
transform = Transform3D(0.9998552, 0, -0.017016139, 0, 0.8, 0, 0.017016139, 0, 0.9998552, 4.488328, 0.48141205, -6.5)
|
||||
|
||||
[node name="Stalagmite6" parent="Map/Props" unique_id=2097625970 instance=ExtResource("5_iywne")]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.8, 0, 0, 0, 1, -1, 0.48141205, -6.5)
|
||||
|
||||
[node name="Stalagmite4" parent="Map/Props" unique_id=1700522460 instance=ExtResource("5_iywne")]
|
||||
transform = Transform3D(-1, -8.742278e-08, 0, 8.742278e-08, -1, 0, 0, 0, 1, 0, 6.981412, -0.5)
|
||||
|
||||
[node name="Stalagmite2" parent="Map/Props" unique_id=703385516 instance=ExtResource("5_iywne")]
|
||||
transform = Transform3D(0.81915206, 0, -0.57357645, 0, 1, 0, 0.57357645, 0, 0.81915206, -1.5, 0.48141205, -1)
|
||||
|
||||
[node name="Stalagmite3" parent="Map/Props" unique_id=370634587 instance=ExtResource("5_iywne")]
|
||||
transform = Transform3D(0.50000006, 0, -0.86602557, 0, 0.9, 0, 0.86602557, 0, 0.50000006, -2, 0.48141205, -3)
|
||||
|
||||
[node name="blockbench_export" parent="Map/Props" unique_id=1509742770 instance=ExtResource("9_vtaks")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.482732, 0.4921612, -4.548477)
|
||||
|
||||
[node name="blockbench_export3" parent="Map/Props" unique_id=231004769 instance=ExtResource("9_vtaks")]
|
||||
transform = Transform3D(0.64278764, 0, -0.76604444, 0, 1, 0, 0.76604444, 0, 0.64278764, -0.5172682, 0.4921612, -5.548477)
|
||||
|
||||
[node name="blockbench_export2" parent="Map/Props" unique_id=992880863 instance=ExtResource("10_kvpfn")]
|
||||
transform = Transform3D(0.34202015, 0, -0.9396926, 0, 1, 0, 0.9396926, 0, 0.34202015, -0.2643292, 0.49367946, 1.0695834)
|
||||
|
||||
[node name="blockbench_export4" parent="Map/Props" unique_id=1001222209 instance=ExtResource("10_kvpfn")]
|
||||
transform = Transform3D(0.34202015, 0, -0.9396926, 0, 1, 0, 0.9396926, 0, 0.34202015, 4.735671, 0.49367946, -9.930416)
|
||||
[node name="WorldEnvironment" parent="." unique_id=972144381 instance=ExtResource("4_trtic")]
|
||||
|
||||
[node name="Entities" type="Node3D" parent="." unique_id=227401299]
|
||||
|
||||
[node name="CameraZones" type="Node3D" parent="." unique_id=1225967945]
|
||||
|
||||
[node name="CameraZone" type="Area3D" parent="CameraZones" unique_id=1280290524]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="CameraZones/CameraZone" unique_id=1757431784]
|
||||
shape = SubResource("BoxShape3D_kvuet")
|
||||
|
||||
[node name="Offset" type="Node3D" parent="CameraZones/CameraZone" unique_id=1829870767]
|
||||
|
||||
[node name="Camera" type="Sprite3D" parent="CameraZones/CameraZone/Offset" unique_id=1388726824]
|
||||
transform = Transform3D(0.7071067, -0.40557975, 0.5792279, 0, 0.81915194, 0.5735764, -0.7071067, -0.40557975, 0.5792279, 4, 4, 4)
|
||||
pixel_size = 0.05
|
||||
double_sided = false
|
||||
texture = ExtResource("14_trtic")
|
||||
script = ExtResource("16_ca42v")
|
||||
|
||||
[node name="PlayerCamera" type="Camera3D" parent="." unique_id=1101523944]
|
||||
transform = Transform3D(0.70710677, -0.40557978, 0.579228, 0, 0.819152, 0.57357645, -0.70710677, -0.40557978, 0.579228, 4, 6.5, 0)
|
||||
attributes = SubResource("CameraAttributesPractical_yqjtg")
|
||||
|
|
@ -415,6 +114,3 @@ size_flags_horizontal = 3
|
|||
show_percentage = false
|
||||
indeterminate = true
|
||||
editor_preview_indeterminate = false
|
||||
|
||||
[node name="Navmesh" type="NavigationRegion3D" parent="." unique_id=2121822586]
|
||||
navigation_mesh = SubResource("NavigationMesh_kvuet")
|
||||
|
|
|
|||
6
scenes/marker/room_collision_procgen.tscn
Normal file
6
scenes/marker/room_collision_procgen.tscn
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
[gd_scene format=3 uid="uid://bxnxusr283opg"]
|
||||
|
||||
[node name="RoomCollision" type="Area3D" unique_id=687611902]
|
||||
collision_layer = 0
|
||||
collision_mask = 0
|
||||
monitorable = false
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
13
scenes/world_environments/caves1.tscn
Normal file
13
scenes/world_environments/caves1.tscn
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
[gd_scene format=3 uid="uid://djvj11avwyffr"]
|
||||
|
||||
[sub_resource type="Environment" id="Environment_uwrxv"]
|
||||
background_mode = 1
|
||||
background_color = Color(0.38, 0.152, 0.37240002, 1)
|
||||
tonemap_mode = 2
|
||||
volumetric_fog_enabled = true
|
||||
adjustment_enabled = true
|
||||
adjustment_brightness = 1.25
|
||||
adjustment_contrast = 1.1
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" unique_id=972144381]
|
||||
environment = SubResource("Environment_uwrxv")
|
||||
|
|
@ -6,19 +6,27 @@ var update_timer = 0.1
|
|||
var procgen_map = []
|
||||
|
||||
func _procgen_add_next() -> void:
|
||||
var procgen_item = load("res://scenes/procgens/test1/item_" + str(randi_range(3, 3)) + ".tscn").instantiate()
|
||||
var procgen_item = load("res://scenes/procgens/test1/item_" + str(randi_range(2, 3)) + ".tscn").instantiate()
|
||||
var entry = {
|
||||
"item": procgen_item,
|
||||
"enemies": []
|
||||
}
|
||||
|
||||
if procgen_map.size() != 0:
|
||||
procgen_item.global_position = procgen_map[procgen_map.size() - 1].item.get_node("ProceduralEnd").global_position - procgen_item.get_node("ProceduralStart").position
|
||||
|
||||
procgen_map.push_back(entry)
|
||||
procgen_item.rotation.y = 0.7
|
||||
|
||||
add_child(procgen_item)
|
||||
|
||||
|
||||
if procgen_map.size() != 0:
|
||||
var last_end = procgen_map[procgen_map.size() - 1].item.get_node("ProceduralEnd")
|
||||
|
||||
procgen_item.rotation = last_end.global_rotation
|
||||
|
||||
var start_offset = procgen_item.get_node("ProceduralStart").global_position - procgen_item.global_position
|
||||
|
||||
procgen_item.global_position = last_end.global_position - start_offset
|
||||
|
||||
procgen_map.push_back(entry)
|
||||
|
||||
entry.has_aggro_zone = procgen_item.has_node("AggroZone")
|
||||
if entry.has_aggro_zone:
|
||||
procgen_item.get_node("AggroZone").body_entered.connect(func (body): if body == player: for n in entry.enemies: n.awake = true )
|
||||
|
|
@ -35,15 +43,24 @@ func _procgen_add_next() -> void:
|
|||
|
||||
entry.enemies.push_back(enemy)
|
||||
|
||||
|
||||
|
||||
if procgen_item.has_node("CameraZones"):
|
||||
for n in procgen_item.get_node("CameraZones").get_children():
|
||||
var pos = n.global_position
|
||||
var rot = n.global_rotation
|
||||
procgen_item.get_node("CameraZones").remove_child(n)
|
||||
$CameraZones.add_child(n)
|
||||
|
||||
n.global_position = pos
|
||||
n.global_rotation = rot
|
||||
|
||||
func _ready() -> void:
|
||||
_procgen_add_next()
|
||||
_procgen_add_next()
|
||||
_procgen_add_next()
|
||||
_procgen_add_next()
|
||||
_procgen_add_next()
|
||||
_procgen_add_next()
|
||||
#_procgen_add_next()
|
||||
#_procgen_add_next()
|
||||
#_procgen_add_next()
|
||||
#_procgen_add_next()
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
|
|
|
|||
25
scripts/marker/camera_zone_marker.gd
Normal file
25
scripts/marker/camera_zone_marker.gd
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
@tool
|
||||
extends Sprite3D
|
||||
|
||||
@export var max_distance_x = Vector2(-INF, INF)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
var max_left = max_distance_x.x
|
||||
var max_right = max_distance_x.y
|
||||
|
||||
var x_a = global_position
|
||||
x_a += global_transform.basis * Vector3(max_left, 0, 0)
|
||||
|
||||
var x_b = global_position
|
||||
x_b += global_transform.basis * Vector3(max_right, 0, 0)
|
||||
|
||||
if !((max_distance_x.x == -INF) and (max_distance_x.y == INF)):
|
||||
if (max_distance_x.x == -INF):
|
||||
x_a = global_position
|
||||
elif (max_distance_x.y == INF):
|
||||
x_b = global_position
|
||||
|
||||
DebugDraw3D.draw_line(x_a, x_b, Color(1, 0, 0))
|
||||
|
||||
visible = true
|
||||
|
||||
1
scripts/marker/camera_zone_marker.gd.uid
Normal file
1
scripts/marker/camera_zone_marker.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://bkfcwdvdolucv
|
||||
|
|
@ -42,10 +42,15 @@ enum {
|
|||
STATE_DODGING,
|
||||
STATE_ATTACK,
|
||||
STATE_HIT,
|
||||
STATE_DEATH
|
||||
STATE_DEATH,
|
||||
STATE_MOVE_TO_POINT
|
||||
}
|
||||
|
||||
var state = STATE_NORMAL
|
||||
var point_to_move_to = null
|
||||
|
||||
var last_basis
|
||||
var direction_comfort_timer = 0
|
||||
|
||||
@onready var game = get_parent()
|
||||
@onready var camera = game.get_node("PlayerCamera")
|
||||
|
|
@ -149,13 +154,28 @@ func _process(delta: float) -> void:
|
|||
$DreamerBody/Animator.set("parameters/layering/blend_amount", 0.0)
|
||||
|
||||
var input_dir := Input.get_vector("move_left", "move_right", "move_up", "move_down")
|
||||
|
||||
var direction = (camera.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
|
||||
|
||||
if !last_basis:
|
||||
last_basis = camera.transform.basis
|
||||
|
||||
if camera.transform.basis != last_basis:
|
||||
direction_comfort_timer += delta
|
||||
|
||||
direction = (last_basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
|
||||
|
||||
if direction_comfort_timer > 0.4:
|
||||
last_basis = camera.transform.basis
|
||||
else: direction_comfort_timer = 0
|
||||
|
||||
if not combatable:
|
||||
if input_dir.x > 0:
|
||||
face_left = false
|
||||
if input_dir.x < 0:
|
||||
face_left = true
|
||||
|
||||
var direction = (camera.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
|
||||
|
||||
|
||||
var mouse_point_angle
|
||||
if input_icon.using_gamepad:
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ extends Camera3D
|
|||
@onready var camera_zones = game.get_node("CameraZones")
|
||||
@onready var player = game.get_node("Player")
|
||||
@onready var offset = position - player.position
|
||||
var camera_point = null
|
||||
|
||||
func _ready() -> void:
|
||||
pass
|
||||
|
|
@ -13,7 +14,27 @@ func _process(delta: float) -> void:
|
|||
|
||||
global_position = lerp(global_position, goal_position, min(delta * 4, 1.0))
|
||||
|
||||
|
||||
|
||||
if camera_point:
|
||||
var origin = camera_point.global_transform.origin
|
||||
var offset_from_camera_point = to_local(origin)
|
||||
|
||||
#print(offset_from_camera_point)
|
||||
|
||||
if (camera_point.max_distance_x.x != -INF) and (offset_from_camera_point.x < camera_point.max_distance_x.x):
|
||||
var distance = offset_from_camera_point.x - camera_point.max_distance_x.x
|
||||
|
||||
global_position += camera_point.global_transform.basis * Vector3(distance, 0, 0)
|
||||
|
||||
if (camera_point.max_distance_x.y != INF) and (offset_from_camera_point.x > camera_point.max_distance_x.y):
|
||||
var distance = offset_from_camera_point.x - camera_point.max_distance_x.y
|
||||
|
||||
global_position += camera_point.global_transform.basis * Vector3(distance, 0, 0)
|
||||
|
||||
for n in camera_zones.get_children():
|
||||
if player in n.get_overlapping_bodies():
|
||||
offset = n.get_node("Offset/Camera").position
|
||||
rotation = n.get_node("Offset/Camera").rotation
|
||||
offset = n.get_node("Offset/Camera").global_position - n.get_node("Offset").global_position
|
||||
n.get_node("Offset/Camera").look_at(n.get_node("Offset").global_position)
|
||||
rotation = n.get_node("Offset/Camera").global_rotation
|
||||
camera_point = n.get_node("Offset/Camera")
|
||||
|
|
|
|||
Loading…
Reference in a new issue