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
如何生成服务器可用的数据