точно есть дэшм

This commit is contained in:
2026-07-21 00:27:17 +07:00
parent 1df926f1d8
commit d74fa3bd80
601 changed files with 2375919 additions and 0 deletions
@@ -0,0 +1,11 @@
Model Information:
* title: Shooting Range Target
* source: https://sketchfab.com/3d-models/shooting-range-target-bdc995c9e3c8494fbffb7f5758a8567a
* author: AJ (https://sketchfab.com/ArneJans)
Model License:
* license type: CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)
* requirements: Author must be credited. Commercial use is allowed.
If you use this 3D model in your project be sure to copy paste this credit wherever you share it:
This work is based on "Shooting Range Target" (https://sketchfab.com/3d-models/shooting-range-target-bdc995c9e3c8494fbffb7f5758a8567a) by AJ (https://sketchfab.com/ArneJans) licensed under CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)
@@ -0,0 +1,291 @@
{
"accessors": [
{
"bufferView": 2,
"componentType": 5126,
"count": 930,
"max": [
1.5620195865631104,
3.9458274841308594,
5.066810607910156
],
"min": [
-1.2345194816589355,
-1.0276665687561035,
-1.2869936227798462
],
"type": "VEC3"
},
{
"bufferView": 2,
"byteOffset": 11160,
"componentType": 5126,
"count": 930,
"max": [
0.914597749710083,
1.0,
0.9531488418579102
],
"min": [
-0.9145976901054382,
-1.0,
-0.9985436797142029
],
"type": "VEC3"
},
{
"bufferView": 1,
"componentType": 5126,
"count": 930,
"max": [
0.7976829409599304,
0.9998277425765991
],
"min": [
0.00017230633238796145,
0.000172314714291133
],
"type": "VEC2"
},
{
"bufferView": 0,
"componentType": 5125,
"count": 4074,
"type": "SCALAR"
}
],
"asset": {
"extras": {
"author": "AJ (https://sketchfab.com/ArneJans)",
"license": "CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)",
"source": "https://sketchfab.com/3d-models/shooting-range-target-bdc995c9e3c8494fbffb7f5758a8567a",
"title": "Shooting Range Target"
},
"generator": "Sketchfab-16.15.0",
"version": "2.0"
},
"bufferViews": [
{
"buffer": 0,
"byteLength": 16296,
"name": "floatBufferViews",
"target": 34963
},
{
"buffer": 0,
"byteLength": 7440,
"byteOffset": 16296,
"byteStride": 8,
"name": "floatBufferViews",
"target": 34962
},
{
"buffer": 0,
"byteLength": 22320,
"byteOffset": 23736,
"byteStride": 12,
"name": "floatBufferViews",
"target": 34962
}
],
"buffers": [
{
"byteLength": 46056,
"uri": "scene.bin"
}
],
"images": [
{
"uri": "textures/Material.004_baseColor.png"
}
],
"materials": [
{
"doubleSided": true,
"name": "Material.004",
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 0
},
"metallicFactor": 0.048280408763609235,
"roughnessFactor": 0.8211145618000169
}
}
],
"meshes": [
{
"name": "Target_Material.004_0",
"primitives": [
{
"attributes": {
"NORMAL": 1,
"POSITION": 0,
"TEXCOORD_0": 2
},
"indices": 3,
"material": 0,
"mode": 4
}
]
}
],
"nodes": [
{
"children": [
1
],
"matrix": [
1.0,
0.0,
0.0,
0.0,
0.0,
2.220446049250313e-16,
-1.0,
0.0,
0.0,
1.0,
2.220446049250313e-16,
0.0,
0.0,
0.0,
0.0,
1.0
],
"name": "Sketchfab_model"
},
{
"children": [
2
],
"matrix": [
0.009999999776482582,
0.0,
0.0,
0.0,
0.0,
0.0,
0.009999999776482582,
0.0,
0.0,
-0.009999999776482582,
0.0,
0.0,
0.0,
0.0,
0.0,
1.0
],
"name": "b5a0e62a279f4d11a80919e4a1156d3d.fbx"
},
{
"children": [
3,
5
],
"name": "RootNode"
},
{
"children": [
4
],
"matrix": [
100.0,
0.0,
0.0,
0.0,
0.0,
-0.08166733985129916,
-4.648343369543457,
0.0,
0.0,
99.98456223084526,
-1.7566415762422025,
0.0,
0.0,
128.00289916992188,
-3.588259220123291,
1.0
],
"name": "Target"
},
{
"mesh": 0,
"name": "Target_Material.004_0"
},
{
"children": [
6
],
"matrix": [
99.67958453146503,
-7.549475705196962,
2.6427860928026887,
0.0,
7.202835772227331,
99.08830697975256,
11.385366780417893,
0.0,
-3.4782274954897514,
-11.15853076202815,
99.31458905338954,
0.0,
38.82959747314453,
1021.6508178710938,
102.60393524169922,
1.0
],
"name": "Spot"
},
{
"children": [
7
],
"matrix": [
1.0,
0.0,
0.0,
0.0,
0.0,
2.220446049250313e-16,
1.0,
0.0,
0.0,
-1.0,
2.220446049250313e-16,
0.0,
0.0,
0.0,
0.0,
1.0
],
"name": "Object_6"
},
{
"name": "Object_7"
}
],
"samplers": [
{
"magFilter": 9729,
"minFilter": 9987,
"wrapS": 10497,
"wrapT": 10497
}
],
"scene": 0,
"scenes": [
{
"name": "Sketchfab_Scene",
"nodes": [
0
]
}
],
"textures": [
{
"sampler": 0,
"source": 0
}
]
}
@@ -0,0 +1,41 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://c1kgycyji1yyi"
valid=false
[deps]
source_file="res://addons/Targets/Models/ShootingRangeTarget/scene.gltf"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cbr0w1ctijpoj"
path.s3tc="res://.godot/imported/Material.004_baseColor.png-c6a2301099671cd1c4930d95f0dc09fb.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://addons/Targets/Models/ShootingRangeTarget/textures/Material.004_baseColor.png"
dest_files=["res://.godot/imported/Material.004_baseColor.png-c6a2301099671cd1c4930d95f0dc09fb.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.
@@ -0,0 +1,4 @@
[gd_scene format=3 uid="uid://0lit11q35782"]
[node name="DamageNumber" type="Label3D" unique_id=155791118]
billboard = 1
@@ -0,0 +1,32 @@
[gd_scene format=3 uid="uid://d27xhk2ygjsbr"]
[ext_resource type="Script" uid="uid://coyv53xc2grb0" path="res://addons/Targets/Scripts/HitableBoxScript.gd" id="1_2ye1w"]
[ext_resource type="Shader" uid="uid://0uxg2amf4yf6" path="res://addons/texture_custom/ps1.gdshader" id="2_wqlms"]
[ext_resource type="Texture2D" uid="uid://d2ituqwj8vjlq" path="res://addons/texture_custom/1672960658_grizly-club-p-tekstura-fasada-doma-6.jpg" id="3_wqlms"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xcqb5"]
render_priority = 0
shader = ExtResource("2_wqlms")
shader_parameter/albedo_texture = ExtResource("3_wqlms")
shader_parameter/vertex_snap_resolution = 86.425
shader_parameter/texture_pixelation = Vector2(67.425, 71.34)
shader_parameter/dither_strength = 0.15
[sub_resource type="BoxMesh" id="BoxMesh_rhfyy"]
[sub_resource type="BoxShape3D" id="BoxShape3D_88vs1"]
size = Vector3(1.01, 1.01, 1.01)
[node name="HitableBox" type="RigidBody3D" unique_id=673564446 groups=["HitableObjects"]]
collision_layer = 16
collision_mask = 31
mass = 0.5
continuous_cd = true
script = ExtResource("1_2ye1w")
[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=583500367]
material_override = SubResource("ShaderMaterial_xcqb5")
mesh = SubResource("BoxMesh_rhfyy")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1742543524]
shape = SubResource("BoxShape3D_88vs1")
File diff suppressed because one or more lines are too long
@@ -0,0 +1,12 @@
extends RigidBody3D
func hitscanHit(propulForce : float, propulDir: Vector3, propulPos : Vector3):
var hitPos : Vector3 = propulPos - global_transform.origin#set the position to launch the object at
if propulDir != Vector3.ZERO: apply_impulse(propulDir * propulForce, hitPos)
func projectileHit(propulForce : float, propulDir: Vector3):
if propulDir != Vector3.ZERO: apply_central_force((global_transform.origin - propulDir) * propulForce)
@@ -0,0 +1 @@
uid://coyv53xc2grb0
@@ -0,0 +1,6 @@
extends StaticBody3D
@onready var parent : CharacterBody3D = $".."
func hitscanHit(damageVal : float, hitscanDir : Vector3, hitscanPos : Vector3):
if parent != null: parent.hitscanHit(damageVal, hitscanDir, hitscanPos)
@@ -0,0 +1 @@
uid://cnw6x7g8unlvp
@@ -0,0 +1,34 @@
extends Node3D
var shootRangeTargets : Array[CharacterBody3D] = []
@export_group("Keybind variables")
@export var restartShootingRangeAction : String = ""
func _ready():
for child in get_children():
if child is ShootingRangeTarget:
shootRangeTargets.append(child)
func _process(_delta : float):
inputManagement()
func inputManagement():
if Input.is_action_just_pressed(restartShootingRangeAction):
restartShootRange()
func restartShootRange():
#revive all fallen targets
for target in range(0, shootRangeTargets.size()):
if shootRangeTargets[target].isDisabled:
shootRangeTargets[target].animManager.play_backwards("fall")
shootRangeTargets[target].health = 100
shootRangeTargets[target].isDisabled = false
@@ -0,0 +1 @@
uid://c8a2kystypxdm
@@ -0,0 +1,40 @@
extends CharacterBody3D
class_name ShootingRangeTarget
@export var health : float = 100.0
var healthRef : float
var isDisabled : bool = false
@onready var animManager : AnimationPlayer = $AnimationPlayer
func _ready():
healthRef = health
animManager.play("idle")
func hitscanHit(damageVal : float, _hitscanDir : Vector3, _hitscanPos : Vector3):
health -= damageVal
print("Hitscan hit, target health : ", health)
if health <= 0.0 and !isDisabled:
isDisabled = true
animManager.play("fall")
func projectileHit(damageVal : float, _hitscanDir : Vector3):
health -= damageVal
print("Projectile hit, target health : ", health)
if health <= 0.0 and !isDisabled:
isDisabled = true
animManager.play("fall")
@@ -0,0 +1 @@
uid://0mu6mj41uch3