FPS game progress
This commit is contained in:
43
Scenes/Crosshair.gdshader
Normal file
43
Scenes/Crosshair.gdshader
Normal 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
3
Scenes/Enivornment.tres
Normal file
@@ -0,0 +1,3 @@
|
||||
[gd_resource type="Environment" format=3 uid="uid://c1i78mwq3ug2f"]
|
||||
|
||||
[resource]
|
||||
65
Scenes/Gun.tscn
Normal file
65
Scenes/Gun.tscn
Normal 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
8
Scenes/Healthbar.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
using Godot;
|
||||
|
||||
public partial class Healthbar : Sprite3D
|
||||
{
|
||||
public override void _Ready()
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -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
34
Scenes/Player.tscn
Normal 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
33
Scenes/target.tscn
Normal 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="."]
|
||||
Reference in New Issue
Block a user