did some gun stuff
This commit is contained in:
BIN
assets/materials/dark_metal.material
Normal file
BIN
assets/materials/dark_metal.material
Normal file
Binary file not shown.
BIN
assets/materials/metal.material
Normal file
BIN
assets/materials/metal.material
Normal file
Binary file not shown.
BIN
assets/materials/old_plastic.material
Normal file
BIN
assets/materials/old_plastic.material
Normal file
Binary file not shown.
BIN
assets/materials/orange_glow.material
Normal file
BIN
assets/materials/orange_glow.material
Normal file
Binary file not shown.
BIN
assets/materials/wood.material
Normal file
BIN
assets/materials/wood.material
Normal file
Binary file not shown.
BIN
assets/textures/circle.png
Normal file
BIN
assets/textures/circle.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
35
assets/textures/circle.png.import
Normal file
35
assets/textures/circle.png.import
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b4en3dw3q324p"
|
||||||
|
path.s3tc="res://.godot/imported/circle.png-cfb642d06c602215a6b6cc6699d3b82d.s3tc.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/textures/circle.png"
|
||||||
|
dest_files=["res://.godot/imported/circle.png-cfb642d06c602215a6b6cc6699d3b82d.s3tc.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=true
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
@@ -1,10 +1,11 @@
|
|||||||
[gd_resource type="Environment" format=3 uid="uid://drn5fwa4uhv4m"]
|
[gd_resource type="Environment" format=3 uid="uid://drn5fwa4uhv4m"]
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
background_mode = 1
|
background_mode = 2
|
||||||
background_color = Color(1, 1, 1, 1)
|
background_color = Color(1, 1, 1, 1)
|
||||||
ambient_light_source = 2
|
ambient_light_source = 2
|
||||||
ambient_light_color = Color(0.678431, 0.501961, 0, 1)
|
ambient_light_color = Color(0.678431, 0.501961, 0, 1)
|
||||||
ambient_light_energy = 1.5
|
ambient_light_energy = 1.5
|
||||||
tonemap_mode = 1
|
tonemap_mode = 1
|
||||||
ssil_enabled = true
|
ssao_enabled = true
|
||||||
|
glow_enabled = true
|
||||||
|
117
scenes/gravity_gun.tscn
Normal file
117
scenes/gravity_gun.tscn
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
[gd_scene load_steps=15 format=3 uid="uid://cl6gw3huejnrl"]
|
||||||
|
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://cxw30fmp15jsd" path="res://models/gun.obj" id="1_803cf"]
|
||||||
|
[ext_resource type="Environment" uid="uid://drn5fwa4uhv4m" path="res://resources/environment.tres" id="1_vtn44"]
|
||||||
|
[ext_resource type="Material" uid="uid://b6r8e4302xg1d" path="res://assets/materials/dark_metal.material" id="2_qrl87"]
|
||||||
|
[ext_resource type="Shader" path="res://shaders/pbr_glass.gdshader" id="3_aeppb"]
|
||||||
|
[ext_resource type="Material" uid="uid://djwaye0a3cmds" path="res://assets/materials/wood.material" id="4_expk1"]
|
||||||
|
[ext_resource type="Material" uid="uid://wi5k6axixuwr" path="res://assets/materials/metal.material" id="5_algr0"]
|
||||||
|
[ext_resource type="Material" uid="uid://dy6hjdu4t4wan" path="res://assets/materials/orange_glow.material" id="6_ocwsh"]
|
||||||
|
[ext_resource type="Material" uid="uid://c8bic1or51fbf" path="res://assets/materials/old_plastic.material" id="7_c1s4a"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://b4en3dw3q324p" path="res://assets/textures/circle.png" id="8_al3c7"]
|
||||||
|
|
||||||
|
[sub_resource type="World3D" id="World3D_6qira"]
|
||||||
|
environment = ExtResource("1_vtn44")
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_twwch"]
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("3_aeppb")
|
||||||
|
shader_parameter/albedo = Color(1, 1, 1, 0.0156863)
|
||||||
|
shader_parameter/roughness = 0.301
|
||||||
|
shader_parameter/normal_strength = 16.0
|
||||||
|
shader_parameter/edge_color = Color(1, 1, 1, 1)
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_yttr4"]
|
||||||
|
lifetime_randomness = 0.1
|
||||||
|
emission_shape = 1
|
||||||
|
emission_sphere_radius = 0.2
|
||||||
|
initial_velocity_min = 1.0
|
||||||
|
initial_velocity_max = 1.0
|
||||||
|
gravity = Vector3(3, -7.5, 0)
|
||||||
|
scale_min = 0.01
|
||||||
|
scale_max = 0.07
|
||||||
|
collision_mode = 2
|
||||||
|
collision_use_scale = true
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y24ld"]
|
||||||
|
transparency = 2
|
||||||
|
alpha_scissor_threshold = 0.9
|
||||||
|
alpha_antialiasing_mode = 0
|
||||||
|
albedo_texture = ExtResource("8_al3c7")
|
||||||
|
emission_enabled = true
|
||||||
|
emission = Color(0.784314, 0.396078, 0, 1)
|
||||||
|
emission_energy_multiplier = 16.0
|
||||||
|
billboard_mode = 1
|
||||||
|
billboard_keep_scale = true
|
||||||
|
|
||||||
|
[sub_resource type="QuadMesh" id="QuadMesh_wtlns"]
|
||||||
|
material = SubResource("StandardMaterial3D_y24ld")
|
||||||
|
|
||||||
|
[node name="GravityGun" type="CanvasLayer"]
|
||||||
|
follow_viewport_enabled = true
|
||||||
|
|
||||||
|
[node name="SubViewportContainer" type="SubViewportContainer" parent="."]
|
||||||
|
anchors_preset = 12
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_top = -324.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 0
|
||||||
|
stretch_shrink = 2
|
||||||
|
metadata/_edit_use_anchors_ = true
|
||||||
|
|
||||||
|
[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"]
|
||||||
|
world_3d = SubResource("World3D_6qira")
|
||||||
|
transparent_bg = true
|
||||||
|
handle_input_locally = false
|
||||||
|
gui_embed_subwindows = true
|
||||||
|
size = Vector2i(1152, 648)
|
||||||
|
render_target_update_mode = 4
|
||||||
|
|
||||||
|
[node name="Node3D" type="Node3D" parent="SubViewportContainer/SubViewport"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -8, 0)
|
||||||
|
|
||||||
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/Node3D"]
|
||||||
|
transform = Transform3D(0.00445237, 0.182181, 0.983255, 0.0240231, 0.982961, -0.182236, -0.999701, 0.0244322, -4.29794e-08, 0.895815, -0.569743, -1.63173)
|
||||||
|
mesh = ExtResource("1_803cf")
|
||||||
|
surface_material_override/0 = ExtResource("2_qrl87")
|
||||||
|
surface_material_override/1 = SubResource("ShaderMaterial_twwch")
|
||||||
|
surface_material_override/2 = ExtResource("4_expk1")
|
||||||
|
surface_material_override/3 = ExtResource("5_algr0")
|
||||||
|
surface_material_override/4 = ExtResource("6_ocwsh")
|
||||||
|
surface_material_override/5 = ExtResource("7_c1s4a")
|
||||||
|
|
||||||
|
[node name="GPUParticles3D" type="GPUParticles3D" parent="SubViewportContainer/SubViewport/Node3D/MeshInstance3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.20308, -0.000130415, 0.165362)
|
||||||
|
emitting = false
|
||||||
|
lifetime = 5.0
|
||||||
|
randomness = 0.2
|
||||||
|
visibility_aabb = AABB(-0.894568, -0.448322, -0.513538, 1.77742, 0.896643, 1.02708)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_yttr4")
|
||||||
|
draw_pass_1 = SubResource("QuadMesh_wtlns")
|
||||||
|
|
||||||
|
[node name="GPUParticles3D2" type="GPUParticles3D" parent="SubViewportContainer/SubViewport/Node3D/MeshInstance3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.173204, 0.0331628, -0.182098)
|
||||||
|
lifetime = 5.0
|
||||||
|
randomness = 0.5
|
||||||
|
visibility_aabb = AABB(-0.894568, -0.448322, -0.513538, 1.77742, 0.896643, 1.02708)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_yttr4")
|
||||||
|
draw_pass_1 = SubResource("QuadMesh_wtlns")
|
||||||
|
|
||||||
|
[node name="GPUParticles3D3" type="GPUParticles3D" parent="SubViewportContainer/SubViewport/Node3D/MeshInstance3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.132698, 0.304665, 0.0594321)
|
||||||
|
lifetime = 5.0
|
||||||
|
randomness = 0.5
|
||||||
|
visibility_aabb = AABB(-0.894568, -0.448322, -0.513538, 1.77742, 0.896643, 1.02708)
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_yttr4")
|
||||||
|
draw_pass_1 = SubResource("QuadMesh_wtlns")
|
||||||
|
|
||||||
|
[node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="SubViewportContainer/SubViewport/Node3D/MeshInstance3D"]
|
||||||
|
transform = Transform3D(0.999923, -0.012392, 0.000616441, 0.0123854, 0.999875, 0.00980631, -0.000737865, -0.00979792, 0.999952, 0.358337, 0.108517, -0.0012207)
|
||||||
|
size = Vector3(1.17664, 0.301201, 0.299805)
|
||||||
|
|
||||||
|
[node name="Camera3D" type="Camera3D" parent="SubViewportContainer/SubViewport/Node3D"]
|
||||||
|
|
||||||
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="SubViewportContainer/SubViewport/Node3D"]
|
||||||
|
transform = Transform3D(0.991671, 0, -0.128796, 0, 1, 0, 0.128796, 0, 0.991671, 0, 0, 0)
|
@@ -1,11 +1,9 @@
|
|||||||
[gd_scene load_steps=15 format=3 uid="uid://ckad8stc13n83"]
|
[gd_scene load_steps=7 format=3 uid="uid://ckad8stc13n83"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://gg5ph541e4p3" path="res://scenes/player.tscn" id="1_2585i"]
|
[ext_resource type="PackedScene" uid="uid://gg5ph541e4p3" path="res://scenes/player.tscn" id="1_2585i"]
|
||||||
[ext_resource type="PackedScene" uid="uid://ddwkhfly2xyyt" path="res://models/interior.obj" id="1_lphcl"]
|
[ext_resource type="PackedScene" uid="uid://ddwkhfly2xyyt" path="res://models/interior.obj" id="1_lphcl"]
|
||||||
[ext_resource type="PackedScene" uid="uid://b8bvidqu7tmfs" path="res://scenes/objects/interactables/task_terminal.tscn" id="3_30m3x"]
|
[ext_resource type="PackedScene" uid="uid://b8bvidqu7tmfs" path="res://scenes/objects/interactables/task_terminal.tscn" id="3_30m3x"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dqy8bqf1chm8c" path="res://scenes/objects/interactables/button_stand.tscn" id="4_cruoa"]
|
[ext_resource type="PackedScene" uid="uid://dqy8bqf1chm8c" path="res://scenes/objects/interactables/button_stand.tscn" id="4_cruoa"]
|
||||||
[ext_resource type="ArrayMesh" uid="uid://cxw30fmp15jsd" path="res://models/gun.obj" id="5_62nbh"]
|
|
||||||
[ext_resource type="Shader" path="res://shaders/pbr_glass.gdshader" id="6_vb4lq"]
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_780x3"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_780x3"]
|
||||||
albedo_color = Color(0.133333, 0.133333, 0.133333, 1)
|
albedo_color = Color(0.133333, 0.133333, 0.133333, 1)
|
||||||
@@ -14,41 +12,6 @@ metallic_specular = 0.0
|
|||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cra61"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cra61"]
|
||||||
albedo_color = Color(0.356863, 0.168627, 0, 1)
|
albedo_color = Color(0.356863, 0.168627, 0, 1)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_13ant"]
|
|
||||||
cull_mode = 2
|
|
||||||
albedo_color = Color(0.05359, 0.05359, 0.05359, 1)
|
|
||||||
roughness = 0.42
|
|
||||||
clearcoat_enabled = true
|
|
||||||
clearcoat_roughness = 1.0
|
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_twwch"]
|
|
||||||
render_priority = 0
|
|
||||||
shader = ExtResource("6_vb4lq")
|
|
||||||
shader_parameter/albedo = Color(1, 1, 1, 0.0156863)
|
|
||||||
shader_parameter/roughness = 0.301
|
|
||||||
shader_parameter/normal_strength = 16.0
|
|
||||||
shader_parameter/edge_color = Color(1, 1, 1, 1)
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lednd"]
|
|
||||||
cull_mode = 2
|
|
||||||
albedo_color = Color(0.08984, 0.019501, 0, 1)
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vq0we"]
|
|
||||||
albedo_color = Color(0.282353, 0.282353, 0.282353, 1)
|
|
||||||
metallic = 1.0
|
|
||||||
clearcoat_enabled = true
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_n0xde"]
|
|
||||||
albedo_color = Color(1, 0.490196, 0, 1)
|
|
||||||
rim_enabled = true
|
|
||||||
rim_tint = 1.0
|
|
||||||
backlight_enabled = true
|
|
||||||
backlight = Color(1, 0.490196, 0, 1)
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_e1ogg"]
|
|
||||||
cull_mode = 2
|
|
||||||
albedo_color = Color(0.495402, 0.401949, 0.222077, 1)
|
|
||||||
|
|
||||||
[node name="Debug" type="Node3D"]
|
[node name="Debug" type="Node3D"]
|
||||||
|
|
||||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||||
@@ -75,14 +38,4 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0.5, 0
|
|||||||
[node name="ButtonStand" parent="." instance=ExtResource("4_cruoa")]
|
[node name="ButtonStand" parent="." instance=ExtResource("4_cruoa")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.7, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.7, 0)
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.56923, 0)
|
|
||||||
mesh = ExtResource("5_62nbh")
|
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_13ant")
|
|
||||||
surface_material_override/1 = SubResource("ShaderMaterial_twwch")
|
|
||||||
surface_material_override/2 = SubResource("StandardMaterial3D_lednd")
|
|
||||||
surface_material_override/3 = SubResource("StandardMaterial3D_vq0we")
|
|
||||||
surface_material_override/4 = SubResource("StandardMaterial3D_n0xde")
|
|
||||||
surface_material_override/5 = SubResource("StandardMaterial3D_e1ogg")
|
|
||||||
|
|
||||||
[editable path="interior"]
|
[editable path="interior"]
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
[gd_scene load_steps=3 format=3 uid="uid://gg5ph541e4p3"]
|
[gd_scene load_steps=4 format=3 uid="uid://gg5ph541e4p3"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://scripts/player.gd" id="1_8d33x"]
|
[ext_resource type="Script" path="res://scripts/player.gd" id="1_8d33x"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cl6gw3huejnrl" path="res://scenes/gravity_gun.tscn" id="2_ahuce"]
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_2qx4s"]
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_2qx4s"]
|
||||||
height = 1.9
|
height = 1.9
|
||||||
@@ -14,3 +15,7 @@ shape = SubResource("CapsuleShape3D_2qx4s")
|
|||||||
[node name="Camera3D" type="Camera3D" parent="."]
|
[node name="Camera3D" type="Camera3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0)
|
||||||
current = true
|
current = true
|
||||||
|
|
||||||
|
[node name="GravityGun" parent="." instance=ExtResource("2_ahuce")]
|
||||||
|
|
||||||
|
[editable path="GravityGun"]
|
||||||
|
@@ -8,13 +8,17 @@ const JUMP_VELOCITY = 4.5
|
|||||||
var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity")
|
var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity")
|
||||||
|
|
||||||
@onready var camera: Camera3D = $Camera3D
|
@onready var camera: Camera3D = $Camera3D
|
||||||
|
@onready var gun_cam: Camera3D = $GravityGun/SubViewportContainer/SubViewport/Node3D/Camera3D
|
||||||
|
|
||||||
var camera_senitivity: float = 0.5
|
var camera_senitivity: float = 0.5
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
capture()
|
capture()
|
||||||
|
camera.make_current()
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
|
gun_cam.transform = camera.transform
|
||||||
|
|
||||||
if not is_on_floor():
|
if not is_on_floor():
|
||||||
velocity.y -= gravity * delta
|
velocity.y -= gravity * delta
|
||||||
|
|
||||||
@@ -36,7 +40,7 @@ func _input(event: InputEvent) -> void:
|
|||||||
if event is InputEventMouseMotion && Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
|
if event is InputEventMouseMotion && Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
|
||||||
rotate_y(-event.relative.x * camera_senitivity * 0.0025)
|
rotate_y(-event.relative.x * camera_senitivity * 0.0025)
|
||||||
camera.rotate_x(-event.relative.y * camera_senitivity * 0.0015)
|
camera.rotate_x(-event.relative.y * camera_senitivity * 0.0015)
|
||||||
camera.rotation_degrees.x = clamp(camera.rotation_degrees.x, -60, 80)
|
camera.rotation_degrees.x = clamp(camera.rotation_degrees.x, -30, 80)
|
||||||
if event.is_action_pressed("pause"):
|
if event.is_action_pressed("pause"):
|
||||||
capture(false)
|
capture(false)
|
||||||
if event.is_action_pressed("mouse_capture"):
|
if event.is_action_pressed("mouse_capture"):
|
||||||
|
Reference in New Issue
Block a user