博文

目前显示的是 九月, 2024的博文

朝花夕拾

图片
架构相关 playcenter 主从模式 注意,从playcenter也会监听MessageHub的消息Emit,所以不应该在从playcenter上的Listen处理函数应该判断是否是主playcenter: if not g_ServiceMgr:IsMasterScheduler() then return end 模块相关 DBProxy的使用 Define 自定义Query MessgeHub Define game\common\lua\messagehub\MessageDefine.lua Use Important 伏羲服务以及伏羲长连接 Use CStore框架 时序 CompetitionFlow Joiner Node 与gameplay的数据交互 体素化 什么是体素化 类似2D格子/像素点,体素数据是3D划分后的每个小格子里的体素数据,可以有坐标、障碍、材质、标记等信息,用于上层应用(运动校验、进出区域等) 为什么要体素化 客户端的刚体碰撞体信息服务器没有。客户端需要将体素化数据同步给服务器 不做体素化是不是也可以,直接把刚体信息告诉服务器也可以 客户端对象(RenderObject、Lua对象、引擎对象);服务器对象(Lua对象、引擎对象) 运动碰撞校验;进出区域(公共场景、玩法场景如禁马区); 体素化数据结构(TCoreGrid) 如何获得体素化数据 制作美术(美术):场景搭建,模型prefeb,添加刚体 导出刚体(C#):三角网格数据的导出 场景体素化(静态)(C++)由刚体生成体素化数据:读取,PxPhysicsAPI重建场景,射线采样,解析, 静态体素数据应用中解决的问题:洞穴问题;海水问题;河流湖泊问题(复杂不规则的河流湖泊水域,模拟刚体,利用水碰撞和下方的碰撞的高度差决定当前坐标下水的深度);瀑布水帘洞问题(河流切片,给瀑布打上不一样的标记,不做抬高) 动态体素化数据:庄园、动态平台、化学物品 体素数据相关的优化: 内存:调色盘数据结构(RnRIndex) 存储:边界:小副本支持给体素化数据刷边界信息,无需加载玩家不可达的边界区域的体素数据 网络: 踩...