Questionxxx:
文档链接xxx
唠嗑去找游戏原声带, 哈特诺村-塞尔达传说 memory of summer-女神异闻录5 懒得找直接去星露谷找原声带,基本上小镇bgm都适合唠嗑 很多游戏原声带就是为了铺垫平和小镇气氛的
Unity做游戏为什么当物体销毁后其下的各种引用不用手动释放内存而委托事件必须取消订阅以防内存泄露? - 知乎,
游戏开发博主
阿严Dev:Blender,[Unity] 平台游戏控制器教程,[Unity] UI 工具包 教程合集,【Unity教程】如何从头开始制作一个横版卷轴射击游戏,
Voidmatrix:游戏开发理论,C++游戏开发
Silverjay银鸟工作室:【银鸟工作室课程】SC-101 Unity游戏开发初步(完结),【银鸟工作室课程】SC-102 Unity游戏开发 I:程序逻辑 (完结),【银鸟工作室课程】SC-103 Unity游戏开发 II ,【银鸟工作室课程】SC-999 游戏设计圆桌,
游戏开发加油站:20个Unity视频教程,普遍不长,Unity游戏开发:Flappy Bird,和一些其他小功能
IGBeginner0116:【如何将原神的角色导入Unity】,【Unity游戏开发入门01】,【KCC】利用Unity免费插件Kinematic Character Controller制作角色控制器,【塑料英语双语伴读】《实时渲染第四版》,【为游戏制作户外场景】保姆级Unity Terrain教程,【Unity项目模版RPG Builder教程】,Unity面向白嫖开,
鬼鬼鬼ii:Unity ARPG开发教程,Unity 快速实现FSM有限状态机教程。
唤嗒:一些游戏设计演讲GDC
BeaverJoe:【系列合集】2D游戏许多基础功能合集,【合集】Shader Graph,【系列】仿炉石传说收藏/画廊系统,SL/保存读取数据的四种方法【系列】,地图关卡的选择界面【系列】,Unity相关炉石传说功能的实现【合集】,角色升级属性成长【系列】,Unity Tilemap System,Unity视频【含中文字幕】(理论讲解)
打工人小棋:大量理论讲解,【Unity开发植物大战僵尸】,
关于游戏的内些事儿:游戏设计相关
麦扣长官:C#四部曲,Unity课,比较老
游戏谭:合集·游戏源码赏析,合集·游戏数值开发,合集·shader 基础教程,合集·【完结】【104】Unity 编程基础,【203】2D 游戏开发教程-超级玛丽,【游戏源码赏析】高性能UI循环列表,如何高效率开发游戏UI界面 !,
丑萌气质狗:【Unity零基础入门教程 】前十个游戏都是垃圾 - 双人坦克大战(1/9),以及一些C#理论
Hana_Official:各种2D游戏开发实践,从零开始的文字游戏开发攻略,一些rougelike功能实践
皮皮关做游戏:【游戏制作教程】30分钟制作一款游戏 (1)【Unity】,一些游戏开发游戏设计相关讲解
GAMES-Webinar:Unity数学理论,图形学,各种理论课程
【Unity向】
泛型单例模式,不要滥用,通过依赖注入解耦合
材质四者的关系
Mesh (几何形状)
↓
Material (使用什么方式渲染)
↓
Shader (如何渲染的算法)
↓
Texture (渲染时使用的图像数据)
关照,烘焙模式,影响
Reflection Probe
Lighting Probe Group
简述Prefab作用
自动寻路
动态加载资源
引擎中有哪些坐标空间
相机中的Clipping Plane、Near、Far数值有什么意义
四元数的作用
OnEnbale、Awake、Start运行时的先后顺序
相机的移动在Update函数中好吗?物理更新一般是在Update中吗?
简述垃圾回收机制与如何避免
场景中Static对象有什么作用
Unity实现移动有哪些方法
协程是如何实现的
ScriptableObject如何存储在硬盘中
BFS查找Hierarchy中游戏对象,查找中途停止搜索后如何获取到停止搜索的这个目录
用过哪些Unity插件
看过哪些Unity向的作品、网站、博主
FixedUpdate的执行逻辑,它与Update的关系。
动画控制器,FSM,行为树,蓝图等战斗常用开发组件;
对图形学有了解吗?
行为树有用过吗
有的FPS游戏中为什么看不到自己的脚,其实是做了两个模型,本地只有手,不显示自己的人物模型,只显示其他人的人物模型。
帧同步,状态同步,预测回滚
动作游戏战斗框架的设计
战斗、镜头、音效、特效等表演相关的实现
UnityWebRequest网络通讯
AB包的加载与AB包内资源的加载,AB包卸载资源会怎样?未卸载的资源会怎样?
xlua与c#交互,为什么生成了warp函数,lua就可以调用对应的warp函数?
字典实现原理,如何处理哈希碰撞,如何找到哈希碰撞的后key对应的值,entry内存储了什么?
List会发生装箱拆箱吗,为什么,是实现了不同类型的数组吗?是在什么时候确认类型的?
unity的navmesh的底层算法是什么,是如何优化的,优化的内容有什么?
打ab包时,prefab带着c#脚本,如果脚本逻辑被修改了,会发生什么?
资源垃圾回收和代码垃圾回收有什么区别,资源什么时候垃圾回收?
- 委托与事件的区别
- 考察对C#核心特性的理解,需举例说明应用场景(如UI交互、游戏事件系统)
- 值类型与引用类型的区别
- 需结合内存分配(栈/堆)、装箱拆箱、性能优化等角度回答
- 垃圾回收机制(GC)优化策略
- 高频问题!需说明对象池、避免频繁内存分配、
struct
使用等技巧
- 高频问题!需说明对象池、避免频繁内存分配、
- LINQ的使用场景与性能隐患
- 需强调在性能敏感代码中避免使用,举例替代方案
- 生命周期函数执行顺序
- 需完整描述从
Awake
到OnDestroy
的流程,特别关注Start
和OnEnable
的区别
- 需完整描述从
- 协程(Coroutine)的实现原理
- 需解释迭代器(IEnumerator)机制,结合
yield return
使用场景(如异步加载)
- 需解释迭代器(IEnumerator)机制,结合
- 物理系统优化方案
- 高频问题!需提到调整Fixed Timestep、简化碰撞体、分层碰撞矩阵等
- AssetBundle管理与热更新流程
- 需说明打包策略、依赖关系处理、版本控制及加载/卸载注意事项
- 描述你优化过的性能瓶颈案例
- 需用STAR法则:场景描述(如UI卡顿)、分析方法(Profiler截图)、解决方案(合批/图集)、量化结果(FPS提升值)
- 如何处理多平台适配问题?
- 需举例分辨率适配、输入设备差异、Shader兼容性处理等
- 遇到过哪些内存泄漏问题?如何解决?
- 高频陷阱题!需结合事件未注销、静态引用、资源未释放等案例
- 实现过最复杂的游戏机制是什么?
- 准备一段技术亮点(如状态机AI、物理交互系统),突出架构设计能力
- 手写对象池(Object Pool)实现
- 需展示队列管理、预加载、回收逻辑代码,强调性能优化意识
- 设计一个技能系统
- 考察架构能力,可结合组合模式、状态模式、ScriptableObject数据驱动
- 反转链表/二叉树遍历等基础算法
- LeetCode简单题级别,需熟练白板编码
- 射线检测(Raycast)的底层原理
- 需说明物理引擎查询机制,优化手段(如LayerMask过滤、SphereCast替代)
- 如何与美术/策划沟通技术限制?
- 需举例妥协方案(如LOD分级替代高模),展现技术推动力
- 遇到需求变更如何处理?
- 强调敏捷开发思维,展示版本控制(Git Flow)和模块化设计经验
- 你如何保持技术更新?
- 可提及关注Unity官方博客、GDC演讲、GitHub开源项目研究
- 代码Review中发现同事错误怎么办?
- 体现沟通技巧:先肯定对方工作,提供数据/方案佐证,避免正面冲突
Instantiate
实例化卡顿如何优化?- 需答对象池+预加载,而非简单异步加载
- UGUI合批失效的常见原因
- 正确回答:层级重叠、材质不同、Mask组件等
- 为什么
foreach
循环在某些场景被禁用?- 需说明GC问题,IL2CPP下可能崩溃的隐患
- 如果卡牌技能导致游戏卡顿,如何快速定位问题?
- 如何实现敌人寻路AI在百人同屏时的效率?
- 卡牌特效过多导致DrawCall飙升,如何优化?
- 攻击判定的实现方式都有哪些。
- 在Unity引擎下开发2D手游时,如何优化游戏性能以实现同屏500甚至上千个战斗单位同时参战
- 碰撞检测,触发检测,鼠标检测,刚体,相机
- action和UnityAction
- UGUI渲染优化,降低Drawcall,合批,OverDraw
- tcp, 3d材质, 如何固定骰子点数,可以预先做好动画,直接播放动画,调整位置即可 shader 点击3d物体出现气泡弹窗信息
- protobuf
- navigation
- 合批原理,Drawcall原理。Unity3D性能优化《UGUI的Drawcall合批优化》_哔哩哔哩_bilibili。
Unity做游戏为什么当物体销毁后其下的各种引用不用手动释放内存而委托事件必须取消订阅以防内存泄露? - 知乎,
Camera为什么要写在LateUpdate
【程序C#向】
SOLID原则
Heap与Stack,值类型与引用类型,拆箱和装箱
数组参数是什么
引用参数ref和输出参数out区别
List与数组区别
ArrayList与List区别
String类型是引用类型吗
String与StringBuilder区别
结构体和类的区别
字典的实现原理,哈希函数是什么,如何处理哈希冲突
HashTable和字典的区别
Const和readonly的区别
接口是否是引用类型
接口和抽象类的区别
设计模式
饿汉和懒汉单例模式
C#委托与事件
射线检测的基本原理
Unity协程和C#线程区别
协程函数的执行顺序与缺点
如何获取协程中的分别两个Yield Return
什么是可空变量?的用法
序列化是什么
同步和异步
对象池
Sealed关键字在声明时的作用(还有比如protected、Internal等)
反射实现原理
Using除了名称空间之外,还有在哪里使用
Debug.Log为什么可以后面无限添加参数
C#中有哪些排序方法
算法(冒泡、二分、宽度、深度、洗牌、泛洪、A星、自动寻路等)
如何优化内存
栈的总体容量大小是如何计算的
C#如何和java/oc/c++交互、GC问题、手写单例、手写快排、overload和override、常用的数据类型、有个问的深的还问了设计模式都有哪些要怎么分类。
unity方面有:习惯用ugui还是ngui、image和rawImage有啥区别、canvas要怎么适配屏幕、camera有几种渲染方式、碰撞有啥要求、collider和trigger有啥区别、monoBehavior的生命周期、如何实现热更新、为啥unity能跨平台、如何实现往一个layout里塞上千个prefab,还有个专注模型的公司,问了gameobject旋转移动的实现原理、线性代数、shader和计算机图形学。
函数中,参数传递过程,计算机是如何区分值类型还是引用类型的,不管是值类型还是引用类型,在内存中不都是01构成的吗?假如传进去的是值类型的1,在内存里传入的不就是二进制的1吗?然后如果传入的是引用类型,传入的地址不也是二进制吗?
答案在于 编译器和运行时(Runtime)的类型系统 ,它会在编译阶段和运行时记录变量的类型信息,确保数据被正确解释。
什么是框架(Framework)?
框架(Framework)是 一套预先设计好的代码结构和规则 ,它提供了一种 标准化的开发方式 ,帮助开发者更高效、更规范地构建软件或游戏。
你可以把框架想象成 “盖房子的脚手架” :
- 脚手架提供了支撑结构,工人(开发者)按照这个结构搭建,而不需要从零开始设计如何固定每一块砖。
- 框架也是一样,它预先定义了代码的组织方式、通信规则、常用功能模块,开发者只需要在它的基础上填充具体逻辑,而不必重复造轮子。