Skip to content

Commit eda7eff

Browse files
committed
Robot movement added
Press R to change between strafe and tank modes
1 parent abd94a5 commit eda7eff

10 files changed

Lines changed: 349 additions & 9 deletions

autumn_field_puresky_4k.hdr

16.2 MB
Binary file not shown.

autumn_field_puresky_4k.hdr.import

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="CompressedTexture2D"
5+
uid="uid://b166xyqxh4q6f"
6+
path="res://.godot/imported/autumn_field_puresky_4k.hdr-d355268e42197985cd1623f1957ca5b5.ctex"
7+
metadata={
8+
"vram_texture": false
9+
}
10+
11+
[deps]
12+
13+
source_file="res://autumn_field_puresky_4k.hdr"
14+
dest_files=["res://.godot/imported/autumn_field_puresky_4k.hdr-d355268e42197985cd1623f1957ca5b5.ctex"]
15+
16+
[params]
17+
18+
compress/mode=2
19+
compress/high_quality=false
20+
compress/lossy_quality=0.7
21+
compress/hdr_compression=1
22+
compress/normal_map=0
23+
compress/channel_pack=0
24+
mipmaps/generate=true
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
28+
process/fix_alpha_border=true
29+
process/premult_alpha=false
30+
process/normal_map_invert_y=false
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=0

project.godot

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,34 @@ config_version=5
1111
[application]
1212

1313
config/name="STORM simulator"
14+
run/main_scene="res://scene.tscn"
1415
config/features=PackedStringArray("4.2", "Forward Plus")
1516
config/icon="res://icon.svg"
17+
18+
[input]
19+
20+
forward={
21+
"deadzone": 0.5,
22+
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null)
23+
]
24+
}
25+
back={
26+
"deadzone": 0.5,
27+
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null)
28+
]
29+
}
30+
left={
31+
"deadzone": 0.5,
32+
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null)
33+
]
34+
}
35+
right={
36+
"deadzone": 0.5,
37+
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null)
38+
]
39+
}
40+
toggle={
41+
"deadzone": 0.5,
42+
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":114,"echo":false,"script":null)
43+
]
44+
}

scene.tscn

Lines changed: 43 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,24 @@
1-
[gd_scene load_steps=25 format=3 uid="uid://bn7cnex08j88o"]
1+
[gd_scene load_steps=31 format=3 uid="uid://bn7cnex08j88o"]
22

33
[ext_resource type="Texture2D" uid="uid://cp7shvv2qp587" path="res://addons/kenney_prototype_textures/dark/texture_08.png" id="1_dei21"]
44
[ext_resource type="Texture2D" uid="uid://dvscnl23vqhpv" path="res://addons/kenney_prototype_textures/orange/texture_10.png" id="2_5hubk"]
55
[ext_resource type="Texture2D" uid="uid://c4kdtj033fe0t" path="res://addons/kenney_prototype_textures/dark/texture_06.png" id="2_sed1s"]
66
[ext_resource type="Texture2D" uid="uid://c88evg7np6apx" path="res://addons/kenney_prototype_textures/green/texture_09.png" id="3_03mqo"]
77
[ext_resource type="Texture2D" uid="uid://bovimja80ag0j" path="res://addons/kenney_prototype_textures/red/texture_09.png" id="4_sq62i"]
8+
[ext_resource type="PackedScene" uid="uid://cqg8ca0f08yk7" path="res://scenes/robot.tscn" id="6_dt5ck"]
9+
[ext_resource type="Texture2D" uid="uid://b166xyqxh4q6f" path="res://autumn_field_puresky_4k.hdr" id="7_iuhnl"]
810

911
[sub_resource type="BoxShape3D" id="BoxShape3D_156gm"]
1012
size = Vector3(3.658, 1, 3.658)
1113

12-
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_oa3iv"]
14+
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2eqw7"]
1315
albedo_texture = ExtResource("1_dei21")
1416
uv1_triplanar = true
1517

1618
[sub_resource type="BoxMesh" id="BoxMesh_sq7cq"]
17-
material = SubResource("StandardMaterial3D_oa3iv")
19+
material = SubResource("StandardMaterial3D_2eqw7")
1820
size = Vector3(3.658, 1, 3.658)
1921

20-
[sub_resource type="BoxShape3D" id="BoxShape3D_7tc47"]
21-
size = Vector3(3.658, 3, 3.658)
22-
2322
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_co76m"]
2423
albedo_texture = ExtResource("2_sed1s")
2524
uv1_triplanar = true
@@ -29,6 +28,12 @@ material = SubResource("StandardMaterial3D_co76m")
2928
flip_faces = true
3029
size = Vector3(3.658, 3, 3.658)
3130

31+
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_8g3iw"]
32+
plane = Plane(1, 0, 0, 0)
33+
34+
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_d34w0"]
35+
plane = Plane(1, 0, 0, 0)
36+
3237
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_n84yd"]
3338
data = PackedVector3Array(-0.7685, 0.15, 0.3875, 0.7685, 0.15, 0.3875, -0.7685, -0.15, 0.3875, 0.7685, 0.15, 0.3875, 0.7685, -0.15, 0.3875, -0.7685, -0.15, 0.3875, 0.7685, 0.15, -0.3875, -0.7685, 0.15, -0.3875, 0.7685, -0.15, -0.3875, -0.7685, 0.15, -0.3875, -0.7685, -0.15, -0.3875, 0.7685, -0.15, -0.3875, 0.7685, 0.15, 0.3875, 0.7685, 0.15, -0.3875, 0.7685, -0.15, 0.3875, 0.7685, 0.15, -0.3875, 0.7685, -0.15, -0.3875, 0.7685, -0.15, 0.3875, -0.7685, 0.15, -0.3875, -0.7685, 0.15, 0.3875, -0.7685, -0.15, -0.3875, -0.7685, 0.15, 0.3875, -0.7685, -0.15, 0.3875, -0.7685, -0.15, -0.3875, 0.7685, 0.15, 0.3875, -0.7685, 0.15, 0.3875, 0.7685, 0.15, -0.3875, -0.7685, 0.15, 0.3875, -0.7685, 0.15, -0.3875, 0.7685, 0.15, -0.3875, -0.7685, -0.15, 0.3875, 0.7685, -0.15, 0.3875, -0.7685, -0.15, -0.3875, 0.7685, -0.15, 0.3875, 0.7685, -0.15, -0.3875, -0.7685, -0.15, -0.3875)
3439

@@ -84,6 +89,16 @@ outer_radius = 0.2
8489
rings = 6
8590
ring_segments = 3
8691

92+
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_px2ls"]
93+
panorama = ExtResource("7_iuhnl")
94+
95+
[sub_resource type="Sky" id="Sky_eexil"]
96+
sky_material = SubResource("PanoramaSkyMaterial_px2ls")
97+
98+
[sub_resource type="Environment" id="Environment_64rnp"]
99+
background_mode = 2
100+
sky = SubResource("Sky_eexil")
101+
87102
[node name="Scene" type="Node3D"]
88103

89104
[node name="floor" type="StaticBody3D" parent="."]
@@ -97,12 +112,25 @@ mesh = SubResource("BoxMesh_sq7cq")
97112
[node name="ceiling" type="StaticBody3D" parent="."]
98113
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.995662, 0)
99114

100-
[node name="CollisionShape3D" type="CollisionShape3D" parent="ceiling"]
101-
shape = SubResource("BoxShape3D_7tc47")
102-
103115
[node name="MeshInstance3D" type="MeshInstance3D" parent="ceiling"]
104116
mesh = SubResource("BoxMesh_iysql")
105117

118+
[node name="CollisionShape3D" type="CollisionShape3D" parent="ceiling"]
119+
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.70603, 0, 0)
120+
shape = SubResource("WorldBoundaryShape3D_8g3iw")
121+
122+
[node name="CollisionShape3D2" type="CollisionShape3D" parent="ceiling"]
123+
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.294529, 0, -1.66149)
124+
shape = SubResource("WorldBoundaryShape3D_d34w0")
125+
126+
[node name="CollisionShape3D3" type="CollisionShape3D" parent="ceiling"]
127+
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.294529, 0, 1.50472)
128+
shape = SubResource("WorldBoundaryShape3D_d34w0")
129+
130+
[node name="CollisionShape3D4" type="CollisionShape3D" parent="ceiling"]
131+
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 1.69356, 0, -0.0415661)
132+
shape = SubResource("WorldBoundaryShape3D_d34w0")
133+
106134
[node name="startingarea1" type="StaticBody3D" parent="."]
107135
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.05754, 0.649563, -1.43905)
108136

@@ -165,3 +193,9 @@ shape = SubResource("ConcavePolygonShape3D_5rnj8")
165193
[node name="MeshInstance3D" type="MeshInstance3D" parent="superconeofdoom"]
166194
transform = Transform3D(1, 0, 0, 0, 5, 0, 0, 0, 1, 0, 1.16803, 0)
167195
mesh = SubResource("TorusMesh_cnmnw")
196+
197+
[node name="Robot" parent="." instance=ExtResource("6_dt5ck")]
198+
transform = Transform3D(0.02007, 0, 0.999799, 0, 1, 0, -0.999799, 0, 0.02007, 1.01335, 1.13894, -1.53398)
199+
200+
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
201+
environment = SubResource("Environment_64rnp")

scenes/robot.gd

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
extends RigidBody3D
2+
3+
4+
5+
var mode = true
6+
@export var move_force = 50
7+
@export var rotation_force = 0.5
8+
9+
10+
11+
func _physics_process(delta):
12+
if Input.is_action_just_pressed("toggle"): mode = !mode
13+
14+
if mode:
15+
strafe_movement()
16+
else:
17+
tank_movement()
18+
19+
20+
21+
22+
func strafe_movement():
23+
24+
25+
if Input.is_action_pressed("forward"):
26+
apply_central_force(-transform.basis.z*move_force)
27+
if Input.is_action_pressed("back"):
28+
apply_central_force(transform.basis.z*move_force)
29+
30+
if Input.is_action_pressed("left"):
31+
apply_central_force(-transform.basis.x*move_force)
32+
if Input.is_action_pressed("right"):
33+
apply_central_force(transform.basis.x*move_force)
34+
35+
func tank_movement():
36+
if Input.is_action_pressed("forward"):
37+
apply_central_force(-transform.basis.z*move_force)
38+
if Input.is_action_pressed("back"):
39+
apply_central_force(transform.basis.z*move_force)
40+
41+
if Input.is_action_pressed("left"):
42+
angular_velocity.y += rotation_force
43+
if Input.is_action_pressed("right"):
44+
angular_velocity.y -= rotation_force

scenes/robot.tscn

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[gd_scene load_steps=5 format=3 uid="uid://cqg8ca0f08yk7"]
2+
3+
[ext_resource type="Script" path="res://scenes/robot.gd" id="1_g0ks3"]
4+
5+
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_5fgxc"]
6+
friction = 0.2
7+
8+
[sub_resource type="BoxShape3D" id="BoxShape3D_yf1lb"]
9+
size = Vector3(0.457, 0.457, 0.457)
10+
11+
[sub_resource type="BoxMesh" id="BoxMesh_turv3"]
12+
size = Vector3(0.457, 0.457, 0.457)
13+
14+
[node name="Robot" type="RigidBody3D"]
15+
mass = 10.0
16+
physics_material_override = SubResource("PhysicsMaterial_5fgxc")
17+
center_of_mass_mode = 1
18+
center_of_mass = Vector3(0, -1, 0)
19+
angular_damp = 5.0
20+
script = ExtResource("1_g0ks3")
21+
22+
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
23+
shape = SubResource("BoxShape3D_yf1lb")
24+
25+
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
26+
mesh = SubResource("BoxMesh_turv3")
27+
28+
[node name="Camera3D" type="Camera3D" parent="."]
29+
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.162154, -0.256822)
30+
current = true

scenes/tesA192.tmp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
[gd_scene load_steps=10 format=3 uid="uid://bswxci7cb4tsl"]
2+
3+
[ext_resource type="Texture2D" uid="uid://cp7shvv2qp587" path="res://addons/kenney_prototype_textures/dark/texture_08.png" id="1_yym6c"]
4+
[ext_resource type="PackedScene" uid="uid://cqg8ca0f08yk7" path="res://scenes/robot.tscn" id="2_trg0w"]
5+
[ext_resource type="Texture2D" uid="uid://b166xyqxh4q6f" path="res://autumn_field_puresky_4k.hdr" id="3_uyr1d"]
6+
7+
[sub_resource type="BoxShape3D" id="BoxShape3D_1fig0"]
8+
size = Vector3(1000, 1, 1000)
9+
10+
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_oa3iv"]
11+
albedo_texture = ExtResource("1_yym6c")
12+
uv1_triplanar = true
13+
14+
[sub_resource type="BoxMesh" id="BoxMesh_ecyep"]
15+
material = SubResource("StandardMaterial3D_oa3iv")
16+
size = Vector3(1000, 1, 1000)
17+
18+
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_s1ymj"]
19+
panorama = ExtResource("3_uyr1d")
20+
21+
[sub_resource type="Sky" id="Sky_p1qur"]
22+
sky_material = SubResource("PanoramaSkyMaterial_s1ymj")
23+
24+
[sub_resource type="Environment" id="Environment_mekck"]
25+
background_mode = 2
26+
sky = SubResource("Sky_p1qur")
27+
28+
[node name="Test" type="Node3D"]
29+
30+
[node name="floor" type="StaticBody3D" parent="."]
31+
32+
[node name="CollisionShape3D" type="CollisionShape3D" parent="floor"]
33+
shape = SubResource("BoxShape3D_1fig0")
34+
35+
[node name="MeshInstance3D" type="MeshInstance3D" parent="floor"]
36+
mesh = SubResource("BoxMesh_ecyep")
37+
38+
[node name="Robot" parent="." instance=ExtResource("2_trg0w")]
39+
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.03103, 0)
40+
41+
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
42+
environment = SubResource("Environment_mekck")

scenes/tesB674.tmp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
[gd_scene load_steps=10 format=3 uid="uid://bswxci7cb4tsl"]
2+
3+
[ext_resource type="Texture2D" uid="uid://cp7shvv2qp587" path="res://addons/kenney_prototype_textures/dark/texture_08.png" id="1_yym6c"]
4+
[ext_resource type="PackedScene" uid="uid://cqg8ca0f08yk7" path="res://scenes/robot.tscn" id="2_trg0w"]
5+
[ext_resource type="Texture2D" uid="uid://b166xyqxh4q6f" path="res://autumn_field_puresky_4k.hdr" id="3_uyr1d"]
6+
7+
[sub_resource type="BoxShape3D" id="BoxShape3D_1fig0"]
8+
size = Vector3(1000, 1, 1000)
9+
10+
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_oa3iv"]
11+
albedo_texture = ExtResource("1_yym6c")
12+
uv1_triplanar = true
13+
14+
[sub_resource type="BoxMesh" id="BoxMesh_ecyep"]
15+
material = SubResource("StandardMaterial3D_oa3iv")
16+
size = Vector3(1000, 1, 1000)
17+
18+
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_s1ymj"]
19+
panorama = ExtResource("3_uyr1d")
20+
21+
[sub_resource type="Sky" id="Sky_p1qur"]
22+
sky_material = SubResource("PanoramaSkyMaterial_s1ymj")
23+
24+
[sub_resource type="Environment" id="Environment_mekck"]
25+
background_mode = 2
26+
sky = SubResource("Sky_p1qur")
27+
28+
[node name="Test" type="Node3D"]
29+
30+
[node name="floor" type="StaticBody3D" parent="."]
31+
32+
[node name="CollisionShape3D" type="CollisionShape3D" parent="floor"]
33+
shape = SubResource("BoxShape3D_1fig0")
34+
35+
[node name="MeshInstance3D" type="MeshInstance3D" parent="floor"]
36+
mesh = SubResource("BoxMesh_ecyep")
37+
38+
[node name="Robot" parent="." instance=ExtResource("2_trg0w")]
39+
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.03103, 0)
40+
41+
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
42+
environment = SubResource("Environment_mekck")

scenes/tesCAE1.tmp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
[gd_scene load_steps=10 format=3 uid="uid://bswxci7cb4tsl"]
2+
3+
[ext_resource type="Texture2D" uid="uid://cp7shvv2qp587" path="res://addons/kenney_prototype_textures/dark/texture_08.png" id="1_yym6c"]
4+
[ext_resource type="PackedScene" uid="uid://cqg8ca0f08yk7" path="res://scenes/robot.tscn" id="2_trg0w"]
5+
[ext_resource type="Texture2D" uid="uid://b166xyqxh4q6f" path="res://autumn_field_puresky_4k.hdr" id="3_uyr1d"]
6+
7+
[sub_resource type="BoxShape3D" id="BoxShape3D_1fig0"]
8+
size = Vector3(1000, 1, 1000)
9+
10+
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_oa3iv"]
11+
albedo_texture = ExtResource("1_yym6c")
12+
uv1_triplanar = true
13+
14+
[sub_resource type="BoxMesh" id="BoxMesh_ecyep"]
15+
material = SubResource("StandardMaterial3D_oa3iv")
16+
size = Vector3(1000, 1, 1000)
17+
18+
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_s1ymj"]
19+
panorama = ExtResource("3_uyr1d")
20+
21+
[sub_resource type="Sky" id="Sky_p1qur"]
22+
sky_material = SubResource("PanoramaSkyMaterial_s1ymj")
23+
24+
[sub_resource type="Environment" id="Environment_mekck"]
25+
background_mode = 2
26+
sky = SubResource("Sky_p1qur")
27+
28+
[node name="Test" type="Node3D"]
29+
30+
[node name="floor" type="StaticBody3D" parent="."]
31+
32+
[node name="CollisionShape3D" type="CollisionShape3D" parent="floor"]
33+
shape = SubResource("BoxShape3D_1fig0")
34+
35+
[node name="MeshInstance3D" type="MeshInstance3D" parent="floor"]
36+
mesh = SubResource("BoxMesh_ecyep")
37+
38+
[node name="Robot" parent="." instance=ExtResource("2_trg0w")]
39+
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.03103, 0)
40+
41+
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
42+
environment = SubResource("Environment_mekck")

0 commit comments

Comments
 (0)