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

过完年了,很多同学开始重新规划自己的职业方向,找更好的机会,准备升职或加薪。今天给那些工作了1~5年的开发者梳理”游戏开发客户端主程”的学习大纲,帮助大家做好面试准备。适合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游戏主程进阶大纲。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/398772.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Spring】IoC容器 控制反转 与 DI依赖注入 XML实现版本 第二期

文章目录 基于 XML 配置方式组件管理前置 准备项目一、 组件(Bean)信息声明配置(IoC):1.1 基于无参构造1.2 基于静态 工厂方法实例化1.3 基于非静态 工厂方法实例化 二、 组件(Bean)依赖注入配置…

Docker vs VM

关于应用程序的托管和开发,市场中的技术和产品琳琅满目。对比 Docker 和 VM,如何取舍?这主要由自身团队的因素决定,在选择 Docker 的情况下,你需要保证程序可在容器和虚拟机中运行。另外,成本和易用性也是重…

前端跨域问题解决,本地代理到域名

1.学习黑马uniapp时遇见的问题: 报跨域错误 但是已经设置了代理,仍然无效。 2.解决(多次遇见此问题,特此记录): 最后发现是这里少写了/api,遇见以api开头的接口,则把这些接口转发到target所指向…

32单片机基础:GPIO输出

目录 简介: GPIO输出的八种模式 STM32的GPIO工作方式 GPIO支持4种输入模式: GPIO支持4种输出模式: 浮空输入模式 上拉输入模式 下拉输入模式 模拟输入模式: 开漏输出模式:(PMOS无效,就…

详细分析Python中的Pyautogui库(附Demo)

目录 前言1. 基本知识2. 常用方法2.1 通用方法2.2 鼠标操作2.3 消息窗口2.4 截图 前言 该博客主要以入门了解其函数为主,灵活运用,后续会出一些实战结合类! 1. 基本知识 PyAutoGUI 是 Python 的一个库,用于实现自动化的图形用户…

信号系统之连续信号处理

1 Delta 函数 连续信号可以分解为缩放和移位的增量函数,就像处理离散信号一样。不同之处在于,连续 delta 函数比其离散函数复杂得多,在数学上也抽象得多。我们不是用它是什么来定义连续 delta 函数,而是用它所具有的特征来定义它…

【眼科大模型】Ophtha-LLaMA2:视觉模型提取图像特征 + LLM基于特征生成眼底病变的诊断报告

Ophtha-LLaMA2:视觉模型提取图像特征 LLM基于特征生成眼底病变的诊断报告 提出背景设计思路选择大模型基座生成诊断报告 论文:https://arxiv.org/pdf/2312.04906.pdf 提出背景 目标是开发一个全面的眼科模型,可以根据不同仪器的检查报告准确…

GitHub | 在 GitHub 上在线展示 Vue 项目

简洁版&#xff1a;上传所有代码 << 构建项目并上传 dist 目录 << 设置仓库 << 访问 Step1&#xff1a;在 GitHub 上新建仓库&#xff0c;并将 Vue 项目的代码 push 到该仓库中。坑点在于&#xff0c;如果你是从 GitHub 上 clone 的别人的项目&#xff0c;那…

vulnhub练习 DC-1复现及分析

一、搭建环境 1.工具 靶机&#xff1a;DC-1 192.168.200.17 攻击机&#xff1a;kali 192.168.200.13 2.注意 攻击机和靶机的网络连接方式要相同&#xff0c;另外DC-1的网络连接方式我这里采用NAT模式&#xff0c;是与kali的网络连接模式相同的&#xff08;当然亦可以选用桥…

国产chat gpt推荐

下述网站响应非常快 会持续更新的! 付费&#xff1a; 小名言 免费&#xff1a; AIchatOS 百度的文心一言

unity学习(32)——跳转到角色选择界面(父子类问题)

新问题 应该是两个脚本之间缺少继承关系 its children 解决起来很简单&#xff0c;把ResceneScript也绑到canvas上就可以了 。 此时&#xff0c;在账号密码正确的情况下&#xff0c;是可以完成场景切换。 对应的代码如下&#xff1a; TMP_Text d GameObject.FindWithTag(&…

板块一 Servlet编程:第五节 Cookie对象全解 来自【汤米尼克的JAVAEE全套教程专栏】

板块一 Servlet编程&#xff1a;第五节 Cookie对象全解 一、什么是CookieCookie的源码 二、Cookie的具体操作&#xff08;1&#xff09;创建Cookie&#xff08;2&#xff09;获取Cookie&#xff08;3&#xff09;设置Cookie的到期时间&#xff08;4&#xff09;设置Cookie的路径…

<网络安全>《42 网络攻防专业课<第八课 - SQL注入漏洞攻击与防范>》

1 SQL注入漏洞利用及防范 1 SQL注入的地位 2 SQL注入的危害及本质 这些危害包括但不局限于&#xff1a; 数据库信息泄漏&#xff1a;数据库中存放的用户的隐私信息的泄露。网页篡改&#xff1a;通过操作数据库对特定网页进行篡改。网站被挂马&#xff0c;传播恶意软件&#…

writing classes ... [xxx of xxxx] 执行时间太长

一、问题展示 二、解决方法 打开设置【File - Settings…】修改堆大小

OpenGL学习——16.多光源

前情提要&#xff1a;本文代码源自Github上的学习文档“LearnOpenGL”&#xff0c;我仅在源码的基础上加上中文注释。本文章不以该学习文档做任何商业盈利活动&#xff0c;一切著作权归原作者所有&#xff0c;本文仅供学习交流&#xff0c;如有侵权&#xff0c;请联系我删除。L…

MySQL 窗口函数温故知新

本文用于复习数据库窗口函数&#xff0c;希望能够温故知新&#xff0c;也希望读到这篇文章的有所收获。 本文以&#xff1a;MySQL为例 参考文档&#xff1a; https://www.begtut.com/mysql/mysql-window-functions.html 使用的样例数据&#xff1a;https://www.begtut.com/m…

Linux|centos7| rust语言的编译开发环境快速部署

前言&#xff1a; rust语言是干什么的&#xff0c;怎么用这些我就不在这里废话了&#xff0c;免得浪费大家的时间&#xff0c;我目前只知道rust音译为铁锈&#xff0c;它的可执行主程序叫cargo&#xff0c;音译为货物 这个语言和python&#xff0c;Java&#xff0c;go等等语言…

每日学习总结20240220

每日总结 20240220 岁月极美&#xff0c;在于它必然的流逝&#xff1b;春花&#xff0c;秋月&#xff0c;夏日&#xff0c;冬雪。 ——三毛 1.svn操作 通过svn创建一个仓库 请写出一套配置 配置文件包括svnserve.conf passwd authz 三个文件 添加用户xiaoming 密码为lx,使得能…

LabVIEW读取excel日期

LabVIEW读取excel日期 | Excel数据表格中有日期列和时间列&#xff0c;如下表所示&#xff1a; 通过LabVIEW直接读取Excel表格数据&#xff0c;读出的日期列和时间列数据与原始表格不一致&#xff0c;直接读出来的数据如下表所示&#xff1a; 日期、时间列数据异常 问题产生原因…

三次握手,四次挥手的大白话版本

三握四挥 首先我们要知道握手和挥手是在做什么&#xff0c;握手是为了让客户端和服务端建立连接&#xff0c;挥手是为了让客户端和服务端断开连接&#xff0c;握手时客户端主动发起请求&#xff0c;挥手双方都能发起请求。 三次握手 有必要解释一下&#xff0c;SYN的意思是同…