My 3D Project 开发日志:玩家、同步与体素平台
My 3D Project 的开发围绕玩家从连接到参与玩法场景的完整链路展开。网络身份负责玩家实例,角色装配处理本地与远程表现,运动和动画分别使用匹配各自职责的同步数据,玩法场景再把角色行为连接到体素平台。
2026 年 9 月:网络玩家与角色装配
联机基础先打通连接、玩家生成和角色绑定。Mirror 为连接创建 NetworkPlayer 网络根,服务器负责玩家实例的生命周期;客户端根据同步的角色编号选择角色 Prefab 并完成装配。
角色根与视觉角色分开后,同一份角色 Prefab 可以用于拥有者和远程玩家。拥有者启用输入、相机和本地音频组件,远程实例保留模型与动画表现。网络根统一承载联机身份、运动和碰撞,使角色表现不必承担连接管理职责。
2026 年 10 月:移动状态与动画同步
角色移动由输入读取、控制器和 CharacterMotor 逐层传递。运动器根据相机朝向处理地面移动,并维护加速、跳跃和重力;状态机把移动归纳为地面与空中状态,再交给 Animator 表现。
同步工作随后分成两条。NetworkTransformReliable 传递位置和旋转;CharacterMotionSync 传递动画所需的运动状态、局部方向和权重。远程客户端根据两类数据分别更新角色位置和动作表现,不运行本地角色输入。
2026 年 10 月:网络音频
角色音效沿网络身份转发。拥有者提交音效类型与触发位置,服务器再把事件发送给观察者,各客户端在对应位置播放声音。音频事件因此与角色本地音频组件分开,网络消息负责描述触发内容,客户端负责实际播放。
2026 年 10 月:场景与体素平台
运行场景拆成启动场景、常驻场景和玩法场景。网络管理器、场景切换和 UI 留在常驻层,客户端与专用服务器通过统一入口 Additive 加载玩法场景,使本局场景变化不需要重建连接基础。
体素平台从方块布局生成合并表面和分区碰撞。运行时由射线命中定位方块,变化后局部更新对应表面与碰撞,并按需生成碎块表现。方块数据是玩法状态,网格和碰撞是它在场景中的表示;破坏行为通过这两层协同完成。
部分信息可能已经过时
粤公网安备44011102484817号