HOME
BLOG
MMORPG(2)
11月 16 2022

UI 的分类

静态 动态
普通窗口 Tips
对话框 公告
消息框 战斗飘字

UI 框架设计

UIMain UIManager UITipsManager UIMessageBox
UIAvatar UIShopDialog / /
UIMinimap UINpcDialog / /
UISkillSlot UITaskDialog / /

NPC 的分类

任务NPC

  • 固定任务NPC

  • 活动任务NPC

功能NPC

  • 打开商店

  • 打开仓库

  • 打开副本

  • 打开工会


  1. NPC 的类型

  2. NPC 配置表及加载

  3. NPC 资源制作

  4. NPCManager

  5. 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*


相关推荐文章:

寻路建模的三种方式比较_长三月的博客-CSDN博客

深入理解游戏中寻路算法_zerokkqq的博客-CSDN博客_多人寻路算法

WayPoint寻路 - greyhh - 博客园

对 Unity 导航网格 NavMesh 的调研 - Hu&Fei - 博客园


NavMesh 寻路

  • NavMesh的创建

  • NavAgent

  • 如何生成服务器可用的数据



Hello,Unity

Unity Study