From b8282b1438fb553d701d4216780c1cf4a010696e Mon Sep 17 00:00:00 2001 From: aibrash Date: Wed, 28 Oct 2026 13:11:23 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D1=81=D0=BE=D0=BD=D0=B0?= =?UTF-8?q?=D0=B6:=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D1=8C=20=D0=BA=D0=B8?= =?UTF-8?q?=D0=B1=D0=B5=D1=80=D0=BD=D0=B8=D0=BD=D0=B4=D0=B7=D1=8F=20=D1=81?= =?UTF-8?q?=D0=BE=20=D1=81=D0=BA=D0=B5=D0=BB=D0=B5=D1=82=D0=BE=D0=BC=20?= =?UTF-8?q?=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20=D0=BA=D0=B0=D0=BF=D1=81?= =?UTF-8?q?=D1=83=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - player/character/character.glb: 752 треугольника, 17 костей, 14 анимаций (idle, walk, run, crouch, slide, jump, fall, air_jump, dash, wallrun L/R, mantle, death); ноги на IK, исходник и скрипт сборки в Blender models - Ghost: выбор анимации по флагам и скорости, подгонка speed_scale, голова повторяет взгляд, свечение красится в цвет игрока от его id - Net: флаги FLAG_WALL_RIGHT и FLAG_AIR (RPC не менялись, сервер перевыкладывать не нужно) - Игрок: капсула в player.tscn заменена моделью, спрятанной от своей камеры - Модель в ghost.gd грузится через load, чтобы не ломать сервер без неё Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01WxZo3ekR5m1af437Qzqwc1 --- README.md | 22 +++- net/ghost.gd | 145 +++++++++++++++++++------- net/net.gd | 2 + player/character/character.glb | Bin 0 -> 278708 bytes player/character/character.glb.import | 45 ++++++++ player/player.gd | 10 +- player/player.tscn | 9 +- 7 files changed, 186 insertions(+), 47 deletions(-) create mode 100644 player/character/character.glb create mode 100644 player/character/character.glb.import diff --git a/README.md b/README.md index fa06709..51f0262 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ | ❌ | Серверных проверок (антиспуфинг позиций, античит): сервер только пересылает | | ❌ | Сохранения прогресса, аккаунтов | | ❌ | Автоматических тестов в CI (есть боты для ручного прогона, см. «Тесты без окна») | -| ❌ | Анимаций персонажа: чужой игрок — просто капсула (`net/ghost.gd`) | +| ✅ | Чужой игрок — модель киберниндзя со скелетом (`player/character/character.glb`, 752 треугольника, 17 костей, 14 анимаций); свечение красится в цвет игрока от его id. Своё тело — та же модель, спрятанная от своей камеры | ## Быстрый старт @@ -68,7 +68,8 @@ godot --path . # можно запустить несколько ок project.godot, export_presets.cfg, icon.svg net/ сеть. Net — автолоад: и клиент, и сервер (один скрипт) net.gd состояние комнат, преследователей, RPC (см. «Сеть») - ghost.gd чужой игрок: капсула с цветом от id и ником + ghost.gd чужой игрок: модель, выбор анимации по флагам и скорости, цвет свечения от id, ник +player/character/ character.glb — модель и анимации (исходник и скрипт сборки: `../Blender models/character_01/`) server.tscn пустая сцена для запуска выделенного сервера core/ map_loader.gd автолоад MapLoader: скачивает пакет карты и подключает его (см. «Загрузка карт») @@ -161,7 +162,7 @@ tools/ export_all.sh, serve_web.py, deploy_server.sh, test/ ( | `submit_life(dead, pos)` / `recv_life(id, dead, pos)` | клиент → сервер → остальные | смерть/возрождение, `reliable` | | `recv_left(id)` | сервер → комната | игрок вышел | -Флаги состояния (`Net.FLAG_*`): подкат, бег по стене, рывок, подтягивание. Присед передаётся как подкат (у призрака сплюснутая капсула). +Флаги состояния (`Net.FLAG_*`): подкат, бег по стене (+ сторона стены), рывок, подтягивание, «в воздухе». Присед передаётся как подкат; призрак отличает их по скорости. Скорость и двойной прыжок призрак считает сам по смещению позиции — в протокол они не входят. **RPC требуют одинаковые путь узла и скрипт на сервере и клиенте**, поэтому `net.gd` один. Любое изменение RPC — **клиент и сервер выкладываются вместе** (старый клиент с новым сервером не работает). Имена вроде `rock_owner`/`recv_rock_owner` остались от времени, когда преследователь был один. @@ -291,11 +292,24 @@ ssh root@192.168.10.110 'journalctl -u my-world -f' # лог: «+ игрок ### Другое -- Ники по выбору игрока, текстовый чат, анимации персонажа вместо капсулы, настройки (чувствительность, громкость), меню паузы. +- Ники по выбору игрока, текстовый чат, анимация приземления, свои руки/тело от первого лица, настройки (чувствительность, громкость), меню паузы. - Серверные проверки (антиспуфинг позиций), если игроков станет много. - Новые карты (добавляются по инструкции выше) и новые преследователи. - Автоматизировать прогон ботов в CI и проверку «пакет не пустой» после экспорта. +## Персонаж + +Модель и анимации **генерирует скрипт** `Blender models/character_01/build_character.py` (Blender 5.x: `exec` в окне или `blender -b -P`). +Он строит меш из гранёных сегментов (жёсткие веса: одна кость на сегмент), арматуру из 17 костей, считает позы и пишет 14 анимаций +(`idle walk run crouch_idle crouch_walk slide jump fall air_jump dash wallrun_R wallrun_L mantle death`), ноги ставятся через IK. +Экспорт: GLB, `export_animation_mode=NLA_TRACKS`, в `player/character/character.glb`. Материалы: `Suit` (тёмный) и `Glow` (свечение; в игре заменяется цветом игрока). + +- **Выбор анимации** — `Ghost._choose()`: смерть > подтягивание > рывок > бег по стене > воздух > присед/подкат > бег/ходьба/стоит. + Скорость шага подгоняется `speed_scale` (`REF_SPEED`), между анимациями смешивание 0,15 с. Голова повторяет взгляд вверх-вниз. +- **Своё тело:** та же модель стоит в `player/player.tscn` (видна в редакторе, отбрасывает тень), но спрятана от своей камеры слоем 2 (`player.gd → _ready`). Не анимируется. +- **Выкладка сервера:** `ghost.gd` лежит и на сервере, где модели нет, поэтому модель грузится `load()` внутри `setup()`, а не `preload`. +- Изменить позы: правь функции анимаций в скрипте, перезапусти его в Blender, заново экспортируй GLB и импортируй в Godot. + ## Лицензии и авторство - Модель карты Backrooms — «Backrooms VR», автор VTX (https://sketchfab.com/VTX_car), **CC-BY 4.0** (`maps/backrooms/model/CREDITS.md`). diff --git a/net/ghost.gd b/net/ghost.gd index 6808ddd..1182db1 100644 --- a/net/ghost.gd +++ b/net/ghost.gd @@ -1,66 +1,139 @@ class_name Ghost extends Node3D -# Чужой игрок: капсула, которая плавно догоняет последнее полученное состояние. +# Чужой игрок: киберниндзя со скелетом. Позиция и поворот плавно догоняют последнее полученное состояние, +# анимация выбирается по флагам и скорости, которые прислал игрок (скорость считаем сами по смещению). +# Свечение модели красится в цвет игрока (от его id) — так игроков отличают друг от друга. +# load, не preload: скрипт лежит и на выделенном сервере, а модели там нет (сервер Ghost не создаёт) +const MODEL_PATH = "res://player/character/character.glb" const SMOOTHING = 14.0 +const FEET_OFFSET = -1.16 # Ноги относительно центра капсулы игрока +const BLEND = 0.15 # Сглаживание между анимациями, сек +const GLOW_ENERGY = 1.0 +const LOOPED = ["idle", "walk", "run", "crouch_idle", "crouch_walk", "slide", "jump", "fall", "dash", "wallrun_R", "wallrun_L"] +# Скорость, на которой анимация шагает без скольжения ног; реальную скорость приводим к ней через speed_scale +const REF_SPEED = {"walk": 2.0, "run": 6.1, "crouch_walk": 1.4, "wallrun_R": 5.9, "wallrun_L": 5.9} +const STAND_SPEED = 0.8 # Медленнее — стоит +const RUN_SPEED = 4.5 # Быстрее — бежит, медленнее — идёт +const SLIDE_SPEED = 6.5 # В приседе быстрее — подкат +const AIR_JUMP_KICK = 5.0 # Рывок вертикальной скорости в воздухе — двойной прыжок +const AIR_JUMP_TIME = 0.6 # Длительность анимации двойного прыжка (сальто) +const HEAD_PITCH_SHARE = 0.7 # Какую долю наклона головы игрока повторяет модель +var id := 0 +var color := Color.WHITE var target_pos := Vector3.ZERO var target_yaw := 0.0 +var pitch := 0.0 var flags := 0 -var body: MeshInstance3D -var visor: MeshInstance3D +var velocity := Vector3.ZERO # Сглаженная скорость по сетевым пакетам, м/с -func setup(id: int, pos: Vector3) -> void: +var anim: AnimationPlayer +var skeleton: Skeleton3D +var head_bone := -1 +var _last_msec := 0 +var _raw_vy := 0.0 +var _air_time := 0.0 +var _air_jump_left := 0.0 +var _current := "" + +func setup(peer_id: int, pos: Vector3) -> void: + id = peer_id name = "Ghost_%d" % id position = pos target_pos = pos - var color := Color.from_hsv(fmod(id * 0.618034, 1.0), 0.7, 1.0) + color = Color.from_hsv(fmod(id * 0.618034, 1.0), 0.7, 1.0) + _last_msec = Time.get_ticks_msec() - var mat := StandardMaterial3D.new() - mat.albedo_color = color - mat.emission_enabled = true - mat.emission = color - mat.emission_energy_multiplier = 0.6 - - var capsule := CapsuleMesh.new() - capsule.radius = 0.34 - capsule.height = 2.3 - body = MeshInstance3D.new() - body.mesh = capsule - body.material_override = mat - add_child(body) - - # «Визор» показывает, куда смотрит игрок (-Z — вперёд) - var box := BoxMesh.new() - box.size = Vector3(0.5, 0.15, 0.3) - visor = MeshInstance3D.new() - visor.mesh = box - visor.position = Vector3(0, 0.9, -0.25) - add_child(visor) + var model := (load(MODEL_PATH) as PackedScene).instantiate() as Node3D + model.position.y = FEET_OFFSET + add_child(model) + skeleton = model.find_child("Skeleton3D", true, false) as Skeleton3D + anim = model.find_child("AnimationPlayer", true, false) as AnimationPlayer + head_bone = skeleton.find_bone("Head") + for n in LOOPED: + anim.get_animation(n).loop_mode = Animation.LOOP_LINEAR + anim.callback_mode_process = AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_MANUAL # кадры двигаем сами (см. _process) + _paint_glow(model) var label := Label3D.new() label.text = "Игрок %d" % (id % 1000) + label.modulate = color label.billboard = BaseMaterial3D.BILLBOARD_ENABLED label.no_depth_test = true - label.position = Vector3(0, 1.6, 0) + label.position = Vector3(0, 1.5, 0) label.pixel_size = 0.005 add_child(label) -func set_target(pos: Vector3, yaw: float, pitch: float, new_flags: int) -> void: +# Материал «Glow» модели заменяем своим — с цветом игрока (общий материал модели остался бы одним на всех) +func _paint_glow(model: Node) -> void: + var mat := StandardMaterial3D.new() + mat.albedo_color = Color.BLACK + mat.emission_enabled = true + mat.emission = color + mat.emission_energy_multiplier = GLOW_ENERGY + for mi: MeshInstance3D in model.find_children("*", "MeshInstance3D", true, false): + for s in mi.mesh.get_surface_count(): + var m := mi.mesh.surface_get_material(s) + if m != null and m.resource_name == "Glow": + mi.set_surface_override_material(s, mat) + +func set_target(pos: Vector3, yaw: float, new_pitch: float, new_flags: int) -> void: + var now := Time.get_ticks_msec() + var dt := (now - _last_msec) / 1000.0 + _last_msec = now + if dt > 0.005: + var raw := (pos - target_pos) / dt + velocity = velocity.lerp(raw, 0.5) + # Двойной прыжок: уже летим какое-то время и вертикальная скорость резко выросла + if (new_flags & Net.FLAG_AIR) != 0 and _air_time > 0.15 and raw.y - _raw_vy > AIR_JUMP_KICK: + _air_jump_left = AIR_JUMP_TIME + _raw_vy = raw.y target_pos = pos target_yaw = yaw + pitch = new_pitch flags = new_flags - visor.rotation.x = pitch + +# Какая анимация подходит текущему состоянию +func _choose(speed: float) -> String: + if Net.dead_peers.has(id): + return "death" + if (flags & Net.FLAG_MANTLE) != 0: + return "mantle" + if (flags & Net.FLAG_DASH) != 0: + return "dash" + if (flags & Net.FLAG_WALLRUN) != 0: + return "wallrun_R" if (flags & Net.FLAG_WALL_RIGHT) != 0 else "wallrun_L" + if (flags & Net.FLAG_AIR) != 0: + if _air_jump_left > 0.0: + return "air_jump" + return "jump" if velocity.y > 0.5 else "fall" + if (flags & Net.FLAG_SLIDING) != 0: # присед и подкат приходят одним флагом + if speed > SLIDE_SPEED: + return "slide" + return "crouch_walk" if speed > STAND_SPEED else "crouch_idle" + if speed > RUN_SPEED: + return "run" + return "walk" if speed > STAND_SPEED else "idle" func _process(delta: float) -> void: var t := 1.0 - exp(-SMOOTHING * delta) position = position.lerp(target_pos, t) rotation.y = lerp_angle(rotation.y, target_yaw, t) - var sliding := (flags & Net.FLAG_SLIDING) != 0 - var squash := 0.55 if sliding else 1.0 - body.scale = body.scale.lerp(Vector3(1, squash, 1), t) - var roll := 0.0 - if (flags & Net.FLAG_WALLRUN) != 0: - roll = 0.35 - body.rotation.z = lerp(body.rotation.z, roll, t) + _air_time = _air_time + delta if (flags & Net.FLAG_AIR) != 0 else 0.0 + _air_jump_left = maxf(_air_jump_left - delta, 0.0) + + var speed := Vector2(velocity.x, velocity.z).length() + var wanted := _choose(speed) + if wanted != _current: + _current = wanted + anim.play(wanted, BLEND) + anim.speed_scale = clampf(speed / REF_SPEED[wanted], 0.5, 2.0) if REF_SPEED.has(wanted) else 1.0 + anim.advance(delta) + + # Голова повторяет взгляд игрока вверх-вниз (только пока анимация идёт: иначе наклон копился бы с кадра на кадр) + if head_bone >= 0 and anim.is_playing(): + var q := skeleton.get_bone_pose_rotation(head_bone) + var tilt := clampf(pitch * HEAD_PITCH_SHARE, -0.9, 0.9) + skeleton.set_bone_pose_rotation(head_bone, q * Quaternion(Vector3.RIGHT, tilt)) diff --git a/net/net.gd b/net/net.gd index 5eedc6e..3ae3cff 100644 --- a/net/net.gd +++ b/net/net.gd @@ -15,6 +15,8 @@ const FLAG_SLIDING = 1 const FLAG_WALLRUN = 2 const FLAG_DASH = 4 const FLAG_MANTLE = 8 +const FLAG_WALL_RIGHT = 16 # Бег по стене: стена справа (иначе слева) +const FLAG_AIR = 32 # В воздухе (не на полу, не на стене, не на уступе) signal peer_respawned(pos: Vector3) # Чужой игрок возродился в точке pos diff --git a/player/character/character.glb b/player/character/character.glb new file mode 100644 index 0000000000000000000000000000000000000000..00d7b927229a8abbf31f37460b2186dd9ec3515a GIT binary patch literal 278708 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 void: head_base_pos = head.position base_fov = head.fov + # Тело видно в редакторе и отбрасывает тень, но своя камера его не рисует (слой 2) + for mi: MeshInstance3D in $Model.find_children("*", "MeshInstance3D", true, false): + mi.layers = 2 + head.cull_mask = 0xFFFFF & ~2 + # Чтобы при спуске по ступенькам персонаж «прилипал» к полу, а не летел по воздуху floor_snap_length = STEP_HEIGHT @@ -251,9 +256,12 @@ func _unhandled_input(event: InputEvent) -> void: func get_net_flags() -> int: var flags := 0 if is_sliding or is_crouching: flags |= Net.FLAG_SLIDING # У призрака присед выглядит как сплюснутая капсула - if is_wallrunning: flags |= Net.FLAG_WALLRUN + if is_wallrunning: + flags |= Net.FLAG_WALLRUN + if wall_side > 0.0: flags |= Net.FLAG_WALL_RIGHT if is_dashing: flags |= Net.FLAG_DASH if is_mantling: flags |= Net.FLAG_MANTLE + if not is_on_floor() and not is_wallrunning and not is_mantling: flags |= Net.FLAG_AIR return flags func _get_input_dir() -> Vector2: diff --git a/player/player.tscn b/player/player.tscn index edb95e4..e07d00f 100644 --- a/player/player.tscn +++ b/player/player.tscn @@ -1,15 +1,12 @@ [gd_scene format=3 uid="uid://c3efk6k8xnf57"] [ext_resource type="Script" uid="uid://c22hclit1affa" path="res://player/player.gd" id="1_iwpo4"] +[ext_resource type="PackedScene" uid="uid://d1vpt63d58k7j" path="res://player/character/character.glb" id="2_model"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_h8axm"] radius = 0.35205078 height = 2.3198242 -[sub_resource type="CapsuleMesh" id="CapsuleMesh_bcw3a"] -radius = 0.34472656 -height = 2.3242188 - [node name="CharacterBody3D" type="CharacterBody3D" unique_id=365865796] script = ExtResource("1_iwpo4") @@ -21,5 +18,5 @@ debug_color = Color(0, 0.6, 0.69803923, 1) transform = Transform3D(1, 0, -1.7484555e-07, 0, 1, 0, 1.7484555e-07, 0, 1, 0, 0.9, 0) fov = 59.9 -[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=81801455] -mesh = SubResource("CapsuleMesh_bcw3a") +[node name="Model" parent="." unique_id=81801455 instance=ExtResource("2_model")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.16, 0)