7.7k 7 分钟

# 前言 主要来源于官方英文文档:Timeline|1.8.2 借助翻译软件,一边看一边整理和翻译。 注 1:由于在过程中...Unity 官方文档竟然突然更新到了 1.8.3,而 1.8.3 文档完全跟 1.8.2 排版大变了模样,所以可能会有些不对劲的 注 2:不是全按照官方文档来的,而是记录的个人认为的重点 # 概览 使用 Unity Timeline 创建的每个过场动画、电影或游戏序列都包含一个 TimelineAssets ,将 TimelineAssets 与 PlayableDirector 组件相关联会创建一个时间轴实例,并允许指定场景中的哪些对象由这个...
25k 22 分钟

# 前言 例行总结一下时间: 满打满算的话,怕是也花了一个月。主要是这本书涉及需要理性思考的更多,想不明白的话,就得多花点时间了。 加上这个月还插入了一些其它的东西,比如前几天的 优化博客加载、添加文章统计等 之类的就花去了挺多时间。 本书我是非常推荐的,看完之后,对很多算法原理性的东西认识都更深了 (虽然现在又忘了不少了,所以才需要笔记呢,等我跟着笔记再复习下) # 第一章 复杂度分析 # 精确统计法(事后统计法) 运行一次代码,通过监控和统计手段得到算法执行的时间和占用内存大小 缺点 测试结果受环境影响 测试结果受测试数据影响 # 大 O 复杂度表示法 粗略估计算法执行效率 #...
13k 12 分钟

# 前言 主要内容来源于:Metaverse 大衍神君 RoadToDotsTutorials 相关教程,本文为个人笔记 https://github.com/lwwhb/RoadToDotsTutorials.git 注:暂且先从语雀笔记搬过来,还会继续进行整理、修改 # Dots 是什么? Data-Oriented Technology Stack(面向数据的技术堆栈) 由 5 个核心包定义构成: C# Job System Burst Compiler 优化 C# 代码的编译器 Unity Mathematics 可以在 JobSystem 使用的数学库,同时针对...
6.1k 6 分钟

# 前言 本来最开始只是因为 JsDeliver ... 又又又挂了,导致部分用到的 CDN 在家里访问不了 —— 本来上次就已经把大部分脚本引用从 JsDeliver 切换到 Staticfile 了,然而还是有少几个在 Staticfile 没有的导致没法换 然后就发现,一旦这『少数』脚本出了问题,网页就会一直卡在那儿等它... 等半天真的是 于是就想办法搞,比如 fancybox、justifiedGallery、jquery、valine、whatwg-fetch 等 # 处理 之前 fancybox 、 justifiedGallery 、 jquery 三个是由原 Shoka...
23k 21 分钟

# 前言 主要内容来源于官方 Cinemachine2.8 英文文档:https://docs.unity3d.com/Packages/com.unity.cinemachine@2.8/manual/CinemachineUsing.html 花了一个星期,学习之余,借助翻译软件一边看一边验证(顺便翻译,注:并不完全按照文档来的) # Virtual Camera # 基本情况 首先,场景中一般只有一个 Unity 相机(或者单独分离的 UI 相机),但可以有多个虚拟相机(不过一般只有一个活动) 虚拟相机应该算是 Cinemachine 中主要的一个组件,在某个虚拟相机处于活动状态时,...
16k 14 分钟

# 前言 部分来源于网络,并注明来源(已丢失除外),性能优化、批处理则主要整理自 Unity 官方文档 注 1:参考文档均在对应位置标注,文章末尾也贴了对应链接 注 2:对文章内容,后续可能会还会进行调整 # 硬件 # GPU 的渲染架构 # IMR(Immediate Mode Rendering,主要用于 PC 平台) 即渲染模式。每个像素渲染的时候直接访问 DRAM,并写入到 FrameBuffer 上。PC 平台的显卡都是 IMR 架构 # TBR(Tile-Based Rendering,基于 Tile 渲染,主要用于移动平台) 为了减少 GPU 访问 SystemMemory...
868 1 分钟

这几天看《算法之美》的时候,看到有一个问题是:如何设计一个数据结构,可以在 100M 内存的限制下快速在 1000 万 个数据中查找指定数据?(每个数据占 8B) 问题不重要,里面描述的时候,有一个说明是: 1000万 个数据正好 80M 左右 然后就在想,为什么是 80M?B 是 bit 还是 byte ?怎么一下子估算的? 一时没想明白 后来仔细想了下,这个估算起来,其实有比较简便的规则的 例如,正常的字节转换单位,按照『严格』转换方式如下: 单位...
5.6k 5 分钟

# 前言 这本书是紧接着《CLR VIR C#》 开始的,依然是回家的时候看,顺便在手机语雀上记笔记: 今天是 2023 年 5 月 1 日 也算是过了一遍了,这本书其实不是很厚 —— 至少跟 《CLR VIR C#》 相比就薄多了,也花了差不多一个月,主要是因为每周加两天班变成了常驻,另外还在追 DOTS1.0 的教程,导致时间上更短了。 这两天五一放假 (实际上前一天 28 号就提前请假了),然后回来从责任链模式继续看,认真专心点,还是挺快的。 本文总结的主要是部分重要的理论描述,—— 文字上的,毕竟是手机记录。很多重要概念的还是得结合代码。 #...
20k 18 分钟

# 前言 很久以前也有拿着 XLua C# 这边的源码看过,网上也找过资料... 就是搞不大清楚。 可惜没人提醒,后来才想明白,直接硬看 C# 这边的源码是不行的,想明白 C# 与 XLua 的交互原理,至少得先了解 C/C++ 与 Lua 的交互原理 —— 毕竟 C# 与 XLua 交互,依然是基于中间的 C API,了解了那边的概念,再看 C# 与 XLua 交互原理,才好理解。 # 基本介绍 Lua 虚拟机由 C/C++ 实现,因此它可以直接与宿主进行通信 C# 则可以依靠 C API 通过 P/Invoke 方式调用 Lua 虚拟机函数 即 C# 可以借助 C/C++ 来与 Lua...
4.6k 4 分钟

# 前言 最近做项目优化,在整理主界面的按钮问题的时候,用到了只读结构体,这个结构体会保存于一个列表中,并采用 in 对列表中的值进行引用传递。 然后突后面然想到,保存于列表中的值类型,真的能直接被引用吗? 毕竟 List 数据结构本身由于存在扩容问题,因此是不允许直接返回其中数据引用的。 那么我们就有理由怀疑:实际类型为 List 容器中,采用下标取出的对象作为引用传递时,它可能依然会在栈上新建一个临时变量,然后再将其作为引用传递过去。那么这里就还是存在一个额外拷贝开销了。 于是考虑了一下,并且也比较好奇,于是就想着用 ILSpy 进行反编译查看生成的 IL...