05 2023 档案
Unity3D高级编程主程手记 学习笔记三:数据表与程序
摘要:什么是数据表?有什么用? 数据表相当于一个只读的外部数据库,用来存储着游戏内的各种数据项。数据表是连接了美术、设计策划和程序的桥梁。艺术家用它来配置效果,设计师用它来调整游戏内数值平衡,程序员用它来判断逻辑,所以数据表的意义十分重大。 数据在游戏中存储有几种方式,最初的就是代码数据,所有数据都使用代
Unity3D高级编程主程手记 学习笔记二:C#技术要点
摘要:1.Untiy3D中C#的底层原理 Unity底层在运行C#程序时有两种机制:一种是Mono,另一种是IL2CPP。Mono存在的目的是为了跨平台,因为最初C#只支持Windows。而IL可以看成是一种汇编语言且完全基于堆栈,必须运行在虚拟机上。也就是说C#会被编译器编译成IL,当需要他们时就会被实
Unity 热更新学习笔记四:xLua插件 Part1-基础调用
摘要:各平台如何热更新? Android,PC(C#) 将执行代码预编译为AssemblyDLL 将代码作为TextAsset打包进AssetBundle 运行时调用AssemblyDLL代码 更新相应的AssetBundle即可实现热更新 IOS(不允许使用C#的部分反射功能并不支持JIT) Unity
Unity 热更新学习笔记三:Lua语言
摘要:Lua语言有什么用? 在前两节笔记中,我们学习到了AssetBundle,这是对资源的热更新。但游戏逻辑也是会有Bug需要修改,或者添加新的需求。这时就需要对代码进行热更新。怎么办?我们可以使用Lua或者ILRuntime对代码进行热更新。这里先学习Lua,因为Lua技术比较老使用广泛,绝大多数公司
Unity 热更新学习笔记二:异步加载
摘要:在学习异步加载前应该学习一下Untiy中如何进行性能分析 为什么热更新要学习性能分析? 在热更新的过程其实也就是一种资源加载的过程,而涉及到资源加载就不得不提性能分析。因为资源的加载通常是异步加载的,如果把资源都统合在一起加载游戏界面就会卡住,这是我们不希望发生的事情。 Untiy中的性能分析工具有
Unity3D高级编程主程手记 学习笔记一:软件架构
摘要:架构的重要性不言而喻,对于一个项目来说如果在开发初期就能确定好所使用的引擎,API以及各种系统之间的层次关系,那对于后续的开发一定会是事半功倍的,我想作者将软件架构放在第一章一定是想让Untiy程序员尤其是主程,一定要认真的对待架构这件事。 优秀的架构师不仅需要对每个子系统的决策方向进行深思熟虑,还
Unity 热更新学习笔记一:AssetBundle及其导出载入
摘要:为什么学习热更新? 在现代网游中,游戏体量太大,在每次更新的时候如果都要重新将游戏资源进行下载是极其消耗宽带资源与时间的,所以要学习热更新技术,使得每次游戏更新时只需下载热更新资源从而进行游戏的更新。 什么是AssetBundle? 简称为AB包,这是独立于游戏主包存在的资源存储文件,在使用内部资源