added the game:)

This commit is contained in:
BrixsBang 2025-09-16 17:23:28 +02:00
parent d4b7c77e09
commit cdfe1089af
58 changed files with 2095 additions and 0 deletions

182
Scene/base.tscn Normal file
View file

@ -0,0 +1,182 @@
[gd_scene load_steps=18 format=3 uid="uid://g3ocaiur6ojd"]
[ext_resource type="Script" uid="uid://b2chtre60m62g" path="res://Script/base.gd" id="1_iwpok"]
[ext_resource type="PackedScene" uid="uid://mcavsjo6dgd0" path="res://Scene/player.tscn" id="3_x5x41"]
[ext_resource type="PackedScene" uid="uid://bk2nxxt5jfmhw" path="res://visto.tscn" id="4_pntdf"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_g5ejs"]
sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
ground_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
[sub_resource type="Sky" id="Sky_rpg24"]
sky_material = SubResource("ProceduralSkyMaterial_g5ejs")
[sub_resource type="Environment" id="Environment_3vi8l"]
background_mode = 2
sky = SubResource("Sky_rpg24")
tonemap_mode = 2
glow_enabled = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8rhti"]
albedo_color = Color(0.513305, 0.726962, 0.328452, 1)
[sub_resource type="PlaneMesh" id="PlaneMesh_g5ejs"]
size = Vector2(20, 20)
[sub_resource type="BoxShape3D" id="BoxShape3D_rpg24"]
size = Vector3(20, 0, 20)
[sub_resource type="PlaneMesh" id="PlaneMesh_ohhpf"]
size = Vector2(40, 40)
[sub_resource type="GDScript" id="GDScript_0ce0i"]
script/source = "extends MeshInstance3D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
"
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_8rhti"]
data = PackedVector3Array(20, 0, 20, -20, 0, 20, 20, 0, -20, -20, 0, 20, -20, 0, -20, 20, 0, -20)
[sub_resource type="BoxMesh" id="BoxMesh_3vi8l"]
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_3vi8l"]
points = PackedVector3Array(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5, 0.5, -0.5)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ohhpf"]
albedo_color = Color(0.958686, 0.172163, 5.77569e-07, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_21bcp"]
albedo_color = Color(0.178295, 0.644373, 0.775982, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tpea4"]
albedo_color = Color(0.725661, 0.571458, 0.0828246, 1)
[node name="Node3D" type="Node3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0392878, 5.60284e-05, 0.0819645)
script = ExtResource("1_iwpok")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_3vi8l")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(-0.982935, -0.149758, 0.106821, 0, 0.580703, 0.814116, -0.183951, 0.800223, -0.570793, 0, 0, 0)
shadow_enabled = true
[node name="terra" type="MeshInstance3D" parent="."]
transform = Transform3D(1.91805, 0, 0, 0, 1, 0, 0, 0, 1.94726, -0.131999, -0.0807834, 0.0995938)
material_override = SubResource("StandardMaterial3D_8rhti")
mesh = SubResource("PlaneMesh_g5ejs")
metadata/_edit_group_ = true
[node name="StaticBody3D" type="StaticBody3D" parent="terra"]
metadata/_edit_group_ = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="terra/StaticBody3D"]
shape = SubResource("BoxShape3D_rpg24")
metadata/_edit_group_ = true
[node name="death" type="MeshInstance3D" parent="."]
transform = Transform3D(16.3, 0, 0, 0, 1, 0, 0, 0, 12.6, -0.0227752, -9.59846, -0.0194728)
visible = false
mesh = SubResource("PlaneMesh_ohhpf")
script = SubResource("GDScript_0ce0i")
[node name="Area3D" type="Area3D" parent="death"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="death/Area3D"]
shape = SubResource("ConcavePolygonShape3D_8rhti")
[node name="Player" parent="." instance=ExtResource("3_x5x41")]
transform = Transform3D(0.999995, 0.00271548, -0.00172492, -0.00271622, 0.999996, -0.0004321, 0.00172375, 0.000436761, 0.999999, 0, 1, 0)
[node name="Wall" type="MeshInstance3D" parent="."]
transform = Transform3D(39.6553, 0, 0, 0, 5.08344, 0, 0, 0, 1.08613, 0.0282918, 0.14087, 19.0978)
mesh = SubResource("BoxMesh_3vi8l")
[node name="StaticBody3D" type="StaticBody3D" parent="Wall"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Wall/StaticBody3D"]
shape = SubResource("ConvexPolygonShape3D_3vi8l")
[node name="Wall2" type="MeshInstance3D" parent="."]
transform = Transform3D(39.6553, 0, 0, 0, 5.08344, 0, 0, 0, 1.08613, 0.028, 0.141, -19.098)
mesh = SubResource("BoxMesh_3vi8l")
[node name="StaticBody3D" type="StaticBody3D" parent="Wall2"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Wall2/StaticBody3D"]
shape = SubResource("ConvexPolygonShape3D_3vi8l")
[node name="Wall3" type="MeshInstance3D" parent="."]
transform = Transform3D(-1.73339e-06, 0, -1.08613, 0, 5.08344, 0, 39.6553, 0, -4.74763e-08, 19.098, 0.141, 0)
mesh = SubResource("BoxMesh_3vi8l")
[node name="StaticBody3D" type="StaticBody3D" parent="Wall3"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Wall3/StaticBody3D"]
shape = SubResource("ConvexPolygonShape3D_3vi8l")
[node name="Wall4" type="MeshInstance3D" parent="."]
transform = Transform3D(-1.73339e-06, 0, -1.08613, 0, 5.08344, 0, 39.6553, 0, -4.74763e-08, -19.098, 0.141, 0)
mesh = SubResource("BoxMesh_3vi8l")
[node name="StaticBody3D" type="StaticBody3D" parent="Wall4"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Wall4/StaticBody3D"]
shape = SubResource("ConvexPolygonShape3D_3vi8l")
[node name="Cubo_red" type="MeshInstance3D" parent="."]
transform = Transform3D(2.9, 0, 0, 0, 1, 0, 0, 0, 3.2, -5.31345, 0.14087, 12.8216)
material_override = SubResource("StandardMaterial3D_ohhpf")
mesh = SubResource("BoxMesh_3vi8l")
[node name="StaticBody3D" type="StaticBody3D" parent="Cubo_red"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cubo_red/StaticBody3D"]
shape = SubResource("ConvexPolygonShape3D_3vi8l")
[node name="Cubo_blu2" type="MeshInstance3D" parent="."]
transform = Transform3D(4.05226, 0, 0, 0, 4.47332, 0, 0, 0, 0.617615, 0.154456, 2.06792, -5.93461)
material_override = SubResource("StandardMaterial3D_21bcp")
mesh = SubResource("BoxMesh_3vi8l")
skeleton = NodePath("../Cubo_blu")
[node name="StaticBody3D" type="StaticBody3D" parent="Cubo_blu2"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cubo_blu2/StaticBody3D"]
shape = SubResource("ConvexPolygonShape3D_3vi8l")
[node name="Cubo_blu" type="MeshInstance3D" parent="."]
transform = Transform3D(2.9, 0, 0, 0, 1.5876, 0, 0, 0, 3.2, 0.0396042, 0.720582, 12.8395)
material_override = SubResource("StandardMaterial3D_21bcp")
mesh = SubResource("BoxMesh_3vi8l")
[node name="StaticBody3D" type="StaticBody3D" parent="Cubo_blu"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cubo_blu/StaticBody3D"]
shape = SubResource("ConvexPolygonShape3D_3vi8l")
[node name="Cubo_yellow" type="MeshInstance3D" parent="."]
transform = Transform3D(2.9, 0, 0, 0, 2.60258, 0, 0, 0, 3.2, 5.26495, 1.22977, 12.8216)
material_override = SubResource("StandardMaterial3D_tpea4")
mesh = SubResource("BoxMesh_3vi8l")
[node name="StaticBody3D" type="StaticBody3D" parent="Cubo_yellow"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cubo_yellow/StaticBody3D"]
shape = SubResource("ConvexPolygonShape3D_3vi8l")
[node name="focus" parent="." instance=ExtResource("4_pntdf")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.693508, 2.90325, 6.09433)
[connection signal="body_entered" from="death/Area3D" to="." method="_on_area_3d_body_entered"]
[connection signal="entrato" from="focus" to="Player" method="_on_visible_entrato"]
[connection signal="uscito" from="focus" to="Player" method="_on_visible_uscito"]

222
Scene/player.tres.gd Normal file
View file

@ -0,0 +1,222 @@
extends CharacterBody3D
const camera_SPEED = 3.5
const Run_SPEED = 7.5
const Walk_SPEED = 5.0
const JUMP_VELOCITY = 4.5
const RAY_LENGTH = 1000
@export var CAMERA_SPEED = 0.01
@onready var camera := $Camera
@onready var player := $"."
@onready var camera3d := $Camera/Camera3D
@onready var target = $Control/target
@onready var CTR = $Shader/ColorRect
@onready var ray = $RayCast3D
@onready var img1 = $"Camera/open book/img1"
@onready var img2 = $"Camera/open book/img2"
@onready var img3 = $"Camera/open book/img3"
@onready var img4 = $"Camera/open book/img4"
@onready var img5 = $"Camera/open book/img5"
@onready var img6 = $"Camera/open book/img6"
var is_going = false
var num = 0
var img_num
var thread := Thread.new()
const freq = 2.0
const amp = 0.08
var t = 0.0
var cam_walk = false
var not_book = true
var visto = false
func _ready():
#CTR.transform.x = get_viewport().size.x
#CTR.transform.y = get_viewport().size.y
target.position.x = get_viewport().size.x / 2 - 626.0 / 2
target.position.y = get_viewport().size.y / 2 - 470.0 / 2
# se vede un qualsiasi input
func _unhandled_input(event: InputEvent) -> void:
# cattura il mouse in modo che non si vede
if event is InputEventMouseButton:
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
# mostra di nuovo il mouse
elif event.is_action_pressed("ui_cancel"):
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED:
if event is InputEventMouseMotion:
camera.rotate_y(-event.relative.x * CAMERA_SPEED)
camera3d.rotate_x(-event.relative.y * CAMERA_SPEED)
camera3d.rotation.x = clamp(camera3d.rotation.x, deg_to_rad(-50), deg_to_rad(60))
# prepara la fotocamera con la animazione
if event.is_action_pressed("fotocamera") and not_book:
is_going = true
$AnimPlayer.play('camera_anim')
cam_walk = true
# fa tornare indietro la fotocamera
if event.is_action_released("fotocamera") and not_book:
$AnimPlayer.play_backwards('camera_anim')
is_going = false
cam_walk = false
# fa la foto
if event.is_action_pressed('screenshot') and is_going and not_book:
$Control/target.set_visible(false)#ui che voglio togliere
if $AnimPlayer.is_playing() == false:
await get_tree().process_frame
await get_tree().process_frame
print('target'+str($Control/target.is_visible()))
#$Shader/CTR.set_visible(false)
take_screenshot()
$AnimPlayer2.play('scatto')
$Control/target.set_visible(true)
print('ciao')
# apre il libro
if Input.is_action_just_pressed('book'):
if not_book:
$AnimPlayer3.play('look_book')
not_book = false
else:
$AnimPlayer3.play_backwards("look_book")
not_book = true
#questo serve per fare la foto
func take_screenshot() -> void:
$Control/target.set_visible(false)
# prende lo screenshot di quello che si vede come texure credo...
var img = get_viewport().get_texture().get_image()
var img_num = str(num)
if visto:
num += 1
var file_path = "res://screenshot/image" + img_num + ".png"
print(num)
var img_copy := img.duplicate()
# usa un thread per salvare la foto senza laggare
var thread := Thread.new()
# non so che cazzo e callable me la detto chatgbt:)
var callable := func(): _save_image(img_copy, "res://screenshot/image" + img_num + ".png")
thread.start(callable)
print('img')
func _save_image(img: Image, path: String) -> void:
if visto and num<=6:
img.save_png(path)
# per far vedere nel libro
var image = Image.load_from_file(path)
var texture = ImageTexture.create_from_image(image)
if num == 1:
img1.texture = texture
elif num == 2:
img2.texture = texture
elif num == 3:
img3.texture = texture
elif num == 4:
img4.texture = texture
elif num == 5:
img5.texture = texture
elif num == 6:
img6.texture = texture
#apply_texture($"Camera/open book/Img1", path)
print('save')
#func apply_texture(mesh_instance_node, texture_path):
#var texture = ImageTexture.new()
#var image = Image.new()
#image.load(texture_path)
#texture.create_from_image(image)
#if mesh_instance_node.material_override:
#mesh_instance_node.material_override.albedo_texture = texture
func _physics_process(delta: float) -> void:
# Add the gravity.
if not is_on_floor():
velocity += get_gravity() * delta
# Handle jump.
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
velocity.y = JUMP_VELOCITY
# Get the input direction and handle the movement/deceleration.
# As good practice, you should replace UI actions with custom gameplay actions.
var input_dir := Input.get_vector("left", "right", "up", "down")
var direction = (camera.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
if Input.is_action_pressed("RUN") and is_on_floor() and cam_walk == false:
if direction:
velocity.x = direction.x * Run_SPEED
velocity.z = direction.z * Run_SPEED
else:
velocity.x = move_toward(velocity.x, 0, Run_SPEED)
velocity.z = move_toward(velocity.z, 0, Run_SPEED)
elif Input.is_action_pressed("fotocamera"):
if direction:
velocity.x = direction.x * camera_SPEED
velocity.z = direction.z * camera_SPEED
else:
velocity.x = move_toward(velocity.x, 0, camera_SPEED)
velocity.z = move_toward(velocity.z, 0, camera_SPEED)
else:
if direction:
velocity.x = direction.x * Walk_SPEED
velocity.z = direction.z * Walk_SPEED
else:
velocity.x = move_toward(velocity.x, 0, Walk_SPEED)
velocity.z = move_toward(velocity.z, 0, Walk_SPEED)
t += delta * velocity.length() * float(is_on_floor())
camera.transform.origin = _headbob(t)
move_and_slide()
func _headbob(time) -> Vector3:
var pos = Vector3.ZERO
pos.y = sin(time * freq) * amp+ 1.626
pos.x = cos(time * freq / 2) * amp
return pos
func _on_timer_timeout() -> void:
if not ray.is_colliding():
visto = true
print('visto')
else:
visto=false
print('non visto')
#func _on_anim_player_animation_finished(look_book) -> void:
# not_book = true
# print('finito')
# controlla se il gruppo ORB (non mi ricordo come si chiama lol) visibile
func _on_visible_entrato() -> void:
var focus = get_tree().get_nodes_in_group("punti focus")
var nearest_spawn_point = focus[0]
for focu in focus:
if focu.global_position.distance_to(player.global_position) < nearest_spawn_point.global_position.distance_to(player.global_position):
nearest_spawn_point = focu
# usa ray per capire se e visibile (potrebbe essere un problema se ci sono tanti ORB)
ray.set_target_position(nearest_spawn_point.position)
$Timer.start()
if not ray.is_colliding():
visto = true
print('visto')
else: visto=false
func _on_visible_uscito() -> void:
visto = false
$Timer.stop()
print('non visto')

1
Scene/player.tres.gd.uid Normal file
View file

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

576
Scene/player.tscn Normal file
View file

@ -0,0 +1,576 @@
[gd_scene load_steps=20 format=3 uid="uid://mcavsjo6dgd0"]
[ext_resource type="PackedScene" uid="uid://djswo64leq8be" path="res://Immagini/Instant Camera.glb" id="1_4flbx"]
[ext_resource type="PackedScene" uid="uid://roh2pkd0qx72" path="res://Immagini/open book.glb" id="1_58ae2"]
[ext_resource type="Script" uid="uid://cfekp6e2bhs4s" path="res://Scene/player.tres.gd" id="1_ivevv"]
[ext_resource type="Texture2D" uid="uid://dvyv0o1c7ynqq" path="res://Immagini/vector-target-aim-simple-zoom-focus-icon-camera-frame-photo-viewfinder-screen-line-symbol_536875-203(1).png" id="2_onrkg"]
[ext_resource type="Shader" uid="uid://xp6bfrjh0pdg" path="res://ctr.gdshader" id="3_xa75v"]
[sub_resource type="CapsuleMesh" id="CapsuleMesh_hqtel"]
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_sweqy"]
points = PackedVector3Array(-0.125207, -0.532801, -0.480507, 0.0227831, 0.47607, 0.498884, 0.169713, 0.559144, 0.464172, 0.231051, -0.803591, 0.320455, 0.40741, 0.651043, -0.243523, -0.482789, 0.594843, 0.0822132, -0.362868, -0.682312, 0.289697, 0.469044, -0.654529, -0.0662713, -0.127444, 0.842701, -0.338103, -0.393435, -0.683942, -0.244717, 0.438255, 0.623309, 0.200849, 0.0841477, 0.977454, 0.114795, -0.0682023, -0.976458, -0.12927, 0.20055, -0.563129, -0.451454, -0.185527, 0.595453, -0.453475, -0.273363, 0.592268, 0.407754, -0.00693649, -0.476823, 0.49966, 0.375821, -0.588614, 0.316955, 0.111579, 0.563059, -0.481177, -0.41725, 0.527866, -0.270497, -0.484546, -0.596972, -0.0665097, -0.279747, 0.908561, 0.0533361, -0.250197, -0.880712, 0.205319, 0.263647, -0.902771, -0.127394, 0.293368, 0.871526, -0.157196, 0.373412, -0.526319, -0.328246, 0.499663, 0.476641, -0.00688856, 0.0531056, 0.875001, 0.324703, -0.154543, -0.590854, 0.465879, -0.0972799, -0.782358, -0.398188, -0.387649, -0.498171, 0.31565, -0.30068, -0.587995, -0.388901)
[sub_resource type="Animation" id="Animation_i3pqv"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera/Camera3D/Inst_Camera:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.186449, -0.09266, -0.183164)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Camera/Camera3D/Inst_Camera:scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.5, 0.5, 0.5)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = false
tracks/2/path = NodePath("Control/target:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Camera/Camera3D/Inst_Camera:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Control/Panel:size")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1153, 1)]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Control/Panel2:visible")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Control/Panel2:modulate")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = false
tracks/7/path = NodePath("Shader/CTR:visible")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("Camera/Camera3D:position")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("Camera/Camera3D:fov")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [75.0]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("Camera/open book:visible")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("Camera/open book:position")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, -0.203552, -0.042686)]
}
[sub_resource type="Animation" id="Animation_onrkg"]
resource_name = "camera_anim"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera/Camera3D/Inst_Camera:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.266667),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0.186449, -0.09266, -0.183164), Vector3(0.070624, -0.0681669, -0.20404)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Camera/Camera3D/Inst_Camera:scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.266667),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0.5, 0.5, 0.5), Vector3(1.12301, 1.12301, 1.12301)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Control/target:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.266667, 0.3),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [false, false, true]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Camera/Camera3D/Inst_Camera:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.3, 0.333333),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, true, false]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Control/Panel:size")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0.133333, 0.333333, 0.5),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(1153, 1), Vector2(1153, 700), Vector2(1153, 1)]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Shader/CTR:visible")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 0.3, 0.333333),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [false, false, false]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Camera/Camera3D:position")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0.3, 0.333333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, 0, 0)]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Camera/Camera3D:fov")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0.3, 0.333333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [75.0, 42.9]
}
[sub_resource type="Animation" id="Animation_ivevv"]
resource_name = "look_book"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera/open book:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.266667),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Camera/Camera3D/Inst_Camera:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.133333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0.186449, -0.09266, -0.183164), Vector3(0.200339, -0.238117, -0.184654)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Camera/Camera3D/Inst_Camera:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.166667),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Camera/open book:position")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.4),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, -0.203552, -0.042686), Vector3(0, -0.11669, -0.042686)]
}
[sub_resource type="Animation" id="Animation_sweqy"]
resource_name = "ritorno_scatto"
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Control/target:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_hqtel"]
resource_name = "scatto"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Control/Panel2:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0333333, 0.5),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [false, true, false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = false
tracks/1/path = NodePath("Control/target:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.0333333),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Control/Panel2:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Shader/CTR:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_hqtel"]
_data = {
&"RESET": SubResource("Animation_i3pqv"),
&"camera_anim": SubResource("Animation_onrkg"),
&"look_book": SubResource("Animation_ivevv"),
&"ritorno_scatto": SubResource("Animation_sweqy"),
&"scatto": SubResource("Animation_hqtel")
}
[sub_resource type="Animation" id="Animation_r6jsd"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera/Camera3D/Inst_Camera:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.186449, -0.09266, -0.183164)]
}
[sub_resource type="Animation" id="Animation_58ae2"]
resource_name = "mov_cam"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera/Camera3D/Inst_Camera:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.266667, 0.533333, 0.766667, 1),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [Vector3(0.186449, -0.09266, -0.183164), Vector3(0.186449, -0.128884, -0.183164), Vector3(0.186449, -0.0967208, -0.183164), Vector3(0.186449, -0.069582, -0.183164), Vector3(0.186, -0.093, -0.183)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_p6qlh"]
_data = {
&"RESET": SubResource("Animation_r6jsd"),
&"mov_cam": SubResource("Animation_58ae2")
}
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_onrkg"]
bg_color = Color(0, 0, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_i3pqv"]
bg_color = Color(0.851769, 0.851769, 0.851769, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_58ae2"]
shader = ExtResource("3_xa75v")
shader_parameter/overlay = false
shader_parameter/scanlines_opacity = 0.0
shader_parameter/scanlines_width = 0.0
shader_parameter/grille_opacity = 0.0
shader_parameter/resolution = Vector2(640, 480)
shader_parameter/pixelate = false
shader_parameter/roll = false
shader_parameter/roll_speed = 8.0
shader_parameter/roll_size = 0.0
shader_parameter/roll_variation = 0.1
shader_parameter/distort_intensity = 0.0
shader_parameter/noise_opacity = 0.0
shader_parameter/noise_speed = 5.0
shader_parameter/static_noise_intensity = 0.0
shader_parameter/aberration = 4.75e-08
shader_parameter/brightness = 1.0
shader_parameter/discolor = false
shader_parameter/warp_amount = 0.213
shader_parameter/clip_warp = false
shader_parameter/vignette_intensity = 0.4
shader_parameter/vignette_opacity = 0.5
[node name="Player" type="CharacterBody3D"]
script = ExtResource("1_ivevv")
CAMERA_SPEED = 0.005
[node name="Camera" type="Node3D" parent="."]
transform = Transform3D(4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 1.62624, 0)
[node name="open book" parent="Camera" instance=ExtResource("1_58ae2")]
transform = Transform3D(0.371027, 0, 0, 0, 0.341024, -0.146163, 0, 0.146163, 0.341024, 0, -0.203552, -0.042686)
visible = false
[node name="img1" type="Sprite3D" parent="Camera/open book"]
transform = Transform3D(0.0119495, 0.000129282, 0.336397, -0.00426941, 5.12341e-05, 0.941694, 0.000101255, -0.0130968, 0.00700449, -0.227564, 0.0793058, -0.288889)
[node name="img2" type="Sprite3D" parent="Camera/open book"]
transform = Transform3D(0.0119992, 0.000128513, 0.325233, -0.00412771, 4.66553e-05, 0.945611, 0.000103038, -0.0130968, 0.00655988, -0.0875454, 0.0278816, -0.153726)
[node name="img3" type="Sprite3D" parent="Camera/open book"]
transform = Transform3D(0.012047, 0.000111151, 0.314125, -0.00398627, -6.11278e-06, 0.949379, 0.0001041, -0.0130971, 0.00222279, -0.193001, 0.0664354, -0.0148353)
[node name="img4" type="Sprite3D" parent="Camera/open book"]
transform = Transform3D(0.0125085, 0.000129282, -0.168094, 0.00213269, 5.12341e-05, 0.985769, 0.000131818, -0.0130968, 0.00219696, 0.189233, 0.0296399, -0.281508)
[node name="img5" type="Sprite3D" parent="Camera/open book"]
transform = Transform3D(0.0124497, 0.000128513, -0.193324, 0.00245291, 4.66551e-05, 0.981133, 0.000130901, -0.0130968, 0.00159809, 0.107934, 0.0162589, -0.148389)
[node name="img6" type="Sprite3D" parent="Camera/open book"]
transform = Transform3D(0.0124172, 0.000111151, -0.20598, 0.00261399, -6.11278e-06, 0.978554, 0.000104161, -0.0130971, -0.00220482, 0.206262, 0.0372861, -0.00797266)
[node name="Camera3D" type="Camera3D" parent="Camera"]
near = 0.01
far = 60.95
[node name="Inst_Camera" parent="Camera/Camera3D" instance=ExtResource("1_4flbx")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0.186449, -0.09266, -0.183164)
[node name="MeshInstance3D2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0)
mesh = SubResource("CapsuleMesh_hqtel")
skeleton = NodePath("")
[node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
transform = Transform3D(1, -0.000352252, 0.000484425, 0.000352169, 1, 0.000189906, -0.000484485, -0.000189752, 1, 0, 1.1, 0)
shape = SubResource("ConvexPolygonShape3D_sweqy")
[node name="AnimPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_hqtel")
}
[node name="AnimPlayer2" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_hqtel")
}
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_p6qlh")
}
[node name="AnimPlayer3" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_hqtel")
}
[node name="Control" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="target" type="TextureRect" parent="Control"]
visible = false
light_mask = 2
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
mouse_filter = 2
texture = ExtResource("2_onrkg")
[node name="Panel" type="Panel" parent="Control"]
modulate = Color(0, 0, 0, 1)
self_modulate = Color(0, 0, 0, 1)
layout_mode = 0
offset_top = -1.0
offset_right = 1153.0
mouse_filter = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_onrkg")
[node name="Panel2" type="Panel" parent="Control"]
visible = false
layout_mode = 0
offset_right = 1152.0
offset_bottom = 648.0
mouse_filter = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_i3pqv")
[node name="img1" type="TextureRect" parent="Control"]
layout_mode = 0
offset_right = 331.0
offset_bottom = 248.0
[node name="Shader" type="CanvasLayer" parent="."]
[node name="CTR" type="ColorRect" parent="Shader"]
visible = false
material = SubResource("ShaderMaterial_58ae2")
offset_right = 1152.0
offset_bottom = 648.0
mouse_filter = 2
mouse_force_pass_scroll_events = false
[node name="Timer" type="Timer" parent="."]
[node name="RayCast3D" type="RayCast3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.34056, 0)
[connection signal="animation_finished" from="AnimPlayer" to="." method="_on_anim_player_animation_finished"]
[connection signal="animation_finished" from="AnimPlayer3" to="." method="_on_anim_player_animation_finished"]
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]