Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
L
ldefense
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Packages
Packages
Container Registry
Analytics
CI / CD Analytics
Repository Analytics
Value Stream Analytics
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Gavin An
ldefense
Commits
1b7d06bc
Commit
1b7d06bc
authored
Jul 28, 2026
by
Gavin An
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
noble man 제거
parent
7444c7c3
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
5 additions
and
824 deletions
+5
-824
assets/models/monsters/noble_man/noble_man.fbx
assets/models/monsters/noble_man/noble_man.fbx
+0
-0
assets/models/monsters/noble_man/noble_man.fbx.import
assets/models/monsters/noble_man/noble_man.fbx.import
+0
-46
assets/models/monsters/noble_man/noble_man_0.png
assets/models/monsters/noble_man/noble_man_0.png
+0
-0
assets/models/monsters/noble_man/noble_man_0.png.import
assets/models/monsters/noble_man/noble_man_0.png.import
+0
-46
assets/models/monsters/noble_man/noble_man_animations.tres
assets/models/monsters/noble_man/noble_man_animations.tres
+0
-566
src/autoload/data_manager.gd
src/autoload/data_manager.gd
+2
-12
src/core/main.tscn
src/core/main.tscn
+1
-2
src/core/stage_manager.gd
src/core/stage_manager.gd
+1
-1
src/entities/monsters/monster_data.gd
src/entities/monsters/monster_data.gd
+1
-1
src/entities/monsters/noble_man/noble_man.tscn
src/entities/monsters/noble_man/noble_man.tscn
+0
-37
src/entities/monsters/noble_man/noble_man_monster.gd
src/entities/monsters/noble_man/noble_man_monster.gd
+0
-43
src/entities/monsters/noble_man/noble_man_monster.gd.uid
src/entities/monsters/noble_man/noble_man_monster.gd.uid
+0
-1
src/entities/monsters/noble_man/noble_man_monster.tscn
src/entities/monsters/noble_man/noble_man_monster.tscn
+0
-69
No files found.
assets/models/monsters/noble_man/noble_man.fbx
deleted
100644 → 0
View file @
7444c7c3
File deleted
assets/models/monsters/noble_man/noble_man.fbx.import
deleted
100644 → 0
View file @
7444c7c3
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://8pu2q731ei7i"
path="res://.godot/imported/noble_man.fbx-80379b336d6564d95d818f6c95855444.scn"
[deps]
source_file="res://assets/models/monsters/noble_man/noble_man.fbx"
dest_files=["res://.godot/imported/noble_man.fbx-80379b336d6564d95d818f6c95855444.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
mesh_library/use_node_names_as_mesh_names=false
array_mesh/deduplicate_surfaces=true
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=true
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={}
fbx/importer=0
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1
fbx/naming_version=2
assets/models/monsters/noble_man/noble_man_0.png
deleted
100644 → 0
View file @
7444c7c3
5.43 MB
assets/models/monsters/noble_man/noble_man_0.png.import
deleted
100644 → 0
View file @
7444c7c3
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ci7uko0kt5ggc"
path.s3tc="res://.godot/imported/noble_man_0.png-c89c315cc96625e1b3c7d50a395d7a2a.s3tc.ctex"
path.etc2="res://.godot/imported/noble_man_0.png-c89c315cc96625e1b3c7d50a395d7a2a.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "0c6aa6755e0a85b8056f439c30891ea3"
}
[deps]
source_file="res://assets/models/monsters/noble_man/noble_man_0.png"
dest_files=["res://.godot/imported/noble_man_0.png-c89c315cc96625e1b3c7d50a395d7a2a.s3tc.ctex", "res://.godot/imported/noble_man_0.png-c89c315cc96625e1b3c7d50a395d7a2a.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/high_quality_mode=0
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
assets/models/monsters/noble_man/noble_man_animations.tres
deleted
100644 → 0
View file @
7444c7c3
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/autoload/data_manager.gd
View file @
1b7d06bc
...
@@ -70,17 +70,7 @@ func _initialize_hero_templates() -> void:
...
@@ -70,17 +70,7 @@ func _initialize_hero_templates() -> void:
## 몬스터 능력치 데이터 초기 셋업
## 몬스터 능력치 데이터 초기 셋업
func
_initialize_monster_templates
()
->
void
:
func
_initialize_monster_templates
()
->
void
:
# 1. Noble Man (기본 밸런스형 몬스터)
# 1. Zombie (고체력 저속형 몬스터)
var
noble_man
:
MonsterData
=
MonsterData
.
new
()
noble_man
.
monster_id
=
"noble_man"
noble_man
.
monster_name
=
"Noble Man"
noble_man
.
hp
=
100.0
noble_man
.
speed
=
2.0
noble_man
.
gold_reward
=
15
noble_man
.
model_name
=
"noble_man"
monster_templates
.
append
(
noble_man
)
# 2. Zombie (고체력 저속형 몬스터)
var
zombie
:
MonsterData
=
MonsterData
.
new
()
var
zombie
:
MonsterData
=
MonsterData
.
new
()
zombie
.
monster_id
=
"zombie"
zombie
.
monster_id
=
"zombie"
zombie
.
monster_name
=
"Zombie"
zombie
.
monster_name
=
"Zombie"
...
@@ -90,7 +80,7 @@ func _initialize_monster_templates() -> void:
...
@@ -90,7 +80,7 @@ func _initialize_monster_templates() -> void:
zombie
.
model_name
=
"zombie"
zombie
.
model_name
=
"zombie"
monster_templates
.
append
(
zombie
)
monster_templates
.
append
(
zombie
)
#
3
. Skeleton (저체력 고속형 몬스터)
#
2
. Skeleton (저체력 고속형 몬스터)
var
skeleton
:
MonsterData
=
MonsterData
.
new
()
var
skeleton
:
MonsterData
=
MonsterData
.
new
()
skeleton
.
monster_id
=
"skeleton"
skeleton
.
monster_id
=
"skeleton"
skeleton
.
monster_name
=
"Skeleton"
skeleton
.
monster_name
=
"Skeleton"
...
...
src/core/main.tscn
View file @
1b7d06bc
...
@@ -3,7 +3,6 @@
...
@@ -3,7 +3,6 @@
[ext_resource type="Script" uid="uid://cinnjs2c10i2a" path="res://src/core/main.gd" id="1_main"]
[ext_resource type="Script" uid="uid://cinnjs2c10i2a" path="res://src/core/main.gd" id="1_main"]
[ext_resource type="Script" uid="uid://dd1xgi6hnpuvs" path="res://src/core/rts_camera.gd" id="1_rts_cam"]
[ext_resource type="Script" uid="uid://dd1xgi6hnpuvs" path="res://src/core/rts_camera.gd" id="1_rts_cam"]
[ext_resource type="Script" uid="uid://cq7r51whh6po" path="res://src/core/stage_manager.gd" id="2_stage_mgr"]
[ext_resource type="Script" uid="uid://cq7r51whh6po" path="res://src/core/stage_manager.gd" id="2_stage_mgr"]
[ext_resource type="PackedScene" uid="uid://ygm6ry4fu5x0" path="res://src/entities/monsters/noble_man/noble_man_monster.tscn" id="4_nxx65"]
[ext_resource type="Script" uid="uid://dkplkt6q8e3b5" path="res://src/core/unit_controller.gd" id="4_unit_ctrl"]
[ext_resource type="Script" uid="uid://dkplkt6q8e3b5" path="res://src/core/unit_controller.gd" id="4_unit_ctrl"]
[ext_resource type="PackedScene" uid="uid://dfsvswt2g4422" path="res://src/entities/monsters/zombie/zombie_monster.tscn" id="5_2uitn"]
[ext_resource type="PackedScene" uid="uid://dfsvswt2g4422" path="res://src/entities/monsters/zombie/zombie_monster.tscn" id="5_2uitn"]
[ext_resource type="PackedScene" uid="uid://bqga1rvcjyydy" path="res://src/ui/hud.tscn" id="5_hud"]
[ext_resource type="PackedScene" uid="uid://bqga1rvcjyydy" path="res://src/ui/hud.tscn" id="5_hud"]
...
@@ -54,7 +53,7 @@ script = ExtResource("1_rts_cam")
...
@@ -54,7 +53,7 @@ script = ExtResource("1_rts_cam")
[node name="StageManager" type="Node" parent="." unique_id=132524356]
[node name="StageManager" type="Node" parent="." unique_id=132524356]
script = ExtResource("2_stage_mgr")
script = ExtResource("2_stage_mgr")
monster_scenes = Array[PackedScene]([ExtResource("
4_nxx65"), ExtResource("
5_2uitn"), ExtResource("6_skeleton")])
monster_scenes = Array[PackedScene]([ExtResource("5_2uitn"), ExtResource("6_skeleton")])
[node name="UnitController" type="Control" parent="." unique_id=552898295]
[node name="UnitController" type="Control" parent="." unique_id=552898295]
layout_mode = 3
layout_mode = 3
...
...
src/core/stage_manager.gd
View file @
1b7d06bc
...
@@ -94,7 +94,7 @@ func _on_spawn_timer_timeout() -> void:
...
@@ -94,7 +94,7 @@ func _on_spawn_timer_timeout() -> void:
# 몬스터 초기화 (리소스 ID 판정 및 스테이지 데이터 획득)
# 몬스터 초기화 (리소스 ID 판정 및 스테이지 데이터 획득)
var
stage
:
int
=
GameManager
.
current_stage
var
stage
:
int
=
GameManager
.
current_stage
var
monster_id
:
String
=
"
noble_man
"
# 기본값
var
monster_id
:
String
=
""
# 기본값
var
scene_path
:
String
=
selected_scene
.
resource_path
.
to_lower
()
var
scene_path
:
String
=
selected_scene
.
resource_path
.
to_lower
()
if
"zombie"
in
scene_path
:
if
"zombie"
in
scene_path
:
monster_id
=
"zombie"
monster_id
=
"zombie"
...
...
src/entities/monsters/monster_data.gd
View file @
1b7d06bc
...
@@ -7,4 +7,4 @@ extends Resource
...
@@ -7,4 +7,4 @@ extends Resource
@
export
var
hp
:
float
=
100.0
@
export
var
hp
:
float
=
100.0
@
export
var
speed
:
float
=
2.0
@
export
var
speed
:
float
=
2.0
@
export
var
gold_reward
:
int
=
15
@
export
var
gold_reward
:
int
=
15
@
export
var
model_name
:
String
=
""
# 자식 노드로 들어갈 3D 모델 노드 이름 (예: "
noble_man", "
zombie")
@
export
var
model_name
:
String
=
""
# 자식 노드로 들어갈 3D 모델 노드 이름 (예: "zombie")
src/entities/monsters/noble_man/noble_man.tscn
deleted
100644 → 0
View file @
7444c7c3
[gd_scene format=3 uid="uid://dy3qfnuybgjg6"]
[ext_resource type="PackedScene" uid="uid://8pu2q731ei7i" path="res://assets/models/monsters/noble_man/noble_man.fbx" id="1_fbx"]
[ext_resource type="AnimationLibrary" uid="uid://brbqx71vgdgnc" path="res://assets/models/monsters/noble_man/noble_man_animations.tres" id="2_am4si"]
[node name="noble_man" unique_id=1062436170 instance=ExtResource("1_fbx")]
transform = Transform3D(1, 0, 0, 0, 0.8, 0, 0, 0, 1, 0, 0, 0)
[node name="Skeleton3D" parent="Armature" parent_id_path=PackedInt32Array(123217386) index="0" unique_id=1431623613]
bones/0/rotation = Quaternion(0.61798733, -0.23847091, -0.29544434, 0.68843013)
bones/0/scale = Vector3(1.1764706, 1.1764706, 1.1764708)
bones/1/rotation = Quaternion(0.948611, 0.16393991, -0.13692817, 0.23347755)
bones/2/rotation = Quaternion(0.45852306, 0.19937582, 0.07257126, 0.8629828)
bones/3/rotation = Quaternion(-0.58492714, -0.06132251, 0.009246678, 0.8087116)
bones/4/rotation = Quaternion(-0.36768854, -0.001687522, 0.01695024, 0.929793)
bones/5/rotation = Quaternion(0.97120684, -0.17415474, 0.16172291, 0.016525293)
bones/6/rotation = Quaternion(0.41857097, -0.0034188193, -0.012350971, 0.90809375)
bones/7/rotation = Quaternion(-0.6098559, 0.15362522, -0.09189053, 0.7720306)
bones/8/rotation = Quaternion(-0.41545272, 0.041144814, 0.034620646, 0.9080241)
bones/9/rotation = Quaternion(0.057457034, 0.05244976, 0.0038327165, 0.99696195)
bones/10/rotation = Quaternion(0.09807169, 0.08359734, -0.014605932, 0.9915544)
bones/11/rotation = Quaternion(0.04436318, 0.07711244, -0.0016378432, 0.9960336)
bones/12/rotation = Quaternion(0.56446123, 0.5134929, -0.49502933, 0.41551715)
bones/13/rotation = Quaternion(0.50597435, 0.2815535, 0.34607968, 0.73820496)
bones/14/rotation = Quaternion(-0.34847364, 0.062623285, 0.18896937, 0.91593397)
bones/15/rotation = Quaternion(0.04238946, 0.23705958, -0.05192386, 0.96918)
bones/16/rotation = Quaternion(-0.6090661, 0.47468537, -0.4630349, -0.4350989)
bones/17/rotation = Quaternion(0.6119551, -0.3172246, -0.11668171, 0.715028)
bones/18/rotation = Quaternion(-0.31137317, 0.04883886, -0.2067891, 0.9262288)
bones/19/rotation = Quaternion(0.1326664, -0.22648887, -0.21849182, 0.9398743)
bones/20/rotation = Quaternion(0.01384508, -0.0055730203, -0.0030556368, 0.999884)
bones/21/rotation = Quaternion(0.18938631, 0.16970475, -0.04936101, 0.96586573)
bones/22/rotation = Quaternion(-0.20926115, 0.001348063, 0.001918764, 0.977857)
bones/23/rotation = Quaternion(0.53147227, 2.0621675e-07, -3.5311455e-08, 0.84707576)
[node name="AnimationPlayer" parent="." index="1" unique_id=2113489952]
libraries/ = ExtResource("2_am4si")
src/entities/monsters/noble_man/noble_man_monster.gd
deleted
100644 → 0
View file @
7444c7c3
class_name
NobleManMonster
extends
BaseMonster
## Noble Man 전용 동작 및 비주얼 제어를 담당하는 클래스
func
_setup_skin_and_animations
()
->
void
:
_apply_noble_man_skin
(
_model_instance
)
_model_anim_player
=
_find_animation_player
(
_model_instance
)
if
_model_anim_player
:
var
init_idle
:
String
=
_resolve_anim_name
(
_model_anim_player
,
"noble_man"
,
"Idle"
)
if
init_idle
!=
""
:
_model_anim_player
.
play
(
init_idle
)
## 몬스터 자식 메쉬에 noble_man_0.png 텍스처를 입히는 재귀 함수
func
_apply_noble_man_skin
(
node
:
Node
)
->
void
:
if
node
is
MeshInstance3D
:
var
mesh_inst
:
MeshInstance3D
=
node
as
MeshInstance3D
var
texture_path
:
String
=
"res://assets/models/monsters/noble_man/noble_man_0.png"
if
ResourceLoader
.
exists
(
texture_path
):
var
texture
:
Texture2D
=
load
(
texture_path
)
as
Texture2D
if
texture
:
var
mat
:
StandardMaterial3D
=
StandardMaterial3D
.
new
()
mat
.
albedo_texture
=
texture
mat
.
roughness
=
0.5
mesh_inst
.
material_override
=
mat
for
child
:
Node
in
node
.
get_children
():
_apply_noble_man_skin
(
child
)
## Noble Man 걷는 애니메이션 갱신 제어
func
_update_monster_animation
()
->
void
:
if
not
_model_anim_player
:
return
var
anim_name
:
String
=
_resolve_anim_name
(
_model_anim_player
,
"noble_man"
,
"Walking"
)
if
anim_name
!=
""
:
var
anim
:
Animation
=
_model_anim_player
.
get_animation
(
anim_name
)
if
anim
:
anim
.
loop_mode
=
Animation
.
LOOP_LINEAR
if
_last_anim_state
!=
"walking"
:
_last_anim_state
=
"walking"
_model_anim_player
.
play
(
anim_name
,
-
1
,
1.2
)
# 1.2배속 재생
src/entities/monsters/noble_man/noble_man_monster.gd.uid
deleted
100644 → 0
View file @
7444c7c3
uid://dk2xux8f0hp7m
src/entities/monsters/noble_man/noble_man_monster.tscn
deleted
100644 → 0
View file @
7444c7c3
[gd_scene format=3 uid="uid://ygm6ry4fu5x0"]
[ext_resource type="Script" uid="uid://dk2xux8f0hp7m" path="res://src/entities/monsters/noble_man/noble_man_monster.gd" id="1_base_monster"]
[ext_resource type="PackedScene" uid="uid://dy3qfnuybgjg6" path="res://src/entities/monsters/noble_man/noble_man.tscn" id="2_noble_man"]
[sub_resource type="SphereShape3D" id="SphereShape3D_collision"]
radius = 0.6
[node name="NobleManMonster" type="PathFollow3D" unique_id=1485091855]
script = ExtResource("1_base_monster")
[node name="noble_man" parent="." unique_id=174344433 instance=ExtResource("2_noble_man")]
transform = Transform3D(-1, 0, 1.509958e-07, 0, 1, 0, -1.509958e-07, 0, -1, 0, 0, 0)
[node name="Skeleton3D" parent="noble_man/Armature" parent_id_path=PackedInt32Array(174344433, 123217386) index="0" unique_id=1431623613]
bones/1/position = Vector3(0.10183821, -0.10193097, -0.0022784735)
bones/1/scale = Vector3(1.0000077, 1, 1)
bones/2/position = Vector3(8.925652e-09, 0.417691, -5.1505884e-09)
bones/2/scale = Vector3(1.0000001, 1.0000004, 1.0000002)
bones/3/position = Vector3(-2.5261881e-09, 0.42174494, 7.2241504e-11)
bones/3/scale = Vector3(1, 1, 1)
bones/4/position = Vector3(1.2221635e-08, 0.13995555, 2.1287123e-08)
bones/4/scale = Vector3(0.9999998, 1, 0.9999998)
bones/5/position = Vector3(-0.099749625, -0.1055433, -0.00022072843)
bones/5/scale = Vector3(1.000016, 0.99999976, 1.0000005)
bones/6/position = Vector3(-2.6841812e-08, 0.4172189, 1.4898632e-08)
bones/6/scale = Vector3(1.0000001, 1, 1.0000001)
bones/7/position = Vector3(-1.1679395e-08, 0.41914502, -1.1094577e-07)
bones/7/scale = Vector3(1, 1.0000001, 1)
bones/8/position = Vector3(5.047954e-10, 0.12296724, -2.2279302e-08)
bones/8/scale = Vector3(0.9999999, 0.9999999, 0.9999999)
bones/9/position = Vector3(-0.0020885684, 0.116008654, 0.0024992328)
bones/9/scale = Vector3(0.99999994, 0.9999998, 0.99999976)
bones/10/position = Vector3(-2.2647062e-09, 0.11605439, -9.138862e-09)
bones/10/scale = Vector3(1.0000001, 1.0000002, 1.0000002)
bones/11/position = Vector3(5.6057953e-16, 0.11605399, -1.8735637e-09)
bones/11/scale = Vector3(0.9999999, 1, 1)
bones/12/position = Vector3(0.042316522, 0.018807229, -0.0012655992)
bones/12/scale = Vector3(1.0000001, 1.0000001, 1.0000002)
bones/13/position = Vector3(1.2083032e-07, 0.1687637, -1.5166692e-07)
bones/13/scale = Vector3(1.0000001, 1.0000001, 1)
bones/14/position = Vector3(7.0695954e-08, 0.28124455, -4.496629e-08)
bones/14/scale = Vector3(0.99999994, 1, 1)
bones/15/position = Vector3(5.1876157e-08, 0.2978702, 1.1475281e-07)
bones/15/scale = Vector3(1, 0.99999994, 0.99999994)
bones/16/position = Vector3(-0.042962536, 0.012112379, -0.0065097106)
bones/16/scale = Vector3(0.9999999, 1, 1)
bones/17/position = Vector3(-1.3961997e-07, 0.17218974, -1.2206406e-06)
bones/17/scale = Vector3(1.0000001, 1, 1.0000002)
bones/18/position = Vector3(4.2020838e-07, 0.26897195, 9.862248e-08)
bones/18/scale = Vector3(0.99999994, 1, 1)
bones/19/position = Vector3(-8.227692e-08, 0.2969355, 4.939664e-09)
bones/19/scale = Vector3(0.99999994, 0.9999998, 0.9999998)
bones/20/position = Vector3(0.00064602116, 0.07547628, 0.007775514)
bones/20/scale = Vector3(1, 1, 0.9999998)
bones/21/position = Vector3(-2.7577591e-09, 0.07526942, -1.1876011e-07)
bones/21/scale = Vector3(1, 1.0000001, 1.0000002)
bones/22/position = Vector3(-3.6878883e-10, 0.30715173, -0.13331519)
bones/22/scale = Vector3(1, 1.0000001, 1)
bones/23/position = Vector3(3.687908e-10, 0.06441903, 0.13331476)
bones/23/scale = Vector3(1, 1, 1.0000001)
[node name="MonsterArea" type="Area3D" parent="." unique_id=2000374352]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="CollisionShape3D" type="CollisionShape3D" parent="MonsterArea" unique_id=1747323172]
shape = SubResource("SphereShape3D_collision")
[editable path="noble_man"]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment