- Overworld: Gras-Terrain mit Noise-Shader, Berg, Dungeon-Tor, Felsen, Bäume - Dungeon: Prozedurale Generierung (Grid, Räume, L-Gänge), Multi-Ebenen mit Persistenz - Portal-System: Blau (zurück/raus), Rot (tiefer), Auswahl-UI ab Ebene 2+ - Gegner: Goblin-Modell + Animationen statt Warrior, Capsule angepasst - NavMesh: Manuell gebautes NavigationMesh im Dungeon mit Wand-Margin und shared Vertices - Pathfinding: Gegner nutzen NavigationAgent3D, laufen um Wände herum - Leash-System: Gegner verlieren Aggro ab 30 Einheiten vom Spawn - Kamera-Kollision: Raycast verhindert Durchsehen durch Wände, ignoriert Gegner - Respawn-Timer auf 60s, Death-Timer auf 10s erhöht - Dokumentation aktualisiert (Dungeon, NavMesh, Goblin, Kamera) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
29 lines
1.1 KiB
Text
29 lines
1.1 KiB
Text
[gd_scene format=3 uid="uid://cvojaeanxugfj"]
|
|
|
|
[ext_resource type="Script" uid="uid://gaqwoakxyhet" path="res://enemy.gd" id="1_enemy"]
|
|
[ext_resource type="PackedScene" path="res://assets/Goblin+Animation/goblin_d_shareyko.fbx" id="2_model"]
|
|
|
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_7k104"]
|
|
radius = 0.35
|
|
height = 1.4
|
|
|
|
[node name="Enemy" type="CharacterBody3D" unique_id=393882142]
|
|
script = ExtResource("1_enemy")
|
|
|
|
[node name="Model" parent="." unique_id=842107644 instance=ExtResource("2_model")]
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1531674298]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7, 0)
|
|
shape = SubResource("CapsuleShape3D_7k104")
|
|
|
|
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="." unique_id=838601477]
|
|
|
|
[node name="HealthDisplay" type="Node3D" parent="." unique_id=1341862509]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.6, 0)
|
|
|
|
[node name="Label3D" type="Label3D" parent="HealthDisplay" unique_id=80852959]
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1362207, 0)
|
|
pixel_size = 0.01
|
|
text = "50 / 50"
|
|
font_size = 24
|
|
outline_size = 8
|