making level

This commit is contained in:
PajamaBee 2025-07-20 15:10:17 -05:00
parent d2e2276d43
commit 4ab01fe0dc
15 changed files with 173 additions and 58 deletions

View file

@ -1,4 +1,4 @@
extends Node extends Node
var player var player:Player
var selectedObject var selectedObject

View file

@ -1,11 +1,9 @@
[gd_scene load_steps=12 format=3 uid="uid://bt5a8babn8gyn"] [gd_scene load_steps=10 format=3 uid="uid://bt5a8babn8gyn"]
[ext_resource type="PackedScene" uid="uid://du8lkrvnc16gl" path="res://objects/Rotatable.tscn" id="1_glv2v"] [ext_resource type="PackedScene" uid="uid://bubyfj3d0t4wr" path="res://Player/Player.tscn" id="1_03owx"]
[ext_resource type="PackedScene" uid="uid://cbl4jcbilihv" path="res://objects/rotatableSphere.tscn" id="2_uu6xs"] [ext_resource type="Script" uid="uid://caucan7ubuwya" path="res://MainCamera.gd" id="2_wkp8b"]
[ext_resource type="PackedScene" uid="uid://dqu5h8wloab26" path="res://objects/rotatableLong.tscn" id="3_r0du0"] [ext_resource type="PackedScene" uid="uid://tv34yqlttubv" path="res://objects/rotatableLarge.tscn" id="5_fos0i"]
[ext_resource type="PackedScene" uid="uid://coowoxprnd50y" path="res://objects/Guitar.tscn" id="4_cm0pq"] [ext_resource type="PackedScene" uid="uid://deqhu8psa7fyn" path="res://locations/HauntedMansion.tscn" id="6_3dxm6"]
[ext_resource type="PackedScene" uid="uid://dxnty4qdey1la" path="res://objects/horse.tscn" id="5_fos0i"]
[ext_resource type="PackedScene" uid="uid://bggp3whsy8eji" path="res://objects/shark.tscn" id="6_3dxm6"]
[ext_resource type="PackedScene" uid="uid://bqyeo1mq0f35e" path="res://locations/stage.glb" id="7_lgr22"] [ext_resource type="PackedScene" uid="uid://bqyeo1mq0f35e" path="res://locations/stage.glb" id="7_lgr22"]
[ext_resource type="PackedScene" uid="uid://c2qnrd7mneksy" path="res://UI/MainUI.tscn" id="8_trn2v"] [ext_resource type="PackedScene" uid="uid://c2qnrd7mneksy" path="res://UI/MainUI.tscn" id="8_trn2v"]
@ -22,17 +20,15 @@ radius = 200.0
[node name="Main" type="Node3D"] [node name="Main" type="Node3D"]
[node name="Player" parent="." instance=ExtResource("1_03owx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.9503, -0.933056, 6.49124)
[node name="Camera3D" type="Camera3D" parent="."] [node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(-0.000329031, -0.999888, -0.0149358, 0.0220218, -0.0149394, 0.999646, -0.999757, 1.63032e-09, 0.0220243, -0.213372, 102.096, 0) transform = Transform3D(-4.37114e-08, -0.972775, 0.231748, 0, 0.231748, 0.972776, -1, 4.25214e-08, -1.013e-08, -0.213372, 102.096, 0)
script = ExtResource("2_wkp8b")
[node name="RayCast3D" type="RayCast3D" parent="Camera3D"] [node name="RayCast3D" type="RayCast3D" parent="Camera3D"]
[node name="RigidBody3D" parent="." instance=ExtResource("1_glv2v")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.822342, 0)
[node name="RigidBody3D2" parent="." instance=ExtResource("1_glv2v")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.70702, 1.18342, 2.50972)
[node name="StaticBody3D" type="StaticBody3D" parent="."] [node name="StaticBody3D" type="StaticBody3D" parent="."]
[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D"] [node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D"]
@ -45,34 +41,43 @@ shape = SubResource("CylinderShape3D_glv2v")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(0.177645, -0.645417, 0.742886, -0.293885, 0.685651, 0.665968, -0.939188, -0.336629, -0.067876, 15.6558, 10.5503, -0.157694) transform = Transform3D(0.177645, -0.645417, 0.742886, -0.293885, 0.685651, 0.665968, -0.939188, -0.336629, -0.067876, 15.6558, 10.5503, -0.157694)
[node name="Rotatable" parent="." instance=ExtResource("2_uu6xs")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.40892, 0.593454, -0.355954)
physics_material_override = null
yTorqueMult = 100.0
zTorqueMult = 100.0
[node name="Rotatable2" parent="." instance=ExtResource("2_uu6xs")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.89273, 0.00558472, 0.652737)
physics_material_override = null
yTorqueMult = 100.0
zTorqueMult = 100.0
[node name="Rotatable3" parent="." instance=ExtResource("3_r0du0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.16635, 1.11456, -2.11353)
mass = 5.0
physics_material_override = null
[node name="Guitar" parent="." instance=ExtResource("4_cm0pq")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.11599, 0.997873, 3.88009)
physics_material_override = null
[node name="Horse" parent="." instance=ExtResource("5_fos0i")]
transform = Transform3D(0.146601, 0, 0.989196, 0, 1, 0, -0.989196, 0, 0.146601, -0.288846, 0.43723, -4.17931)
[node name="Horse2" parent="." instance=ExtResource("6_3dxm6")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.81449, -0.38006, 9.13093)
[node name="stage" parent="." instance=ExtResource("7_lgr22")] [node name="stage" parent="." instance=ExtResource("7_lgr22")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0488815, -0.757728, -1.82727) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0488815, -0.757728, -1.82727)
[node name="MainUi" parent="." instance=ExtResource("8_trn2v")] [node name="MainUi" parent="." instance=ExtResource("8_trn2v")]
[node name="Rotatable" parent="." instance=ExtResource("5_fos0i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.534588, 0.00558501, -0.902103)
[node name="Rotatable2" parent="." instance=ExtResource("5_fos0i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48.2561, 0.00558501, 41.8306)
[node name="Rotatable3" parent="." instance=ExtResource("5_fos0i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48.2561, 0.00558501, -48.0989)
[node name="Rotatable4" parent="." instance=ExtResource("5_fos0i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -120.509, 0.00558501, -48.0989)
[node name="Rotatable5" parent="." instance=ExtResource("5_fos0i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -85.67, 0.00558501, 4.14013)
[node name="Rotatable10" parent="." instance=ExtResource("5_fos0i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -35.4848, 0.00558501, -0.586246)
[node name="Rotatable11" parent="." instance=ExtResource("5_fos0i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -122.158, 0.00558501, -0.586246)
[node name="Rotatable6" parent="." instance=ExtResource("5_fos0i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -118.206, 0.00558501, 43.295)
[node name="Rotatable7" parent="." instance=ExtResource("5_fos0i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -154.557, 0.00558501, 2.93675)
[node name="Rotatable8" parent="." instance=ExtResource("5_fos0i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 44.3335, 0.00558501, 43.1111)
[node name="Rotatable9" parent="." instance=ExtResource("5_fos0i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 44.3335, 0.00558501, -46.7001)
[node name="HauntedMansion" parent="." instance=ExtResource("6_3dxm6")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -149.584, -0.168726, -1.23758)

12
MainCamera.gd Normal file
View file

@ -0,0 +1,12 @@
extends Camera3D
var offset = Vector3 (5, 25, 0)
func _process(delta: float) -> void:
if Input.is_action_pressed("Zoom"):
offset = Vector3 (5, 50, 0)
elif Input.is_action_pressed("ZoomIn"):
offset = Vector3 (2, 8, 0)
else:
offset = Vector3 (5, 25, 0)
global_position = GlobalVariables.player.get_object_position() + offset

1
MainCamera.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://caucan7ubuwya

View file

@ -1,4 +1,5 @@
extends Node3D extends Node3D
class_name Player
var playerObject var playerObject
@ -6,12 +7,17 @@ func _ready() -> void:
GlobalVariables.player = self GlobalVariables.player = self
playerObject = $Horse playerObject = $Horse
func get_object_position():
return playerObject.global_position
func change_object(object): func change_object(object):
var objectPosition = playerObject.position var objectPosition = playerObject.position
var objectRotation = playerObject.objectRotation var objectRotation = playerObject.rotation
var objectVelocity = playerObject.linear_velocity
remove_child(playerObject) remove_child(playerObject)
add_child(object) add_child(object)
object.position = objectPosition object.position = objectPosition + Vector3(0, 2, 0)
object.rotation = objectRotation object.rotation = objectRotation
object.linear_velocity = objectVelocity
playerObject = object playerObject = object

18
Surfaces/Floor.tscn Normal file
View file

@ -0,0 +1,18 @@
[gd_scene load_steps=3 format=3 uid="uid://g5m48diqvglc"]
[ext_resource type="PackedScene" uid="uid://bqyeo1mq0f35e" path="res://locations/stage.glb" id="1_y6dek"]
[sub_resource type="BoxShape3D" id="BoxShape3D_jm8jd"]
size = Vector3(152.307, 2, 151.213)
[node name="Floor" type="Node3D"]
[node name="StaticBody3D" type="StaticBody3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.265808, 0, 0.487366)
shape = SubResource("BoxShape3D_jm8jd")
[node name="stage" parent="." instance=ExtResource("1_y6dek")]
[editable path="stage"]

View file

@ -2,9 +2,17 @@ extends PanelContainer
var shapeButtonScene = preload("res://UI/SelectableShape/ShapeButton.tscn") var shapeButtonScene = preload("res://UI/SelectableShape/ShapeButton.tscn")
var initialShapes = [ var shapes = [
preload("res://models/horse.glb"), {
preload("res://models/shark.glb") "object": preload("res://models/horse.glb"),
"name": "horse",
"scene": preload("res://objects/horse.tscn")
},
{
"object": preload("res://models/shark.glb"),
"name": "shark",
"scene": preload("res://objects/shark.tscn")
},
] ]
var offset = Vector3(0, 10000, 10000) var offset = Vector3(0, 10000, 10000)
@ -12,11 +20,22 @@ var offset = Vector3(0, 10000, 10000)
func _ready() -> void: func _ready() -> void:
setup_buttons() setup_buttons()
func close():
visible = false
func button_clicked(index):
GlobalVariables.player.change_object(shapes[index].scene.instantiate())
close()
func setup_buttons(): func setup_buttons():
for shape in initialShapes: var index = 0
for shape in shapes:
var newButton = shapeButtonScene.instantiate() var newButton = shapeButtonScene.instantiate()
var buttonObject = shape.instantiate() var buttonObject = shape.object.instantiate()
%ShapeButtons.add_child(newButton) %ShapeButtons.add_child(newButton)
newButton.set_location_offset(offset) newButton.set_location_offset(offset)
offset += Vector3(0, 10000, 10000) offset += Vector3(0, 10000, 10000)
newButton.change_object(buttonObject) newButton.change_object(buttonObject)
newButton.pressed.connect(button_clicked.bind(index))
index += 1

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,3 @@
[gd_scene format=3 uid="uid://6chikm1ta85o"]
[node name="SpinnerWorld" type="Node3D"]

BIN
locations/hauntedhouse.glb Normal file

Binary file not shown.

View file

@ -1,8 +1,8 @@
extends RigidBody3D extends RigidBody3D
@export var initialMass:float = 3 @export var initialMass:float = 5
@export var yTorqueMult:float = 100 @export var yTorqueMult:float = 200
@export var zTorqueMult:float = 100 @export var zTorqueMult:float = 200
var prev_mouse_position var prev_mouse_position
var next_mouse_position var next_mouse_position

View file

@ -13,8 +13,6 @@ size = Vector3(1, 1.22449, 1.01085)
[node name="Rotatable" type="RigidBody3D"] [node name="Rotatable" type="RigidBody3D"]
physics_material_override = SubResource("PhysicsMaterial_vn420") physics_material_override = SubResource("PhysicsMaterial_vn420")
script = ExtResource("1_vn420") script = ExtResource("1_vn420")
yTorqueMult = 30.0
zTorqueMult = 30.0
[node name="CollisionShape3D" type="CollisionShape3D" parent="."] [node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.66452, 0.0126419) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.66452, 0.0126419)

View file

@ -0,0 +1,17 @@
[gd_scene load_steps=3 format=3 uid="uid://tv34yqlttubv"]
[ext_resource type="PackedScene" uid="uid://du8lkrvnc16gl" path="res://objects/Rotatable.tscn" id="1_21koh"]
[sub_resource type="BoxShape3D" id="BoxShape3D_6b465"]
size = Vector3(1.59271, 1, 32.4368)
[node name="Rotatable" instance=ExtResource("1_21koh")]
initialMass = 50.0
yTorqueMult = 20000.0
[node name="CollisionShape3D" parent="." index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0103455, 0.66452, -0.032095)
shape = SubResource("BoxShape3D_6b465")
[node name="MeshInstance3D" parent="." index="1"]
transform = Transform3D(1.65606, 0, 0, 0, 1.1989, 0, 0, 0, 32.3694, 0, 0.676347, 0)

File diff suppressed because one or more lines are too long

View file

@ -26,6 +26,16 @@ LMB={
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null) "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
] ]
} }
Zoom={
"deadzone": 0.2,
"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":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
]
}
ZoomIn={
"deadzone": 0.2,
"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":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
[rendering] [rendering]