UI 的分类
| 静态 | 动态 |
|---|---|
| 普通窗口 | Tips |
| 对话框 | 公告 |
| 消息框 | 战斗飘字 |
UI 框架设计
| UIMain | UIManager | UITipsManager | UIMessageBox |
|---|---|---|---|
| UIAvatar | UIShopDialog | / | / |
| UIMinimap | UINpcDialog | / | / |
| UISkillSlot | UITaskDialog | / | / |
NPC 的分类
任务NPC
固定任务NPC
活动任务NPC
功能NPC
打开商店
打开仓库
打开副本
打开工会
NPC 的类型
NPC 配置表及加载
NPC 资源制作
NPCManager
NPCController
道具系统
需求分析
分类
接口设计
组成
| 道具系统组成【其他系统也有相似之处】
| 配置与协议 | Client | Server | DB |
|---|---|---|---|
| ItemDefine | ItemManager | Item | CharacterItem |
| NItemInfo | ItemService | ItemManager | |
| ItemService |
背包系统
需求分析
作用
查看/管理
分页
整理
道具交互
拾取
使用
丢弃
UI 制作
数据结构*
| 组成
| 配置与协议 | Client | Server | DB |
|---|---|---|---|
| NBagInfo | BagItem | BagService | CharacterBag |
| BagSaveRequest | BagManager | ||
| BagService | |||
| UIBag |
商店系统
商店类型
杂货店
装备店
功能
商品列表
道具购买
| 商店系统组成
| 配置与协议 | Client | Server | DB |
|---|---|---|---|
| ItemBuyRequest | ShopManager | ShopManager | |
| ItemBuyResponse | ItemService | ItemService | |
| ShopDefine | UIShop | ||
| ShopItemDefine |
装备系统
需求分析
UI 设计
功能
装备管理
装备穿戴
系统设计
| 数据结构
| EQUIP_DATA | ||||||
|---|---|---|---|---|---|---|
| WEAPON | ACCESSORY | HELMET | CHEST | SHOULDER | PANTS | BOOTS |
| 组成
| 配置与协议 | Client | Server | DB |
|---|---|---|---|
| ItemEquipRequest | EquipManager | EquipManager | |
| ItemEquipResponse | ItemService | ItemService | |
| EquipDefine | UICharEquip |
任务系统
| 分析
任务分类
主线
支线
副本
任务目标
对话
杀怪
收集
任务奖励
经验
金币
道具
任务领取
- NPC
交互
查看任务
接受任务
拒绝任务
完成任务
| 组成
| 配置与协议 | Client | Server | DB |
|---|---|---|---|
| QuestRequest | QuestManager | QuestManager | TCharacterQuest |
| QuestResponse | QuestService | QuestService | |
| QuestDefine | UIQuestSystem | ||
| UIQuestDialog | |||
| UIQuestTracker |
| 数据结构
| TCharacterQuest | ||||||
|---|---|---|---|---|---|---|
| ID | QuestID | CharacterID | Target1 | Target2 | Target3 | Status |
⬇
| QuestStatus | |
|---|---|
| IN_PROGRESS | FINISHED |
刷怪系统
刷怪规则
时间
地点
类型
刷怪逻辑
模块
流程
| 数据结构
| SpawnRuleDefine | |||||
|---|---|---|---|---|---|
| ID | MapID | SpawnMonID | SpawnLevel | SpawnPeriod | SpawnPoint |
⬇
| SpawnPointDefine | |||
|---|---|---|---|
| ID | MapID | Position | Direction |
| 组成
| 配置与协议 | Client | Server | DB |
|---|---|---|---|
| SpawnRuleDefine | SpawnPoint | MonsterManager | |
| SpawnPointDefine | MapTools | SpawnManager | |
| Spawner |
角色进入的协议可以被复用
好友系统
好友列表
删除
私聊入口
组队入口
添加好友
- 在线好友
删除好友
| 组成
| 配置与协议 | Client | Server | DB |
|---|---|---|---|
| FriendRequest | FriendManager | FriendManager | TCharacterFriends |
| FriendResponse | FriendService | FriendService | |
| UIFriends | |||
| UIFriendItem |
| 数据结构
| TCharacterFriends | ||||||
|---|---|---|---|---|---|---|
| ID | FriendID | CharacterID | Name | Class | Level | Time |
组队功能
队伍列表
- 私聊入口
邀请好友
- 在线好友
离开队伍
| 组成
| 配置与协议 | Client | Server | DB |
|---|---|---|---|
| TeamRequest | TeamManager | TeamManager | |
| TeamResponse | TeamService | TeamService | |
| UITeam | Team | ||
| UITeamItem |
公会系统
公会列表
- 申请加入
公会界面
公会信息
成员列表
公会管理
会长转让
申请审批
任命
罢免
踢人
| 组成
| 配置与协议 | Client | Server | DB |
|---|---|---|---|
| GuildRequest | GuildManager | GuildManager | TCharacterFriends |
| GuildResponse | GuildService | GuildService | |
| UIGuild | Guild | ||
| UIGuildList | |||
| UIGuildPopApplyList | |||
| UIGuildPopCreate | |||
| UIGuildNoGuild |
| 数据结构
| TGuild | |||||
|---|---|---|---|---|---|
| ID | Name | LeaderID | LeaderName | Notice | CreateTime |
↓
| TGuildMember | ||||||||
|---|---|---|---|---|---|---|---|---|
| ID | CharacterId | Name | Class | Level | Title | JoinTime | LastTime | GuildId |
↓
| TGuildApply | |||||||
|---|---|---|---|---|---|---|---|
| ID | CharacterId | Name | Class | Level | Result | ApplyTime | GuildId |
聊天系统
图文插件 HyperText
基本使用
样式定义
点击事件处理
私聊
- 1对1聊天
频道聊天
本地
世界
组队
公会
聊天区交互
私聊
加好友
邀请组队
HyperTextStyles制作
Candlelight => 选择HyperTextStyles
Font字体、Size尺寸等
Custom Styles 定义标签:如
<a class = "player">
| 组成
| 配置与协议 | Client | Server | DB |
|---|---|---|---|
| ChatRequest | ChatManager | ChatManager | |
| ChatResponse | ChatService | ChatService | |
| UIChat | Chat | ||
| UIPopCharMenu |
坐骑系统
类比移动同步
坐骑和人物骨骼绑定
| 组成
| 配置与协议 | Client | Server | DB |
|---|---|---|---|
| NEntitySync | EntityController | Character | |
| RideController | Map | ||
| UIRide | |||
| UIRideItem |
声音系统
音效引擎选择
Unity原生声音系统
Wwise音效引擎
系统设计
2D音效
- 如UI界面的、背景音乐
3D音效
- 如战斗音效、动作音效等
音频格式(导入导出的区别)
| 声音类型
音乐
主题背景音乐 - 2D
环境氛围音乐 - 3D
音效
2D音效
UI音效
语音提示
3D音效
角色音效
- 脚步声
角色VO
战斗音效
技能
受击
特效
|核心组件
Audio Source(音源) =》 Effect(效果组件) =》 Mixer(混音器) =》 Audio Listener(监听器)
| 接口设计
SoundManager
| 接口 | 属性 |
|---|---|
| PlaySound | SoundVolume |
| PlayMusic | MusicVolume |
| Mute |
导航系统
常见寻路方式
选择寻路方案
服务器寻路
客户端寻路
客户端寻路、服务器校验
NavMesh 寻路
任务目标追踪
常见寻路方式
寻路建模
Grid
Waypoint
NavMesh
寻路算法
数据结构
数
图
算法
深度优先
广度优先
Dijkstra
A*(读音:A星)
B*
相关推荐文章:
深入理解游戏中寻路算法_zerokkqq的博客-CSDN博客_多人寻路算法
对 Unity 导航网格 NavMesh 的调研 - Hu&Fei - 博客园
NavMesh 寻路
NavMesh的创建
NavAgent
如何生成服务器可用的数据