FPS game progress

This commit is contained in:
2023-07-24 22:16:01 -07:00
parent c355547a0d
commit d098cfb017
19 changed files with 533 additions and 3 deletions

43
Scenes/Crosshair.gdshader Normal file
View File

@@ -0,0 +1,43 @@
shader_type canvas_item;
uniform bool center_enabled = true;
uniform bool legs_enabled = true;
uniform bool inverted = false;
uniform int color_id = 0;
uniform vec4 color_0 = vec4(0., 1, 0., 1.);
uniform vec4 color_1 = vec4(1., 0., 0., 1.);
uniform vec4 color_2 = vec4(0., 0., 1., 1.);
uniform float center_radius = .002;
uniform float width = .003;
uniform float len = .03;
uniform float spacing = .008;
uniform float spread = 1.;
uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
void fragment(){
float a = SCREEN_PIXEL_SIZE.x / SCREEN_PIXEL_SIZE.y;
vec2 UVa = vec2(UV.x / a, UV.y);
vec2 center = vec2(.5 / a, .5);
float point = step(distance(UVa, center), center_radius);
float h = step(center.x - len - spacing*spread, UVa.x) - step(center.x - spacing*spread, UVa.x);
h += step(center.x + spacing*spread, UVa.x) - step(center.x + len + spacing*spread, UVa.x);
h *= step(center.y - width, UVa.y) - step(center.y + width, UVa.y);
float v = step(center.y - len - spacing*spread, UVa.y) - step(center.y - spacing*spread, UVa.y);
v += step(center.y + spacing*spread, UVa.y) - step(center.y + len + spacing*spread, UVa.y);
v *= step(center.x - width, UVa.x) - step(center.x + width, UVa.x);
float crosshair;
crosshair = (h+v) * float(legs_enabled) + point * float(center_enabled);
if(!inverted){
COLOR = (color_0 * float(color_id == 0) + color_1 * float(color_id == 1) + color_2 * float(color_id == 2)) * crosshair;
}else{
COLOR = vec4((cos(textureLod(SCREEN_TEXTURE, SCREEN_UV, 0.0).rgb * 3.1415926534) + 1.)/2., 1.) * crosshair;
}
}

3
Scenes/Enivornment.tres Normal file
View File

@@ -0,0 +1,3 @@
[gd_resource type="Environment" format=3 uid="uid://c1i78mwq3ug2f"]
[resource]

65
Scenes/Gun.tscn Normal file
View File

@@ -0,0 +1,65 @@
[gd_scene load_steps=5 format=3 uid="uid://cc5emorildoar"]
[ext_resource type="Environment" uid="uid://c1i78mwq3ug2f" path="res://Scenes/Enivornment.tres" id="1_3jquc"]
[ext_resource type="ArrayMesh" uid="uid://d7b2roon4kjw" path="res://Models/machinegun.obj" id="1_lxd3t"]
[ext_resource type="Shader" path="res://Scenes/Crosshair.gdshader" id="3_avtvy"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_foxul"]
shader = ExtResource("3_avtvy")
shader_parameter/center_enabled = true
shader_parameter/legs_enabled = true
shader_parameter/inverted = false
shader_parameter/color_id = 0
shader_parameter/color_0 = Vector4(0, 1, 0, 1)
shader_parameter/color_1 = Vector4(1, 0, 0, 1)
shader_parameter/color_2 = Vector4(0, 0, 1, 1)
shader_parameter/center_radius = 0.002
shader_parameter/width = 0.002
shader_parameter/len = 0.025
shader_parameter/spacing = 0.008
shader_parameter/spread = 1.0
[node name="Gun" type="Node3D"]
[node name="SubViewportContainer" type="SubViewportContainer" parent="."]
light_mask = 2
visibility_layer = 2
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
stretch = true
[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"]
transparent_bg = true
handle_input_locally = false
size = Vector2i(1152, 648)
render_target_update_mode = 4
[node name="Camera3D" type="Camera3D" parent="SubViewportContainer/SubViewport"]
cull_mask = 1047554
environment = ExtResource("1_3jquc")
[node name="Machinegun" type="MeshInstance3D" parent="SubViewportContainer/SubViewport/Camera3D"]
transform = Transform3D(-8, 0, -1.20797e-06, 0, 8, 0, 1.20797e-06, 0, -8, 0.355038, -0.26573, -0.622725)
layers = 2
mesh = ExtResource("1_lxd3t")
skeleton = NodePath("../../../..")
[node name="Crosshair" type="Control" parent="."]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="ColorRect" type="ColorRect" parent="Crosshair"]
material = SubResource("ShaderMaterial_foxul")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2

8
Scenes/Healthbar.cs Normal file
View File

@@ -0,0 +1,8 @@
using Godot;
public partial class Healthbar : Sprite3D
{
public override void _Ready()
{
}
}

View File

@@ -1,4 +1,8 @@
[gd_scene load_steps=4 format=3 uid="uid://ocor7udqvoec"]
[gd_scene load_steps=7 format=3 uid="uid://ocor7udqvoec"]
[ext_resource type="PackedScene" uid="uid://bi7j4afsxghrj" path="res://Scenes/Player.tscn" id="1_my8b5"]
[ext_resource type="PackedScene" uid="uid://cc5emorildoar" path="res://Scenes/Gun.tscn" id="2_mhg71"]
[ext_resource type="PackedScene" uid="uid://b03tplah8y1do" path="res://Scenes/target.tscn" id="3_civmh"]
[sub_resource type="BoxShape3D" id="BoxShape3D_gyf0l"]
size = Vector3(20, 0.5, 20)
@@ -13,9 +17,22 @@ size = Vector3(20, 0.5, 20)
[node name="Level" type="Node3D"]
[node name="StaticBody3D" type="StaticBody3D" parent="."]
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
shape = SubResource("BoxShape3D_gyf0l")
[node name="MeshInstance3D" type="MeshInstance3D" parent="StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.189965, 0)
mesh = SubResource("BoxMesh_v2sg1")
[node name="Player" parent="." instance=ExtResource("1_my8b5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.269294, 0)
[node name="Gun" parent="Player" instance=ExtResource("2_mhg71")]
transform = Transform3D(0.979575, 0, 0.201078, 0, 1, 0, -0.201078, 0, 0.979575, 0.074702, 1.59908, -0.498807)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(-0.0510635, -0.435165, -0.898901, 0, -0.900076, 0.435734, -0.998695, 0.0222501, 0.045961, -5.60126, 7.19548, 0)
[node name="Target" parent="." instance=ExtResource("3_civmh")]

34
Scenes/Player.tscn Normal file
View File

@@ -0,0 +1,34 @@
[gd_scene load_steps=5 format=3 uid="uid://bi7j4afsxghrj"]
[ext_resource type="Script" path="res://Scripts/Player.cs" id="1_jsq3s"]
[ext_resource type="Environment" uid="uid://c1i78mwq3ug2f" path="res://Scenes/Enivornment.tres" id="2_t03qe"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cxbex"]
[sub_resource type="CapsuleMesh" id="CapsuleMesh_7dxig"]
[node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("_pivot")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.13331, 0)
script = ExtResource("1_jsq3s")
_mouseSensitivity = 0.07
_pivot = NodePath("Pivot")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
shape = SubResource("CapsuleShape3D_cxbex")
[node name="Pivot" type="Node3D" parent="."]
[node name="Camera3D" type="Camera3D" parent="Pivot"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.47186, 0.0718701)
environment = ExtResource("2_t03qe")
fov = 60.0
[node name="AimCast" type="RayCast3D" parent="Pivot/Camera3D"]
transform = Transform3D(0.125, 0, 0, 0, 0.125, 0, 0, 0, 0.125, 0, 0, 0)
target_position = Vector3(0, 0, -1000)
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
visible = false
mesh = SubResource("CapsuleMesh_7dxig")

33
Scenes/target.tscn Normal file
View File

@@ -0,0 +1,33 @@
[gd_scene load_steps=5 format=3 uid="uid://b03tplah8y1do"]
[ext_resource type="Script" path="res://Scripts/Target.cs" id="1_ykgyh"]
[sub_resource type="BoxShape3D" id="BoxShape3D_37aka"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8nuxw"]
albedo_color = Color(1, 0.282353, 0, 1)
[sub_resource type="BoxMesh" id="BoxMesh_ni5do"]
material = SubResource("StandardMaterial3D_8nuxw")
[node name="Target" type="StaticBody3D" node_paths=PackedStringArray("_progressBar")]
script = ExtResource("1_ykgyh")
_progressBar = NodePath("ProgressBar")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.12414, -3.96702)
shape = SubResource("BoxShape3D_37aka")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.12414, -3.96702)
mesh = SubResource("BoxMesh_ni5do")
skeleton = NodePath("")
[node name="ProgressBar" type="ProgressBar" parent="."]
offset_left = 460.0
offset_top = 3.0
offset_right = 688.0
offset_bottom = 58.0
value = 100.0
[node name="Sprite3D" type="Sprite3D" parent="."]