6.7k 6 分钟

# AssetBundle 创建与加载 AssetBundle 只能用代码创建和加载 在创建前需要先为资源分配资源包,如图: # AssetBundle 创建 区分平台(Windows、OSX、Linux 等) 区分创建方式(是否压缩、压缩方式等) lua 文件无法被打包,本文使用的方法是:生成 .lua 文件对应的 .txt 文件,将 .txt 文件打包,然后删除生成的 .txt 文件 代码需要放到 Editor 文件夹中 using System.Collections.Generic;using System.IO;using System.Text;using...
10k 9 分钟

# 群落算法 实现鱼群、鸟群、蜜蜂等群落的模拟。 群落应符合以下规则: 避免与邻近个体发生碰撞 避免与障碍物发生碰撞 趋向与邻近的个体采用相同的速度和方向 向邻近个体的平均位置靠近 # 准备 个体(Boid):准备好模型并添加基础组件 吸引子(Attractor):空物体,用于挂载吸引子脚本,它是一个群落的中心 生成器(Spawner):空物体,用于挂载生成器脚本 障碍物(Obstacle):添加有碰撞器的障碍物,用于测试 # 代码 # 吸引子(Attractor) Attractor 是所有 Boid 聚集的对象。没有它,Boid 会飞出屏幕。 让它沿着 Sin...
8k 7 分钟

# 渲染管线 渲染管线(Rendering Pipeline)是计算机图形学中用于将三维场景转化为二维图像的一系列处理步骤。它是一个由多个阶段组成的流水线,每个阶段都负责对图形数据进行特定的操作和处理。 # 概念流水线 从概念上可以分为 3 个阶段:应用阶段、几何阶段、光栅化阶段 应用阶段 在 CPU 中进行。开发者拥有这个阶段的绝对控制权。这一阶段主要有三个任务:场景(模型、相机、特效等)、设置渲染状态(shader、材质贴图、纹理)、遮挡剔除。这一阶段的输出结果是渲染所需的几何信息,即渲染图元。 几何阶段 通常在 GPU...
1.9k 2 分钟

# 加载场景管理器 用于处理加载场景的工具类。 # 代码 异步加载过渡场景 异步加载目标场景,提供加载进度 使用协程等待异步加载 使用单例模式确保只有一个实例 代码如下: using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;namespace Common{ /// <summary> /// 加载场景管理器 /// </summary> public class...
12k 11 分钟

# Sqlite 助手 这篇文章介绍了如何在 Unity 中使用 Sqlite Sqlite 助手是对 Sqlite 数据库语言的封装,使用者可以绕过数据库语言,用更简单的方法操作数据库 路径问题: 数据库文件(.db)应该放到 StreamingAssets 文件夹中 向 Sqlite 助手提供 StreamingAssets 中的路径,Sqlite 助手利用路径助手处理路径 # 代码 using Mono.Data.Sqlite;using System;using System.Text;using UnityEngine;namespace Common{...
4.6k 4 分钟

# 路径助手 分平台处理 StreamingAssets 路径 Application.streamingAssetsPath 会根据不同的平台返回对应的 StreamingAssets 目录,这是最常用的方法,也可以使用 Unity 宏标签手动分平台,在下面的代码中会做出演示。 只有 PC 端的 StreamingAssets 文件夹是可读写的,其他平台都是只读的(.txt 文件可以直接读,其他类型的文件需要进一步操作)。 移动端(Android、iOS 等):想要读写这些文件,需要将 StreamingAssets 文件夹中的内容拷贝到持久化路径...
4.9k 4 分钟

# XML XML 指的是可扩展标记语言(eXtensible Markup Language) XML 被设计用来传输和存储数据,其焦点是数据的内容。HTML 则用来表现数据,其焦点是数据的外观。 XML 在 Web 中起到的作用接近于 HTML。XML 是各种应用程序之间进行数据传输的最常用的工具。 XML 数据能够存储在独立的.xml 文件中。 XML 是独立于软件和硬件的信息传输工具。 # XML 的用途 XML 规定了文本的编辑格式,统一格式可以简化数据共享、简化数据传输、简化平台变更 XML 可以分离数据和其它逻辑(例:更改某个数值时,不需要更改源码,只需要更改 XML...
1.1k 1 分钟

# YAML YAML 是专门用来写配置文件的语言(它可以是 "YAML Ain't a Markup Language" 亦或是 "Yet Another Markup Language") YAML 数据能够存储在独立的.yml 文件中。 # YAML 语法 # 基本语法 大小写敏感 使用缩进表示层级关系 缩进不允许使用 tab,只允许空格 缩进的空格数不重要,只要相同层级的元素左对齐即可 #表示注释 # 支持的数据类型 对象:键值对的集合,又称为映射 / 哈希 /...
668 1 分钟

# JSON JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式,它比 XML 更小、更快、更易解析 JSON 独立于语言:JSON 使用 Javascript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。目前非常多的动态(PHP,JSP,.NET)编程语言都支持 JSON JSON 以特定的格式记录某些变量的值,可以用来给变量赋值或记录变量值 # JSON 与 JavaScript JSON 文本格式在语法上与创建...
1.4k 1 分钟

# MVC 模式 Model-View-Controller(模型 - 视图 - 控制器)模式用于应用程序的分层开发。 Model(模型):模型代表一个存取数据的对象,在数据变化时更新控制器。 View(视图):视图代表模型包含的数据的可视化。 Controller(控制器):控制器作用于模型和视图上,使视图与模型分离开。它控制数据流向模型对象,并在数据变化时更新视图。 # 类图 # 代码 # 模型 namespace MVCPattern{ /// <summary> /// 模型 /// </summary> public...