UUG杭州站 | Unity小游戏宿主

PPT下载地址:https://u3d.sharepoint.cn/:b:/s/UnityChinaResources/Ee_aolTKYVZOswPCQiC_P3kBLLruA1RE2exsKW8g-aweUA?e=2qcNS4

2025年4月12日,在Unity User Group(UUG)杭州站活动上,Unity中国技术总监顾申华带来了《Unity小游戏宿主》主题演讲。

 

大家下午好!我接下来将花20分钟的时间跟大家讲两件事情:一是介绍Unity小游戏宿主是什么,它有哪些功能亮点;二是作为小游戏或者游戏的开发者,为什么这件事情对我这么重要,我应该如何使用Unity小游戏宿主。

 

 

小游戏宿主是什么?

 

首先小游戏宿主是什么?它是一个客户端的SDK,包括服务端API和一个管理后台。应用开发者可以快速集成,运行小游戏,从而实现用户的时长增长,进而实现小游戏的商业变现。这就是Unity小游戏宿主的核心功能。

它有什么样的技术优势和功能亮点?

 

Unity小游戏宿主支持多平台,现在已经支持安卓和iOS平台,同时PC和OpenHarmony、HarmonyOS NEXT也在规划中。

 

虽然叫做Unity小游戏宿主,但它实际上支持多引擎,市面上主流的游戏引擎,如团结引擎、Unity、COCOS、LAYABOX和Egret,都可以完美支持。当然,我们对Unity和团结的支持会更好。

 

小游戏宿主还可以兼容微信生态。我们完全兼容微信API,开发者可以快速导入微信小游戏程序包,直接在Unity小游戏宿主上运行。我们的测试团队也做了大量的工作来保证兼容性,确保了前100+的微信游戏都可以顺利在小游戏宿主上运行。

 

接下来是性能优化。我们的架构是最先进的架构,在安卓上,以V8引擎+Native API的形式来实现。V8引擎用来运行游戏的业务逻辑,包括JavaScript和WebAssembly(WASM)。像基础能力,文件、网络、渲染声音等,是通过Native API实现。

 

在iOS上会有点复杂,由于系统不允许内嵌浏览器进程之外的进程可以有JIT(Just-In-Time)即时编译的能力。所以在这里,我们把V8替换成了WebKit,游戏直接跑在内嵌浏览器里,来运行游戏的JavaScript和WASM。剩下的部分基础能力,比如文件、网络、声音则通过进程间的调用,由宿主APP的进程去实现。渲染能力还是通过内嵌的浏览器来提供支持,我们把这个称之为iOS的高性能模式。

 

在此基础上,我们还增加了一个进阶的“高性能+”模式。简单来说就是把渲染能力从浏览器的进程里迁移到了宿主APP的进程,由宿主通过跨进程间调用的方式来实现。这样有两个好处:第一,渲染能力已经不在WebKit进程里,因此WebKit进程的内存会减少,从而减少它被系统杀死的概率,增加稳定性。第二,我们有机会实现除了WebGL这个标准API之外的更高级的图形渲染API,比如Metal的渲染能力,可以极大地降低渲染的功耗。

 

除了架构上的优化,我们还提供WASM分包方案。WASM分包方案是一个后处理,通过动态采集的方式识别出一个代码包里面有多少函数真正被调用过,有多少函数没有被调用过,然后把这个游戏包分成两份。下载时只下载核心部分,剩下部分原则上无需下载,除非采集过程中有不充分,导致有些地方要按需加载。这会带来很多好处,一个是加载时间快;另一个是代码占用的内存少了,大量不用的代码不会加载,因此直接提高了在iOS上面的运行稳定性。

 

除了SDK,我们还提供后台管理。它包括应用管理以及小游戏管理。作为应用开发者,可以在后台新建应用、关联游戏、查看数据;作为游戏开发者,可以新建游戏、上传游戏包、分包管理、上/下架管理以及查看游戏的运行数据。

 

除了后台管理,开发者文档也非常重要。我们的Unity小游戏宿主有一个完整的开发者文档,让大家更方便地了解小游戏宿主。这里包括了如何做应用集成、引擎适配、API Reference内容,同时提供SDK下载和各种各样的Demo工程。

 

以上就是Unity小游戏宿主的技术优势和功能亮点。

 

 

如何使用小游戏宿主?

接下来,作为一个游戏开发者,该如何使用Unity小游戏宿主?

简单来说只需要四步:

 

第一步,打包。如果大家用的是团结引擎,直接在Build Target里面就可以打包。如果是Unity引擎,就要下载小游戏宿主的Unity Package,再通过Build Target打包。如果是其他引擎,我们提供了转换工具,可以把已有的游戏包直接转换成可以在宿主上运行的游戏包。

 

第二步,上传。我们用浏览器打开minihost.tuanjie.cn,登录你的UnityID,就可以新建小游戏,上传你的游戏包。

 

第三步,扫码测试。对每个游戏包,我们都可以生成一个二维码,通过Unity Connect App进行扫码测试。

那么,什么是Unity Connect App?

 

它是一个Unity官方的开发者社区APP,可以在社区官网(https://developer.unity.cn/connectApp/download)下载。大家用它进行扫码登录、查看社区文章以及教程等。现在Unity Connect App通过集成Unity小游戏宿主的SDK,快速拥有了运行小游戏的能力,因此它现在成为了一个小游戏宿主的样板间,同时也是小游戏开发者的开发调试工具。

具体有哪些开发调试的功能?

 

第一,性能面板,通过它可以看到运行时的基础数据;

 

第二,vConsole面板,通过它可以看到运行时产生的日志;

 

如果你的游戏包在引擎里打开了CPU Profiling,可以做CPU的Profile。在游戏运营时点击开始录制、结束录制,就可以导出一个文件。

 

通过Chrome Inspector,可以查看它的火焰图调用的堆栈,查到里面每个方法的耗时,找到性能的瓶颈。如果游戏是用团结引擎制作,小游戏宿主可以直联团结引擎,在团结引擎的Profiler面板里面实时查看运行数据。

 

同时小游戏宿主的时间戳精度非常高,我们可以做到毫秒级别以下的函数耗时的观察。

 

小游戏宿主也可以直连团结引擎的Frame Debugger,从而在游戏过程中的任意时刻抓取一帧,看这一帧所有渲染的指令,然后做渲染层面的单步调试。

 

此外C#Debugger也很重要,我们在小游戏宿主当中,特别把C#Debugger打开了,大家可以直接设C#的断点,然后做单点调试。

 

当然我们也支持传统Chrome Inspector的远程调试功能,通过合理的设置,可以把小游戏宿主和Chrome Inspector进行连接。

 

 

这样就可以做JavaScript和WASM级别的代码调试和单步跟踪,以及所有网络请求日志,都可以在里面体现出来。

 

大家通过Unity Connect App扫码测试会产生大量测试数据,这时可以在我们的管理后台查看游戏的运行数据,包括加载的启动性能、运行性能(帧率、CPU等),以及网络性能、网络耗时。

 

 

 

为什么小游戏宿主很重要?

如果能走到这一步,恭喜已经超越了99%的用户。但是还差最后一步,也是最关键的一步,回答了刚才的问题“为什么小游戏宿主对游戏开发者这么重要?”因为可以联系我们!

我们会对游戏做评估,也可以提出各种优化建议,但是更重要的是我们可以帮助开发者们分发小游戏到所有集成了小游戏宿主的应用当中。在这个环节,Unity小游戏宿主是一个中间的支点,我们通过与更多的游戏开发者一起努力,让更多游戏上架到小游戏宿主,从而形成一个游戏库。另外,我们通过与应用开发者一起努力,让小游戏宿主集成到更多应用当中,形成一个流量池。最终就可以把更多的游戏分发到更多的应用渠道中,从而降低变现成本,提高变现效率。

 

要想完成这个目标,除了我们自身要保证Unity小游戏宿主核心功能的强大和领先,还需要在座一起努力。我们期待您的加入,提交更多的游戏,一起打造多元的小游戏生态,打破行业壁垒、流量壁垒,让小游戏无处不在。

 

谢谢大家!

资源下载链接为: https://pan.quark.cn/s/dab15056c6a5 用户画像(User Profile)是大数据领域关键概念,是基于用户多维度信息如行为数据、偏好、习惯等构建的虚拟代表。它是数据分析重要工具,能助企业深度理解用户,实现精准营销、个性化推荐及服务优化。其源码涵盖以下内容:一是数据收集,需大量数据支撑,常借助Flume、Kafka等日志收集系统,实时或批量收集用户浏览记录、购买行为、搜索关键词等数据;二是数据处理与清洗,因数据源杂乱,需用Hadoop、Spark等大数据处理框架预处理,去除噪声数据,统一格式,保障数据质量;三是特征工程,为构建用户画像关键,要挑选有意义特征,像用户年龄、性别、消费频率等,且对特征编码、标准化、归一化;四是用户聚类,用K-means、DBSCAN等算法将用户分组,找出行为模式相似用户群体;五是用户建模,借助决策树、随机森林、神经网络等机器学习模型对用户建模,预测其行为或需求;六是用户画像生成,把分析结果转为可视化用户标签,如“高消费能力”、“活跃用户”等,方便业务人员理解。 其说明文档包含:一是项目背景与目标,阐述构建用户画像原因及期望效果;二是技术选型,说明选用特定大数据处理工具和技术栈的理由;三是数据架构,描述数据来源、存储方式(如HDFS、数据库)及数据流图等;四是实现流程,详述各步骤操作方法和逻辑,含代码解释及关键函数功能;五是模型评估,介绍度量用户画像准确性和有效性方式,像准确率、召回率、F1分数等指标;六是应用场景,列举用户画像在个性化推荐、广告定向、客户服务等实际业务中的应用;七是注意事项,分享开发中遇问题、解决方案及优化建议;八是结果展示,以图表、报表等形式直观呈现用户画像成果,展现用户特征和行为模式。 该压缩包资源对学习实践用户画像技术价值大,既可助人深入理解构建过程,又能通过源码洞察大数据处
构建一个稳定可靠的FPGA最小系统是一个复杂的过程,它涉及到多个硬件组件的设计与协调。在硬件设计中,我们尤其需要注意JTAG下载调试接口的设计,因为它是开发和调试过程中的关键环节。同时,电源管理的设计也十分关键,因为它直接影响到系统整体的稳定性和可靠性。以下是构建FPGA最小系统时应该考虑的一些要点: 参考资源链接:[FPGA最小系统详解:从设计到调试](https://wenku.youkuaiyun.com/doc/4zgox24uug?spm=1055.2569.3001.10343) 1. FPGA主芯片选择:根据项目需求选择合适的FPGA芯片,注意管脚兼容性和设备的工艺选择。设计时要为专用IO管脚预留位置,如时钟和配置管脚。 2. JTAG下载调试接口:设计电路时要确保JTAG接口与FPGA芯片管脚的正确连接。为了保证调试的便利性和可靠性,需要使用高质量的连接线,并确保JTAG接口电路的稳定性。 3. 存储器接口电路:设计高速SDRAM、异步SRAM和FLASH存储器接口电路时,需要考虑信号完整性、电源稳定性和布局布线的合理性,避免信号干扰和噪声。 4. 电源管理设计:电源模块需要提供稳定的电压,并且要考虑电源的去耦和滤波设计。例如,为FPGA的核电源和锁相环(PLL)设计适当的滤波电路,以保证系统运行的稳定性。 5. 时钟电路设计:时钟电路应提供精确的时钟信号,以确保系统的时序要求得到满足。设计时需要考虑时钟分布的对称性和减少时钟信号的干扰。 6. 复位电路设计:复位电路必须能够确保在电源上电或系统异常时,FPGA能够可靠地进入初始状态,并进行正确的初始化。 在整个设计流程中,还需要结合实际的PCB布局和布线设计,确保信号的完整性。在硬件设计完成之后,要通过仿真和实际测试验证电路设计的正确性。《FPGA最小系统详解:从设计到调试》这本书详细介绍了从基本概念到具体电路设计的多个方面,为设计者提供了宝贵的经验和技巧。通过阅读和实践本书内容,可以加深对FPGA最小系统设计的理解,为解决复杂问题打下坚实基础。 参考资源链接:[FPGA最小系统详解:从设计到调试](https://wenku.youkuaiyun.com/doc/4zgox24uug?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值