bru
This commit is contained in:
127
README.md
127
README.md
@@ -304,42 +304,45 @@ Sử dụng **Photon Fusion (State Sync)** với cơ chế Client-Side Predictio
|
||||
sequenceDiagram
|
||||
autonumber
|
||||
|
||||
%% Định nghĩa các bên tham gia (Rút gọn để tránh lỗi render)
|
||||
participant IR as 🖱️ Input
|
||||
box #E3F2FD "🌸 CLIENT"
|
||||
participant CP as 🎀 Player
|
||||
end
|
||||
box #FFF3E0 "🌐 NET"
|
||||
participant NT as ✨ Fusion
|
||||
end
|
||||
box #E8F5E9 "🖥️ SERVER"
|
||||
participant S as 👑 Authority
|
||||
end
|
||||
participant CP as 🎀 Local Player
|
||||
participant NT as 🌐 Fusion Net
|
||||
participant S as 👑 Server
|
||||
participant RP as 👥 Proxies
|
||||
|
||||
Note over IR, CP: [TICK N] Thu thập Input ✨
|
||||
IR->>CP: OnMove / OnJump
|
||||
CP->>CP: 📦 Pack Data
|
||||
%% --- GIAI ĐOẠN 1 ---
|
||||
Note over IR, CP: [PHASE 1] Thu thập Input
|
||||
IR->>CP: OnMove / OnJump / OnSprint
|
||||
CP->>CP: 📦 Pack NetworkInputData
|
||||
|
||||
rect rgb(255, 250, 240)
|
||||
Note over CP, NT: Prediction Mode 🚀
|
||||
CP->>CP: 🏃 Local Prediction
|
||||
CP->>NT: ✉️ Send Packet
|
||||
end
|
||||
%% --- GIAI ĐOẠN 2 ---
|
||||
Note over CP: [PHASE 2] Dự đoán (Prediction)
|
||||
CP->>CP: 🏃 Run Client-Side Physics
|
||||
CP->>NT: ✉️ Send Input (Tick N)
|
||||
|
||||
rect rgb(240, 255, 240)
|
||||
Note right of S: SERVER VALIDATION ⚖️
|
||||
S->>S: 📝 Check Physics
|
||||
S->>S: 💾 Update State
|
||||
end
|
||||
%% --- GIAI ĐOẠN 3 ---
|
||||
Note over NT, S: [PHASE 3] Truyền tin mạng
|
||||
NT->>S: UDP Packet Delivery
|
||||
Note right of S: SERVER SIMULATION
|
||||
S->>S: 📝 Validate & Update State
|
||||
S-->>NT: 📣 Snapshot (Tick N)
|
||||
|
||||
S-->>NT: 📣 Broadcast Snapshot
|
||||
|
||||
NT-->>CP: Snapshot
|
||||
Note over CP: 🔄 RECONCILE (Fix Lag)
|
||||
%% --- GIAI ĐOẠN 4 ---
|
||||
Note over NT, CP: [PHASE 4] Hồi đáp & Đồng bộ
|
||||
NT-->>CP: State Snapshot
|
||||
Note over CP: 🔄 RECONCILIATION
|
||||
CP->>CP: Fix Position if Error > Threshold
|
||||
|
||||
rect rgb(250, 245, 255)
|
||||
Note over CP: [LateUpdate] Rendering 🎨
|
||||
CP->>CP: Shake & VFX
|
||||
end
|
||||
%% --- GIAI ĐOẠN 5 ---
|
||||
Note over NT, RP: [PHASE 5] Proxy Update
|
||||
NT-->>RP: State Snapshot
|
||||
Note over RP: 🎞️ INTERPOLATION (Lerp)
|
||||
|
||||
%% --- GIAI ĐOẠN 6 ---
|
||||
Note over CP, RP: [PHASE 6] Hiển thị (Render)
|
||||
CP->>CP: Update Camera Shake/VFX
|
||||
RP->>RP: Smooth Mesh Movement
|
||||
```
|
||||
|
||||
---
|
||||
@@ -401,45 +404,45 @@ Dự án được tổ chức theo tiêu chuẩn công nghiệp (Standard Indust
|
||||
📦 HALLUCINATE
|
||||
├── 🌸 Assets/ (Trái tim của trò chơi)
|
||||
│ ├── 📜 Scripts/ (Phép thuật điều khiển logic)
|
||||
│ │ ├── 🏷️ Attributes/ # Tùy biến Inspector xinh xắn
|
||||
│ │ ├── 🎥 Camera Controller/ # Ánh nhìn của nhân vật
|
||||
│ │ ├── 🛠️ Debug/ # Đội cứu hộ lỗi (Fix-it!)
|
||||
│ │ ├── 🌐 Fusion/ # Sợi dây kết nối mọi người (Networking)
|
||||
│ │ ├── 🏷️ Attributes/ # Tùy biến Inspector
|
||||
│ │ ├── 🎥 Camera Controller/
|
||||
│ │ ├── 🛠️ Debug/
|
||||
│ │ ├── 🌐 Fusion/
|
||||
│ │ │ └── 🚀 BasicSpawner.cs
|
||||
│ │ ├── 🏗️ GameSetup/ # Kiến tạo thế giới ảo
|
||||
│ │ │ ├── 🌀 Maze/ # Mê cung huyền bí
|
||||
│ │ │ │ ├── 🐾 Crawler.cs # Những bước chân ngẫu nhiên
|
||||
│ │ │ │ ├── 🌳 Prims.cs # Cây khung tối tiểu
|
||||
│ │ │ │ ├── 🧵 Wilsons.cs # Bước đi không vòng lặp
|
||||
│ │ │ │ └── 🗺️ Maze.cs # Nhạc trưởng mê cung
|
||||
│ │ ├── 🏗️ GameSetup/
|
||||
│ │ │ ├── 🌀 Maze/ # Mê cung
|
||||
│ │ │ │ ├── 🐾 Crawler.cs
|
||||
│ │ │ │ ├── 🌳 Prims.cs
|
||||
│ │ │ │ ├── 🧵 Wilsons.cs
|
||||
│ │ │ │ └── 🗺️ Maze.cs
|
||||
│ │ │ └── 🧍 CharacterAutoSetup.cs
|
||||
│ │ ├── 🖱️ Interactables/ # Những vật thể biết nói
|
||||
│ │ ├── 🖱️ Interactables/
|
||||
│ │ │ ├── 🚪 DoorInteractable.cs
|
||||
│ │ │ ├── 💡 LampInteractable.cs
|
||||
│ │ │ └── 💎 BaseInteractable.cs
|
||||
│ │ ├── 📐 Interface/ # Bản thiết kế chung (IInteractable)
|
||||
│ │ ├── 🏃♀️ Player Controller/ # Linh hồn của Gameplay
|
||||
│ │ ├── 📐 Interface/
|
||||
│ │ ├── 🏃♀️ Player Controller/
|
||||
│ │ │ ├── 🧠 PlayerStateMachine.cs
|
||||
│ │ │ ├── ⌨️ InputReader.cs
|
||||
│ │ │ └── 🎭 States/ # Cảm xúc hành động (Idle, Run, Jump...)
|
||||
│ │ ├── ⚡ Optimization/ # Phép màu mượt mà (60 FPS!)
|
||||
│ │ ├── 🖥️ UI/ # Giao diện dễ thương
|
||||
│ │ └── 🎆 VFX/ # Bụi tiên và ánh sáng
|
||||
│ ├── 🧸 Prefabs/ # Những món đồ chơi dựng sẵn
|
||||
│ ├── 📖 document/ # Sách bí kíp (Design & Diagrams)
|
||||
│ ├── 🎬 Scenes/ # Những sân khấu kịch
|
||||
│ ├── 🎨 Materials/ # Lớp áo lấp lánh (Cell-Shading)
|
||||
│ ├── 👸 Models/ # Những cư dân Anime 3D
|
||||
│ ├── 💃 Animation/ # Điệu nhảy của nhân vật
|
||||
│ ├── 🔌 Photon/ # Cổng dịch chuyển không gian (SDK)
|
||||
│ ├── 🅰️ TextMesh Pro/ # Những dòng chữ nghệ thuật
|
||||
│ └── ⚙️ Settings/ # Cấu hình thế giới (URP & Physics)
|
||||
├── 🛠️ ProjectSettings/ # Quy tắc của vũ trụ Unity
|
||||
│ ├── 🏷️ TagManager.asset # Phân loại tầng mây
|
||||
│ ├── 🌍 DynamicsManager.asset # Trọng lực & Va chạm
|
||||
│ └── 📡 MultiplayerManager.asset # Quy tắc chơi chung
|
||||
├── 📦 Packages/ # Những chiếc túi thần kỳ
|
||||
└── 📝 README.md # Lời chào từ Creator (。•̀ᴗ-)✧
|
||||
│ │ │ └── 🎭 States/
|
||||
│ │ ├── ⚡ Optimization/
|
||||
│ │ ├── 🖥️ UI/
|
||||
│ │ └── 🎆 VFX/
|
||||
│ ├── 🧸 Prefabs/
|
||||
│ ├── 📖 document/
|
||||
│ ├── 🎬 Scenes/
|
||||
│ ├── 🎨 Materials/
|
||||
│ ├── 👸 Models/
|
||||
│ ├── 💃 Animation/
|
||||
│ ├── 🔌 Photon/
|
||||
│ ├── 🅰️ TextMesh Pro/
|
||||
│ └── ⚙️ Settings/
|
||||
├── 🛠️ ProjectSettings/
|
||||
│ ├── 🏷️ TagManager.asset
|
||||
│ ├── 🌍 DynamicsManager.asset
|
||||
│ └── 📡 MultiplayerManager.asset
|
||||
├── 📦 Packages/
|
||||
└── 📝 README.md # Creator (。•̀ᴗ-)✧
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user