Michael05042023年09月15日
95阅读
所属分类作品

作品详情

独立开发的3D网游项目,负责以下内容:
1、加载游戏:进入游戏就是一个 Loding 场景,Loding 进度条是用 ugui 组件 Slider 做的,SceneManager.LoadSceneAsync 异步加载登录场景,可以避免进入主场景的东西太多导致黑屏时间过长。
2、更新登录:进入热更新模块,这个模块,会用 UnityWebRequest 下载服务器中的 xml 文件,xml 文件存有当前线上版本以及线上版本当前的所有热更版本的热更包数据,然后和本地的 xml 做对比,有新版本,就会下载最新版本的热更包。更新完就到登录模块,登录模块,用 ugui的 Input Field 接收玩家输入的账号密码,通过网络服务模块给服务端发送登录请求,服务端校验数据库回传角色数据
3、主城系统,选角模块,随机取名功能,用的是 Random.Range 随机读取配置表
进入到主城,主城没有做优化前达到1000多批次,改用光照贴图把批次优化到40左右
人物的移动用 IDragHandler 等接口实现拖拽,CharacterController 实现角色移动。使用虚拟相机实现相机跟随
主城的 ui 布局用的锚点做了适配,有角色信息模块,强化模块,任务模块,引导模块,世界聊天模块,副本模块,底下是分段的经验条,通过水平布局以及 image 的填充模式实现
角色信息模块:用了3d以及2d混排技术,用单独的摄像机只渲染角色的图层,再用 RenderTextrue 挂在到这个摄像机上,然后用一个 RawImage 显示这个 RenderTexture ,实现了3d物体显示到 ui上,通过拖拽接口改变摄像机的旋转,实现了玩家左右拖拽旋转人物的功能,用 Text 组件以及垂直布局显示玩家的经验、体力、攻击防御等
4、强化模块:主要是强化系统的数据机构,使用的是同一个类,这个类包含了装备类型的枚举以及装备的等级和相关属性,每一个装备类型就是一个对象,强化时,发消息到服务器做校验更新对象数据
5、任务模块:任务数据结构包含了任务 id ,任务名字,任务描述以及任务进度和任务奖励等,在玩家触发任务的需求时,更新客户端的任务进度,领取任务奖励,也需要与数据做校验然后再发放奖励
6、引导模块以及一系列模块
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论