feat: add npc simulation, instancing and visual scene

This commit is contained in:
Rijad Zuzo
2026-06-18 11:12:08 +02:00
parent a504ed8112
commit a3ad8d8a07
14 changed files with 94 additions and 8 deletions
+11
View File
@@ -0,0 +1,11 @@
extends CharacterBody3D
var sim_id: int = -1
var npc_name: String = ""
var profession: String = ""
func setup_from_sim(npc: SimNPC) -> void:
sim_id = npc.id
npc_name = npc.npc_name
profession = npc.profession
name = "NPC_%s_%s" % [sim_id, npc_name]
+1
View File
@@ -0,0 +1 @@
uid://bha8uf40p3sa0
+28
View File
@@ -0,0 +1,28 @@
[gd_scene load_steps=6 format=3 uid="uid://dhxxyprqflotq"]
[ext_resource type="Script" uid="uid://bha8uf40p3sa0" path="res://player/npc/NpcVisual.gd" id="1_ixfoq"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_d844k"]
[sub_resource type="CapsuleMesh" id="CapsuleMesh_d844k"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_d844k"]
albedo_color = Color(1, 0.22352941, 1, 1)
[sub_resource type="BoxMesh" id="BoxMesh_d844k"]
material = SubResource("StandardMaterial3D_d844k")
[node name="NpcVisual" type="CharacterBody3D"]
script = ExtResource("1_ixfoq")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.85, 0)
shape = SubResource("CapsuleShape3D_d844k")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.85, 0)
mesh = SubResource("CapsuleMesh_d844k")
[node name="FaceMarker" type="MeshInstance3D" parent="."]
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.35, 0, 1.2, -0.5)
mesh = SubResource("BoxMesh_d844k")