U3DFrameWorkDemo:零、工程说明

序言

前段时间拾起U3D时,重新看了一下之前的学习资料,整理成了一个demo。主要包含框架基本模块核心功能实现。

当然,这个小demo是我个人的学习和探索,如demo的中文解释,它是一个“原型”--既是它的优点,也是它的缺点。它并不是一个完整的框架,但包含其核心功能模块的实现思路,更加符合“新手的直觉”(应用当然要考虑更多情况)。这让我想起刚工作时前辈的指导,大概意思是“这些底层模块并不是魔法,看起来挺复杂是考虑了一些情况,其核心思想往往并不复杂,多想想要是让你设计你会怎么做”。

诚如“不懂Unix的人注定最终还要重复发明一个蹩脚的Unix”这句名言,新手朋友们若是要实际开发一个项目,建议使用ET等成熟的框架有需要稍微改改就好了,大部分成熟框架都会尽量追求通用、易用,如无必要不需要重复造轮子~

最后,欢迎讨论交流和批评,希望能帮到大家,共同进步!

目录

U3DFrameWorkDemo:一、生命周期管理

U3DFrameWorkDemo:二、资源管理

U3DFrameWorkDemo:三、脚本模块

U3DFrameWorkDemo:四、资源打包和热更

U3DFrameWorkDemo:五、UI模块

U3DFrameWorkDemo:六、网络

Multiserver游戏服务器Demo[C++&Lua]

|
|

工程下载和使用说明

下载

Github传送门
如果新手盆友不懂怎么用,可以搜下,很简单哒~
下载完成包含以下目录:
image

  • U3DFWDemoPacket U3D工程导出包
  • Server 服务器工程源码
  • ServerBin 服务器编译好的App
  • LuaEncoder Lua相关

配置

Client/U3D工程

创建一个U3D项目,我使用的是2021.3.11f1c1版本(如果有什么问题可以尝试和我使用一样的版本...)
image
把LuaDecoder拷贝到Test目录下
image
把U3DFWDemoPacket拖到U3D窗口,并导入
image
image
打开或者重加载SampleScene场景
image

Server

直接使用编译好的

运行ServerBin/Project/Run.exe
image

使用源码工程

要求VS版本最好在2019以上,并安装了至少3.0版本的CMake
进入目录
image
打开命令行,输入cmake .
image
完成大概如下,打开工程
image
把两个无用的项目卸载掉(否则可能报错)
image
找到cmake生成的这个文件也删掉
image
然后直接编译运行即可
image

测试

登录界面脚本见LoginView.lua

UI&Edit模式资源加载&登录服务器测试

首先,使用Edit编译分支,注释掉这行代码
image
然后,运行服务器
键入账号密码,登录
image
登录成功
image

如果不输入正确的账号密码会提示错误
image

当然后台也有相关打印(正常服务器程序不会如此打印,使用日志取而代之)
image

非Edit模式加载资源&资源打包热更

首先,取消Undef Edit分支的注释
image

使用分包编辑器,测试的内容什么也不需要改,大概长这样
image

选择构建,打开构建窗口,点击Publish等待构建完成(Clear是清理资源包相关的)
image

进行登录测试(确保服务器运行,服务器状态清理有点问题,有时候重新登录会闪退..,重新运行下)
image

记住这个头像,下面热更换掉这个头像
选择构建->更新包选项,点击MakeUpdateTestAsset选项生成替换资源,点击检查更新资源,最后点击UpdatePacket生成更新包
image

运行自动检查资源更新
image

点击确定下载资源并热更
image

可以看到头像已经热更掉了

posted @ 2023-05-29 09:21  寡人正在Coding  阅读(86)  评论(0编辑  收藏  举报