【Linux】Linux 使用笔记 【Linux】Linux 使用笔记 系统目录结构 /etc:系统管理所用的一些配置文件和子目录。 /dev:计算机外部设备,Linux 中外设交互与文件交互一致。 /proc:存储当前内核运行状态,类似设备映射成文件,此处映射的是内存信息。 /usr:Unix 系统资源的缩写,用户的程序和文件大多放在该目录,类似 Windows 的 ProgramFiles 文件夹。 /lib:各种程序共享的 2024-05-31 框架使用 > Linux
【Manim】空间与变换笔记 【Manim】空间与变换笔记 所有常量都可以在constants.py中找到 屏幕空间 屏幕中心为原点(0,0,0),遵循右手坐标系,向右为x轴正方向,向上为y轴正方向,向前为z轴负方向,旋转时正方向为顺时针方向。 相关常量 名称 描述 FRAME_HEIGHT 屏幕高度,默认为8 FRAME_WIDTH 屏幕宽度,默认为ASPECT_RATIO * FRAME_HEIGHT 2024-01-14 框架使用 > Manim
【Unity】UGUI 【Unity】UGUI 原理 UGUI 基于网格渲染,图片文字等都是网格,由程序在运行时生成。 当一个 UI 的布局或材质等信息改变时会触发重新构建,重构分为布局和渲染两类分别对应两个重构队列,UGUI 每帧会处理这些队列。 由于 UGUI 基于网格渲染,所以同样支持批处理,UGUI 会自动将可合并的小网格合并为大网格,可同时渲染时会自动合批。 优化 根据合批性质要尽可能减少 UGUI 重新计 2025-12-23 框架使用 > Unity
【Unity】URP 中的 UGUIShader 实现 【Unity】URP 中的 UGUIShader 实现 参考官方 Shader 代码实现: https://github.com/TwoTailsGames/Unity-Built-in-Shaders/blob/master/DefaultResourcesExtra/UI/UI-Default.shader 1234567891011121314151617181920212223242526 2024-02-28 框架使用 > Unity
【Unity】人形动画 【Unity】人形动画 人形模型 这是 Unity 中的概念,是一种被 Unity 特殊处理的蒙皮模型。使用该功能,Unity 便会以人体结构的方式去识别骨架,同时对骨骼的控制方式进行约束,使其符合人体的关节的运动规律。如人的膝盖只能做前后移动,而膝盖对应着一根骨骼,所以该骨骼也只能前后移动,这些信息都被存在了多出的 Avatar 文件下。 Avatar 文件 人形模型比普通蒙皮模型额外多出一个 2025-12-23 框架使用 > Unity
【Unity】各种操作触发 GC 情况 【Unity】各种操作触发 GC 情况 在 Update 中持续执行下列操作,统计每帧触发 GC 的情况,仅首帧触发 GC 的情况不计入。 使用 Linq 处理数据 基本上使用就会分配内存,所以不要用。 利用 Foreach 遍历容器 不会分配内存,可以用,但根据不同的迭代器实现,速度可能不如 For 循环。 将值类型装箱 会触发内存分配,不要使用。 使用 enum 做键的字典 使用 enum 作 2024-02-04 框架使用 > Unity
【Unity】图形渲染瓶颈与批处理优化 【Unity】图形渲染瓶颈与批处理优化 图形渲染 工作方式 显卡的工作方式并非连续的,一般分三步。 上传更新渲染数据至显存 设置显卡的渲染管线状态 启动绘制并等待绘制结果 性能瓶颈 由于显卡是大规模并行计算,绘制几个或几千个三角面在速度上基本没有区别,这时候瓶颈就容易出现在工作方式中第一第二点上。 内存到显存的传输是有代价的 如果对比过 Unity 的作业系统就会发现一点,对应一些数据量大 2024-02-04 框架使用 > Unity
【Unity】未来技术路线 【Unity】未来技术路线 新旧更替 UnityEngine.Mathf->Mathematics UnityEngine.Input->InputSystem UnityEngine.UI.Text->TextMeshPro Build-in RenderPipeline->URP ParticleSystem->VisualEffectGraph Surface 2025-12-23 框架使用 > Unity
【Unity】热更新原理与 Xlua 配置 【Unity】热更新原理与 Xlua 配置 热更新 直接理解即是让代码可以像资源包一样被运行时更新。当然它其实还一个名称叫热修复,即实现不重新打包项目也能把 Bug 修好,这也正是它常用的地方。 原理 C# 无法直接热更新 C# 是编译型语言,需要先编译成 IL 再送到虚拟机里才可运行。部分平台不支持 C# 编译器的使用,所以没法通过直接重新编译 C# 代码来实现热更新。 lua 可以轻松 2024-02-04 框架使用 > Unity
【Unity】脚本生命周期 【Unity】脚本生命周期 执行顺序 现象 Start,Update 全部按批执行 Awake 在场景初始化回调前触发 后拖入场景的脚本先执行 结论 Awake 被认为是一种初始化,而 Start 不是 创建 AddComponent | Instantiate | 现象 Awake 在物体创建后立即触发 Start 必在当前帧被执行 只要在当前帧的 Update 之前创建,Update 肯 2025-12-23 框架使用 > Unity