学习笔记 | Unity | 个人学习路线
文章平均质量分 80
记录笔者学习Unity开发的学习笔记和知识的见解,并同时分享给其他爱好游戏开发的业余爱好者,一起探讨学习和纠正笔记中的错误点。
野奔在山外的猫
Unity游戏开发程序猿(业余 + 应用型开发者)
兴趣于研究一些娱乐想法的实现,以及分享在游戏开发中所遇到的一些难题的相关解决方法。
展开
-
【教程】Unity 官配 JsonUtility 使用指南
Unity JsonUtilty 工具处理类原创 2023-02-05 09:36:23 · 7064 阅读 · 1 评论 -
【教程】使用 LitJson 处理 Json 数据信息
开发平台:Unity编程平台:Visual Studio 2017 以上编程语言:C# 一、认识Json二、Json的应用三、获取Json数据3.1 常规获取方式3.2 高效获取方式3.2.1 认识LitJson3.2.2 JsonMapper原创 2022-03-22 22:26:16 · 1431 阅读 · 0 评论 -
【Unity 笔记】SQLite 本地数据库连接
游戏开发平台:Unity编程平台:Visual Studio一、SQLite字段连接private SqliteConnection connection;命令private SqliteCommand cmd;数据读取private SqliteDataReader dataReader;二、封装方法2.1 连接数据库public void OpenSQLConnection(string dbObject){ try { connect原创 2021-06-19 09:23:12 · 1015 阅读 · 0 评论 -
【Unity 笔记】PlayerPrefs 数据存储
开发平台:Unity 2019版本以上编程平台:Visual Studio 2019编程语言:C# 一、什么是PlayerPrefs?描述:在游戏会话之间存储玩家偏好。 二、存储位置Windows平台:HKCU\Software\[公司名称]\[产品名称]下注册表内Linux平台:~/.config/unity3d/[公司名称]/[产品名称]下注册表内Windows应用商店程序:%userprofile%\AppData\Local\Packages\[产品包 ID]>\Loca原创 2021-06-09 09:32:49 · 2788 阅读 · 4 评论 -
【Unity 笔记】ScriptableObject 数据存储
开发平台:Unity 2019版本以上编程平台:Visual Studio 2017版本以上编程语言:C# 一、什么是ScriptableObject?描述:只用于存储数据Assets的静态函数,无需附加到游戏对象上。例如:角色移动参数、攻击参数、道具参数等 二、ScriptableObject中的成员与方法2.1 静态方法CreateInstance():实例化(创建)一个与类名相同的对象 2.2 讯息OnDestroy():销毁对象OnDisable():禁用对象O原创 2021-06-05 09:28:00 · 1311 阅读 · 4 评论 -
【Unity 笔记】Vuforia Engine AR
一、什么是Vuforia答:由高通推出的针对移动设备扩增实境应用的软件开发工具包(AR SDK)Vuforia中文社区:点我跳转二、下载工具包下载链接:点我转至下载页面或前往 Unity Package Manager(包管理器)下载 Vuforia Engine ARUnity2018版本后 被添加至内置包内三、开发者工具使用开发者工具,需要注册账户,获取license keys许可使用。页面链接:点我跳转四、使用注意事项不同于 EASY AR,使用的识别图原创 2021-05-31 09:17:09 · 2339 阅读 · 0 评论 -
【Unity 笔记】适合小型游戏的UI框架
【Unity】简单基础的UI框架程序语言:C#开发平台:Visual Studio 2019 游戏引擎:Unity版本:2019.4.6f1 【2017版本以上均可】本文目标指导说明 ■ -认识UI ■ -了解什么是UI框架 ■ -搭建一套基础简单的UI框架 什么是UIUI框架简述 UI,全名【用户界面】(User Interface)。简易的UI框架图# @#@#23323NO.1 准备UIEventListener事件监听 Unity自身提供的事件监听在可视原创 2021-05-29 17:06:14 · 2292 阅读 · 6 评论 -
【Unity 笔记】AssetBundle API认识
开发平台:Unity编程平台:Visual Studio 2017以上编程语言:C#参考书籍:UNITY官方案例精讲 返回相对于工程目录的存储路径AssetDatabase.GetAssetPath(Object assetObject)例如 Assets/_Scenes/Main.unity。返回路径下 指定类型的第一对象AssetDatabase.LoadAssetAtPath(string assetPath, Type type)assetPath为相对于工程目录的路原创 2021-05-25 14:56:00 · 756 阅读 · 6 评论 -
【Unity 笔记】The PureMVC Framework
基本思想经典的MVC框架:Model(模型):管理数据View(视图):管理视图Controller(控制器):实现视图与数据之间传递消息PureMVC 框架Facade 管理 View、Controller、Model 三大类Model 管理 Proxy,其中每个Proxy可以负责单个或多个Obj的工作(Obj与数据相关)View 管理 Mediator,其中每个Mediator可以负责单个或多个UI的工作(UI与视图有关)Controller 负责 Command,实现UI原创 2021-05-22 18:00:24 · 244 阅读 · 0 评论 -
【Unity 笔记】有限状态机 FSM
【Unity】 有限状态机 FSM游戏引擎:Unity版本:2019.4.6f1 【2017版本以上均可】编译平台:Visual Studio 2019 一、什么是FSM FSM 全名 [Finite State Machine]。中文名 [有限状态机],又称 [有限状态自动机],简称 [状态机]。1.1 了解Animator组件 Unity为我们提供了Animator组件,便利开发者更加自主的实现更多动画的控制方式。 快捷链接:Unity Animator官方文档介绍2.2 有原创 2021-05-18 09:32:06 · 1386 阅读 · 6 评论 -
【Unity 笔记】XML 数据存储
XMLXML(EXtensible Markup Language) 可拓展标记语言 类似于HTML的标记语言 设计宗旨仅为传输数据,不是显示数据 标签未被预定义 设计具有自我描述性 是W3C的推荐标准XML 例子 如下图示例,是River Studio写给Mr.River的便签<note><to>(发给...)Mr.River</to><from>(从...发出)River Studio</from><原创 2021-05-15 23:22:17 · 352 阅读 · 0 评论 -
【Unity 笔记】全球唯一标识符
开发平台:Unity 2017版本以上编程平台:Visual Studio 2017以上什么是GUIDGUID:一个由字母和数字组合的标识符。用于指示产品的唯一性安装。广泛用于软件等应用程序。例如:"“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 其中x为字母或数字什么是UIDUID:区别用户身份的指定标识符,具有唯一性。赋予UID信息使用Unity开发平台下支持的语言C#,为我们提供了便捷的函数方法。System.Guid.NewGuid():生成唯一码规则原创 2021-05-15 09:28:41 · 1126 阅读 · 0 评论 -
【教程】Unity Old InputSystem 使用参考笔记
参考书籍:Unity5.X 从入门到精通Input Manager(输入管理器)0.1 Input类 成员变量成员变量描述acceleration获取设备当前在三维空间中的线性加速度只读accelerationEventCount得到上一帧的加速度参数数据长度accelerationEvents得到上一帧的加速度数据列表(分配临时变量)只读anyKey是否有按键按下只读anyKeyDown当有任意按键按下的第一帧返回true只读c原创 2021-05-02 10:19:48 · 2897 阅读 · 2 评论 -
【教程】Unity 帧数上限设置
开发平台:Unity 2017版本以上编程平台:Visual Studio 2017以上一、认识FPS (帧数)FPS (Frames Per Second)是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。二、常见帧数参考表帧数描述24Hz极少数旧设备的最低帧数30Hz一般人眼能接受的最低帧数最低限定45Hz60Hz中等流程的帧数推荐120Hz丝滑流畅帧数追求其他说明PC端选择60Hz以上。手机原创 2021-05-01 11:08:14 · 9154 阅读 · 1 评论 -
【Unity笔记】Unity Assetbundle
一、认识Assetsbundle由Unity提供的AssetBundle,最早出现于2017版本。允许您通过Unity的WebRequest类下载资源,并在运行时实例化它们。二、使用Assetsbundle2.1 准备资源工作新建Unity工程项目工程命名:Assetsbundle(其他均可)导入项目将必要的模型以预制件形式存储于资源文件夹内选中对应预制件资源(可多选)Inspector窗口会出现关于预制件资源的可视窗口。在窗口的正下方即为Assetsbundle原创 2021-04-28 09:12:09 · 871 阅读 · 0 评论 -
【Unity笔记】LuaFramework
什么是LuaFramework?答:基于SimpleFramework + tolua # 基础上,重新构造的新框架。框架内自带了LuaBundle模式(将Lua文件打包进Assetbundle) + 重构的资源管理器。两大版本:LuaFramework_NGUI:GitHub下载地址LuaFramework_UGUI:GitHub下载地址注:受限制于Unity在不断的版本更新中,Assetbundle的内部变更与机制更新,Github上作者LuaFramework也需要跟随版本进行填充内容,原创 2021-04-26 08:06:20 · 2927 阅读 · 0 评论 -
【Unity】Lua热更新 笔记(二)
5.7.3 index如下所示,这是一个基本的表。father = { house="四合院"}son = {car="BMW"}print(son.car, son.house) --BMW, nil5.7.3.1 子表读取父表我们需要在father与son之间添加下列表,表示连接表,特别注意.__index为双_。-- t :自己 key:属性father = { house="四合院"}son = {car="BMW"}father.__index = function(原创 2021-04-22 20:07:22 · 823 阅读 · 1 评论 -
【Unity】Lua热更新 笔记 (一)
热更新一、认识更新方式描述适用于原因传统重新下载最新游戏客户端包体PC耗电大、耗时长现在热更新PC/Andriod/ios耗时短,适用于手机端二、什么是热更新答: (1)游戏上线后,在运营过过程中,如果需要更换UI显示,或者修改游戏的逻辑行为。传统的更新模式下,需要重新打包游戏,让玩家重新下载包体,造成用户体验不佳的情况。 (2)热更新允许在不重新下载游戏客户端的情况下,更新游戏内容。三、如何使用更新答:两种更新方式混合使用。四、如何热更新4原创 2021-04-20 19:55:22 · 2241 阅读 · 1 评论 -
【Unity】单例 Singleton
【Unity】单例Singleton游戏引擎:Unity版本:2019.4.6f1 【2017版本以上均可】编译平台:Visual Studio 2019 一、了解单例 单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。二、思路 单例Singleton遵从以下顺序(由1至4):1234构造函数私有化提供静态类自身的只读属性创建对象实原创 2021-03-31 10:20:54 · 776 阅读 · 0 评论 -
【案例总结】Unity 对象池设计思路应用
【Unity3D】游戏对象池前要: 在开发过程中,很多时候会出现针对某一GameObject的频繁创建与销毁这类问题,从性能上认为这种行为是极度损耗的,为避免对性能的不必要损耗,出现[游戏对象池]的优化解决方案。本文将重点讲解[游戏对象池]与相关典型案例进行实战。原理 Unity中GameObject的创建与销毁依赖于CPU与内存,对于频繁创建和销毁GameObject的行为是十分消耗CPU的性能。为避免CPU不必要的性能开支(负荷),出现以内存为主要对象,预先准备相当的GameObject数量原创 2021-03-30 10:48:32 · 953 阅读 · 1 评论