Gravity done!
This commit is contained in:
parent
02d3f976de
commit
8e2ada0cbe
10
globals.gd
10
globals.gd
@ -1,6 +1,7 @@
|
||||
extends Node
|
||||
|
||||
var global_down = Vector3(0,0,0)
|
||||
# Random inital value to avoid divisions by 0
|
||||
var global_down = Vector3(0.01,0,0)
|
||||
var sensitivity = 0.004
|
||||
var fov = 75
|
||||
|
||||
@ -8,11 +9,12 @@ var fov = 75
|
||||
func _ready():
|
||||
set_global_down(Vector3(0,-1,0))
|
||||
|
||||
func set_global_down(newDown: Vector3):
|
||||
global_down = newDown.normalized()
|
||||
func set_global_down(new_down: Vector3):
|
||||
var old_down = global_down
|
||||
global_down = new_down.normalized()
|
||||
if global_down.dot(Vector3.UP) == 1 || global_down.dot(Vector3.DOWN) == 1:
|
||||
# Applies jitter
|
||||
global_down += Vector3(0.01,0,0)
|
||||
global_down += old_down * 0.01
|
||||
|
||||
# REMINDER:
|
||||
# Layer 1 : everything
|
||||
|
@ -60,3 +60,6 @@ texture = ExtResource("4_fuh05")
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="level"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0)
|
||||
mesh = SubResource("CapsuleMesh_1nqfw")
|
||||
|
||||
[node name="true_level" type="Node3D" parent="level"]
|
||||
top_level = true
|
||||
|
@ -1,5 +1,6 @@
|
||||
extends Node3D
|
||||
|
||||
var alpha = 0.2
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
@ -7,6 +8,8 @@ func _ready():
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta):
|
||||
func _process(delta):
|
||||
#rotation=Globals.global_rotate
|
||||
look_at(position + Globals.global_down)
|
||||
$true_level.look_at($true_level.position + Globals.global_down)
|
||||
|
||||
quaternion = quaternion.slerp($true_level.quaternion, 1 - alpha ** delta)
|
||||
|
13
primitives/gravity_changer/gravity_changer.gd
Normal file
13
primitives/gravity_changer/gravity_changer.gd
Normal file
@ -0,0 +1,13 @@
|
||||
extends Area3D
|
||||
|
||||
@export var down = Vector3(0, -1, 0)
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
body_entered.connect(_on_area_entered)
|
||||
|
||||
|
||||
func _on_area_entered(body : Node3D) -> void:
|
||||
var new_down = quaternion * down
|
||||
print ("Changing gravity to: ", new_down)
|
||||
Globals.set_global_down(new_down)
|
12
primitives/gravity_changer/gravity_changer.tscn
Normal file
12
primitives/gravity_changer/gravity_changer.tscn
Normal file
@ -0,0 +1,12 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bnsyxg7xsjri1"]
|
||||
|
||||
[ext_resource type="Script" path="res://primitives/gravity_changer/gravity_changer.gd" id="1_oxv17"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_hwemw"]
|
||||
|
||||
[node name="gravity_changer" type="Area3D"]
|
||||
collision_mask = 4
|
||||
script = ExtResource("1_oxv17")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("BoxShape3D_hwemw")
|
@ -1,8 +1,9 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://bjs6r15h7ge62"]
|
||||
[gd_scene load_steps=10 format=3 uid="uid://bjs6r15h7ge62"]
|
||||
|
||||
[ext_resource type="Material" uid="uid://c2bppsuxirk3j" path="res://rooms/yellow/wall_yellow.tres" id="1_r5s2i"]
|
||||
[ext_resource type="Material" uid="uid://bk5bvrignm0qk" path="res://rooms/blue/emissive_lights.tres" id="3_36idt"]
|
||||
[ext_resource type="PackedScene" uid="uid://bcsejkg5vcjgl" path="res://primitives/skybox/skybox.blend" id="3_75x0b"]
|
||||
[ext_resource type="PackedScene" uid="uid://bnsyxg7xsjri1" path="res://primitives/gravity_changer/gravity_changer.tscn" id="4_l8ock"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_sn4y7"]
|
||||
size = Vector3(100, 100, 100)
|
||||
@ -185,3 +186,21 @@ ambient_color_energy = 11.43
|
||||
|
||||
[node name="skybox" parent="." instance=ExtResource("3_75x0b")]
|
||||
transform = Transform3D(800, 0, 0, 0, 800, 0, 0, 0, 800, 0, 0, 0)
|
||||
|
||||
[node name="GravityChanger" parent="." instance=ExtResource("4_l8ock")]
|
||||
transform = Transform3D(100, 0, 0, 0, 1, 0, 0, 0, 100, 0, -50, 0)
|
||||
|
||||
[node name="GravityChanger6" parent="." instance=ExtResource("4_l8ock")]
|
||||
transform = Transform3D(100, 0, 0, 0, -4.37114e-08, -100, 0, 1, -4.37114e-06, 0, 0, -50)
|
||||
|
||||
[node name="GravityChanger5" parent="." instance=ExtResource("4_l8ock")]
|
||||
transform = Transform3D(100, 0, 0, 0, -4.37114e-08, 100, 0, -1, -4.37114e-06, 0, 0, 50)
|
||||
|
||||
[node name="GravityChanger4" parent="." instance=ExtResource("4_l8ock")]
|
||||
transform = Transform3D(-4.37114e-06, -1, 0, 100, -4.37114e-08, 0, 0, 0, 100, 50, 0, 0)
|
||||
|
||||
[node name="GravityChanger3" parent="." instance=ExtResource("4_l8ock")]
|
||||
transform = Transform3D(-4.37114e-06, 1, 0, -100, -4.37114e-08, 0, 0, 0, 100, -50, 0, 0)
|
||||
|
||||
[node name="GravityChanger2" parent="." instance=ExtResource("4_l8ock")]
|
||||
transform = Transform3D(-100, 8.74228e-08, 0, -8.74228e-06, -1, 0, 0, 0, 100, 0, 50, 0)
|
||||
|
@ -1,8 +1,7 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://dosqj5u034nai"]
|
||||
[gd_scene load_steps=10 format=3 uid="uid://dosqj5u034nai"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://pyhlicd4a0ec" path="res://player/player_node.tscn" id="1_6ggf4"]
|
||||
[ext_resource type="PackedScene" uid="uid://bjs6r15h7ge62" path="res://rooms/yellow/room_yellow_floor.tscn" id="3_1isy3"]
|
||||
[ext_resource type="PackedScene" uid="uid://ccbxd6724rlfj" path="res://rooms/blue/room_blue_floor.tscn" id="3_ql6ir"]
|
||||
[ext_resource type="PackedScene" uid="uid://5pnqeh3rmtel" path="res://ui/main_menu.tscn" id="4_7iuiw"]
|
||||
[ext_resource type="PackedScene" uid="uid://tdcxcrg6ktpl" path="res://objectives/objective.tscn" id="5_r66y3"]
|
||||
[ext_resource type="PackedScene" uid="uid://bkgacevpcgbtj" path="res://audio/music/music_engine.tscn" id="6_8a4j4"]
|
||||
@ -22,8 +21,6 @@ points = PackedVector3Array(-0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5,
|
||||
[node name="player" parent="." instance=ExtResource("1_6ggf4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.3796, 0)
|
||||
|
||||
[node name="room_blue_floor" parent="." instance=ExtResource("3_ql6ir")]
|
||||
|
||||
[node name="s" type="RigidBody3D" parent="."]
|
||||
mass = 0.25
|
||||
physics_material_override = SubResource("PhysicsMaterial_8njux")
|
||||
@ -40,7 +37,6 @@ transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0)
|
||||
shape = SubResource("ConvexPolygonShape3D_3iv3b")
|
||||
|
||||
[node name="StaticBody3D" parent="." instance=ExtResource("3_1isy3")]
|
||||
visible = false
|
||||
|
||||
[node name="objective" parent="." instance=ExtResource("5_r66y3")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.1414, -48.7976, 15.7991)
|
||||
|
Loading…
Reference in New Issue
Block a user