4.9 KiB
Kiến trúc Kỹ thuật (Technical Architecture)
Hệ thống của BABA_YAGA được thiết kế theo chuẩn Modular Architecture (Kiến trúc Module), tách biệt hoàn toàn giữa logic xử lý vật lý (Kinematics), trạng thái mạng (Net-State) và phản hồi thị giác (Visual Feedbacks). Điều này đảm bảo hiệu năng cao (High Tickrate) ngay cả trong các môi trường mê cung phức tạp.
1. Advanced Kinematic FSM & Camera Dynamics
Hệ thống điều khiển nhân vật cốt lõi được xây dựng trên mô hình Finite State Machine (FSM) phân cấp. Không chỉ xử lý nội suy vật lý mượt mà, hệ thống còn tích hợp trực tiếp với Procedural Camera Dynamics (Head-bob, Dynamic FOV, Tilt) để tạo ra sự cộng hưởng về cảm giác nhập vai, đồng thời duy trì tính đồng bộ tuyệt đối qua lớp mạng (Networking Layer).
(Lưu ý: Sơ đồ trạng thái dưới đây đã được tối ưu hóa cho thuật toán dự đoán phía Client)
stateDiagram-v2
direction TB
state "👣 KINEMATIC GROUND" as Ground {
[*] --> Idle
state Idle {
I_P: ⚓ Vel < 0.1m/s
I_C: 📈 Breathing Cam (0.5Hz)
}
Idle --> Moving : Input.mag > 0.1
state Moving {
M_P: 🚶 Speed 2-4m/s
M_C: 🎥 Head Bob (1.2Hz)
}
Moving --> Sneaking : Hold [Sneak]
state Sneaking {
Sn_P: 🔇 Acoustic Profile -50%
Sn_C: ⬇️ Collider Height Down
}
Moving --> Sprinting : Hold [Sprint]
Sneaking --> Moving : Release [Sneak]
state Sprinting {
Sp_P: ⚡ Speed > 6.5m/s
Sp_C: 🔵 Dynamic FOV Warp
}
Sprinting --> Moving : Stamina Depleted
}
state "🪶 AIRBORNE DYNAMICS" as Air {
state Jump {
J_P: ⬆️ AddForce Up
}
state Falling {
F_P: 📉 Gravity x1.5
}
state Landing {
L_P: 📐 Impact Raycast
}
Jump --> Falling : Vel.y < 0
Falling --> Landing : KCC.IsGrounded == true
}
state "🎯 UTILITY / ACTION" as Utility {
state Dashing {
D_P: 💨 Vector Burst (15m/s)
}
state Interacting {
Int_P: 🔒 Root Motion Lock
}
}
state "🌐 NET-SYNC LAYER" as Net {
state "Input Authority (Client)" as IA
state "State Authority (Server)" as SA
IA --> SA : Send Input Tick
SA --> IA : Force Reconcile
}
Ground --> Air : KCC.IsGrounded == false
Air --> Ground : OnLandEvent.Fire()
Ground --> Utility : InvokeAbility()
Utility --> Ground : Action Complete
note left of Ground
💾 Sync: KCC Velocity
🗂️ State: Networked Enum
end note
note right of Net
⚙️ Photon Fusion
🛡️ Anti-Cheat Validated
end note
Việc tương tác trong một môi trường bị giới hạn hoàn toàn về tầm nhìn đòi hỏi một hệ thống truy vấn không gian (Spatial Querying) cực kỳ chính xác. Chúng tôi từ chối sử dụng cơ chế Raycast điểm đơn thông thường.