最新Unity游戏主程进阶学习大纲(2个月)

这篇具有很好参考价值的文章主要介绍了最新Unity游戏主程进阶学习大纲(2个月)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

过完年了,很多同学开始重新规划自己的职业方向,找更好的机会,准备升职或加薪。今天给那些工作了1~5年的开发者梳理”游戏开发客户端主程”的学习大纲,帮助大家做好面试准备。适合Unity客户端开发者。进阶主程其实就是从固定的几个方面搭建好完整的知识体系做好对应的回答和准备,学习一些固定的处理相应问题的设计模式与方法。最下面放了视频教程及其源码

最新Unity游戏主程进阶学习大纲(2个月),unity,游戏,学习

主程进阶学习大纲

1: 框架设计板块

a: 基于框架组织项目开发的原则思想,项目代码开发方式,项目协同方式等;

b: 框架的资源管理,资源自动化打包,资源更新,资源增量下载,资源断点续传等技术原理与相关开源框架(YooAssets等);

c: 项目渲染管线的选取与配置: 内置渲染管线,URP渲染管线,HDRP渲染管线等,它们的优缺点,如何给项目选择合适的渲染管线;

d: 游戏项目配置资源的加载与管理: Excel表格方案, JSON方案,XML方案,内置asset数据库文件方案等;

e: 游戏开发中常用的管理模块:日志模块,事件订阅与发布模块, 声音管理模块,UI管理模块,Timer模块,TCP/UDP/HTTP网络模块,序列化与反序列化模块,节点池管理模块,状态机逻辑控制模块,行为树逻辑控制模块;

f: 项目打包与发布: 一键打包,打空包+资源更新。

g: 资源包体优化等相关工具与脚本;

……

2: 具体项目中常用工具开发与编辑器扩展(可选,根据自己的需求准备)

a: RPG 2D/3D 斜45度菱形,六边形等地图编辑器与寻路导航解决方案;

b: 基于Recastnavigation的3D寻路导航地图编辑与解决方案;

c: 基于大世界地图的编辑方案,如WorldStreamer插件的原理与使用;

d: 游戏关卡编辑器工具的制作: 扩展编辑器支持关卡类游戏的编辑与数据导出,如《跑酷游戏》的关卡编辑器;

e: 路径编辑与数据导出相关工具, 制作塔防类游戏的时候,编辑好路径,最后把路径数据导出来,Runtime时根据路径点导航;

f: 状态同步,帧同步,断线重连等网路游戏的常见处理;

对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。

3:热更新解决方案(Lua,ILRuntime, huatuo/HybridCLR)

a: 基于xLua/Ulua打造纯Lua的业务逻辑开发框架

b: 编译Lua脚本为Lua字节码,并打包到ab包中;

c: Lua脚本的资源更新与代码加载;

d: C#的Lua导出,Lua与C#互调与性能优化;

e: 基于ILRuntime打造热更工程C#的业务逻辑开发框架

f: 热更.net dll的更新与加载;

g: natvie C#与热更工程之间的互调与性能优化;

h: 部署huatuo/HybridCLR的工具链,基于ADF机制来分解项目配置热更;

i: 资源的增量更新与下载;

……

4:常用的设计模式与代码自动生成

a: 单例模式的使用场景和方式;

b: 观察者模式的使用场景和方式;

c: 基于Attribute注解的属性模式;

d: 自动生成一些工具性质的代码;

e: 游戏代码组织中的逻辑流程与具体功能代码分离;

g: 代码组织中的机制与策略分离;

……

5: 渲染与Shader开发

a: 渲染管线的流程与基本处理,比如,顶点,片元, 后期处理等;

b: 常见的一些Shader效果的开发技巧:噪声纹理,波纹,模糊,等;

c: 常见的光照模型计算,阴影计算;

f: ComputeShader的并发运算与处理;

g: 游戏开发中的一些有趣的Shader编写: 捏脸,Mesh切割,涂鸦等;

h: Shader LOD的切换与分层处理;

……

6: 性能优化

a: 各种常见性能分析工具使用: stats, Profiler, FrameDebug等;

b: 性能定位分析与测试方法如:隔离法等;

c: 常见的一些优化手段与技巧总结,包体优化,内存优化,显存优化等;

d: drawcall占用分析与优化;

e: set passcall占用分析与优化;

f: 多线程or JobSystem的优化;

g: 数据IO的分析与优化: 文件IO,网络IO等;

……

7: DOTS框架设计与开发

a:DOTS的核心机制分析与底层原理: Component, System, JobSystem, Burst等;

b: DOTS创作逻辑与Entity Baker;

c: 基于DOTS+传统框架如何来组织游戏项目与开发,项目System与SystemGroup的结构组织;

d: DOTS如何支持角色的3D动画与优化;

e: 基于DOTS如何实现常用的算法与专题:物理引擎,RVO,流程寻路等;

……

Unity视频教程及源码

最后

上面列举出来了Unity游戏客户端主程进阶所需要掌握的主要方向,大家可以根据这些来进行准备和整理。我们的VIP课程也是基于这个大纲思路来出针对性的课程的配合项目,把这些结合综合起来讲解。明天我们将会放出Cocos游戏主程进阶大纲。文章来源地址https://www.toymoban.com/news/detail-834340.html

到了这里,关于最新Unity游戏主程进阶学习大纲(2个月)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity进阶提升-2D游戏跳跃手感优化(跳起下落)

    在进行2D游戏开发时,跳跃是不可缺少的一个重要功能。但是我们在Unity开发时Unity本身的物理引擎并不能提供很好的的手感,下落的时候轻飘飘的,这操作起来显然非常不舒服。所以,我们需要自己对跳跃进行优化,以此来获得更好的手感。我们不难发现,在绝大多数2D游戏

    2024年02月08日
    浏览(33)
  • Unity 之 抖音小游戏本地数据最新存储方法分享

    抖音小游戏是一种基于抖音平台开发的小型游戏,与传统的 APP 不同,抖音小游戏运行在抖音客户端内部,可以通过抖音的分享、推荐等功能进行传播。在抖音小游戏开发过程中,文件存储系统是一个非常重要的组成部分,本文将详细介绍抖音小游戏文件存储系统的实现原理

    2024年02月11日
    浏览(40)
  • unity进阶学习笔记:消息框架

    1 使用消息框架的目的 对于小型游戏,可能不需要任何框架,而是让各个游戏脚本直接相互通信。如要实现玩家受到攻击血量减少,通过玩家控制类向血条脚本发送消息减少血量。但是这样直接通信会导致各脚本通信关系记为复杂,并且每一个脚本都和多个脚本有联系,导致

    2024年02月06日
    浏览(29)
  • Unity进阶--声音管理器学习笔记

    声音管理器 放进总管理器里 建个Resources文件夹把声音放进去就可以使用了。

    2024年02月16日
    浏览(25)
  • Unity进阶-ui框架学习笔记

    笔记来源课程:https://study.163.com/course/courseMain.htm?courseId=1212756805_trace_c_p_k2_=8c8d7393c43b400d89ae94ab037586fc 最上面的管理层(canvas) 调整下运行顺序,让他快于controller panel的控制层 panel下面的组件层 使用

    2024年02月16日
    浏览(33)
  • unity进阶学习笔记:photonServer测试

    photonServer是由photon发布的一个网络框架,其封装了UDP和TCP通信机制让用户可以直接调用API实现网络游戏通信 1 photonServer下载安装 进入Photon官网的SDK选项,选择下载Server。目前Server版本已经更新到v5,这里我为了和教程保持一致下载的是老版本v4.下载完后按照安装指引安装即可

    2024年02月04日
    浏览(28)
  • unity学习笔记----游戏练习05

    一、阳光的收集和搜集动画开发 1.收集阳光的思路:当鼠标点击到阳光的时候,就可以进行收集了。可以通过为添加一个碰撞器来检测Circle Collider 2D 编写脚本: 在SunManager中写一个增加阳光的方法     //增加阳光     public void AddSubSun(int Point)     {         sunPoint += Point;  

    2024年02月20日
    浏览(25)
  • unity学习笔记----游戏练习06

    一、豌豆射手的子弹控制 创建脚本单独控制子弹的运动 用transform来控制移动     void Update()     {         transform.Translate(Vector3.right * speed * Time.deltaTime);     } 创建一个控制子弹速度的方法,方便速度的控制 private void SetSpeed(float speet)     {         this.speed = speet;     } 回到

    2024年01月25日
    浏览(29)
  • 【Unity】Unity开发学习和项目实践02——创建第一个Unity项目和游戏物体

    创建第1个Unity项目 打开Unity hub,点击新项目 以下有四处地方需要注意选择: 1.Unity编辑器版本 2.项目模板 3.项目名称 4.项目保存位置 点击创建项目 ok,进入编辑器了 把编辑器界面布局稍微改一下,改成2by3 点击Edit 点击 project settings,这是对我们所创建工程的设置 此外还有对

    2024年01月25日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包