随笔分类 -  Unity

Unity
Unity Image.overrideSprite
摘要:核心机制 Image 组件实际上有两个控制图片的属性: 渲染逻辑: overrideSprite != null → 渲染 overrideSprite overrideSprite == null → 回退渲染 sprite(原始设置) 也就是说,overrideSprite 的优先级高于 spr 阅读全文

posted @ 2026-05-28 20:23 -冷夜- 阅读(54) 评论(0) 推荐(0)

Unity的CustomPropertyDrawer和PropertyDrawer详解
摘要:一、什么是 PropertyDrawer PropertyDrawer 是 Unity 编辑器扩展中的一个基类,继承自 GUIDrawer,用于自定义属性在 Inspector 面板中的绘制方式。它让你能够完全控制某个字段在编辑器中的视觉表现,而不需要编写完整的 CustomEditor。 Prop 阅读全文

posted @ 2026-05-19 11:02 -冷夜- 阅读(76) 评论(0) 推荐(0)

unity Event 详解
摘要:UnityEngine.Event 类主要用于处理即时模式 GUI(即通常所说的 UnityGUI 或 IMGUI)中的输入事件和布局渲染事件。它不属于新的 UI 系统(UGUI),而是与每帧调用的 OnGUI 方法紧密配合,让你能够直接获取键盘、鼠标和系统事件的信息。 1. 核心概念 Event 阅读全文

posted @ 2026-05-18 16:59 -冷夜- 阅读(44) 评论(0) 推荐(0)

unity AssetPreview详解
摘要:AssetPreview 是 Unity 编辑器(UnityEditor 命名空间)中的一个实用类,专门用于获取资源在 Project 窗口中显示的预览图。理解它的异步加载机制和缓存控制是编写高效编辑器工具的关键。 核心定位 与加载原始资源数据不同,AssetPreview 提供的是一种轻量级的视觉 阅读全文

posted @ 2026-05-18 15:14 -冷夜- 阅读(61) 评论(0) 推荐(0)

Unity GUIContent 详解
摘要:GUIContent 是 Unity 引擎中专门用于封装 GUI 控件显示内容的核心类。它就像一个"内容打包器",能够将文本、图标(纹理)和鼠标悬停提示这三类信息整合在一起,作为统一的参数传递给各种 GUI 控件。 核心定位:内容与样式的分离 GUIContent 与 GUIStyle 有着密切的协 阅读全文

posted @ 2026-05-15 17:46 -冷夜- 阅读(30) 评论(0) 推荐(0)

Unity ScriptableObject 详解
摘要:什么是 ScriptableObject? ScriptableObject 是 Unity 提供的原生数据容器类,与 MonoBehaviour 并列为两大核心基类。它派生自 UnityEngine.Object,可以独立于类实例保存大量数据。与 MonoBehaviour 不同,Scriptab 阅读全文

posted @ 2026-05-15 17:02 -冷夜- 阅读(125) 评论(0) 推荐(0)

Unity SerializedObject 详解
摘要:SerializedObject 是 Unity 编辑器脚本中的核心类,它提供了一种通用的方式来安全地读取和修改一个或多个 Unity 对象的序列化字段。与直接通过反射或组件 API 修改对象不同,SerializedObject 能够自动处理撤销(Undo)、预制件(Prefab)覆盖标记、多对象 阅读全文

posted @ 2026-05-15 16:54 -冷夜- 阅读(66) 评论(0) 推荐(0)

unity SerializedProperty 详解
摘要:SerializedProperty 是 Unity 编辑器脚本中用于安全、通用地访问和修改序列化对象属性的核心类。它与 SerializedObject 和 Editor 类配合使用,能够自动处理撤销(Undo)、预制件(Prefab)覆盖以及多对象编辑等复杂场景。 为什么需要 Serialize 阅读全文

posted @ 2026-05-15 16:52 -冷夜- 阅读(85) 评论(0) 推荐(0)

Unity TextMeshPro 超链接实现
摘要:TMP 的超链接功能本质上是‌在富文本中嵌入可点击的标记区域‌,然后通过代码检测玩家的点击位置,精准识别被点击的链接并执行对应逻辑。下面从零开始,一步步拆解。 一、超链接语法 在 TMP 文本中,超链接使用类似 HTML 的标签语法: <link="自定义ID">显示文本</link> 比如在 RP 阅读全文

posted @ 2026-05-15 11:45 -冷夜- 阅读(132) 评论(0) 推荐(0)

unity中TextMeshPro的Font Asset Variant
摘要:什么是 Font Asset Variant? 简单说,‌Font Asset Variant(字体资产变体)‌ 就是基于一个已有的 Font Asset,创建一个"分身"。这个分身‌共享原始字体的图集纹理‌(Atlas Texture),不会额外占用一张完整纹理的内存,但允许你‌覆盖部分参数‌,比 阅读全文

posted @ 2026-05-15 10:37 -冷夜- 阅读(107) 评论(0) 推荐(0)

unity中TextMeshPro的Style Sheet详解
摘要:一、Style Sheet 到底是什么? 简单说,Style Sheet 就是一个‌样式集合的配置文件‌。你可以把常用的文本格式(比如标题、警告、特殊强调)打包成一个“样式”,之后在任意 TextMeshPro 文本里用一句 <style="样式名"> 就能直接调用,不用再重复写 <size><co 阅读全文

posted @ 2026-05-15 10:14 -冷夜- 阅读(91) 评论(0) 推荐(0)

unity中Font Asset Creator参数说明
摘要:Unity 的 Font Asset Creator 是 TextMeshPro 用来将普通字体文件转换为 SDF 字体资产的核心工具。窗口中的各个参数直接决定了最终字体的渲染质量、图集大小和特效支持能力。以下是各参数的详细说明: 参数说明 ‌Source Font File‌ 源字体文件。选择你想 阅读全文

posted @ 2026-05-14 13:27 -冷夜- 阅读(153) 评论(0) 推荐(0)

unity RaycastHit详解
摘要:UnityEngine.RaycastHit 是 Unity 物理引擎中用于存储‌射线检测(Raycasting)结果‌的核心结构体。当使用 Physics.Raycast、Physics.Linecast 或 Physics.SphereCast 等方法进行碰撞检测时,如果射线与场景中的碰撞体(C 阅读全文

posted @ 2026-05-09 14:38 -冷夜- 阅读(81) 评论(0) 推荐(0)

Unity RaycastResult 说明
摘要:UnityEngine.EventSystems.RaycastResult 是 Unity UGUI 事件系统中的一个结构体(struct),用于存储和描述来自 BaseRaycaster(如 GraphicRaycaster、PhysicsRaycaster 等)的射线检测命中结果。 当用户与 阅读全文

posted @ 2026-05-09 14:30 -冷夜- 阅读(28) 评论(0) 推荐(0)

Unity PointerEventData详解
摘要:UnityEngine.EventSystems.PointerEventData 是 Unity UGUI 事件系统中用于封装‌指针输入事件‌(鼠标、触摸、手写笔等)数据的核心类。它继承自 BaseEventData,作为参数传递给各种指针相关的事件接口(如 IPointerClickHandle 阅读全文

posted @ 2026-05-09 14:03 -冷夜- 阅读(90) 评论(0) 推荐(0)

RectTransform的SetSizeWithCurrentAnchors和SetInsetAndSizeFromParentEdge说明
摘要:在 Unity UI 开发中,SetSizeWithCurrentAnchors 和 SetInsetAndSizeFromParentEdge 是 RectTransform 提供的两个用于动态调整 UI 元素尺寸和位置的重要方法。它们的主要区别在于‌是否受锚点(Anchors)影响‌以及‌设置的 阅读全文

posted @ 2026-05-09 13:20 -冷夜- 阅读(56) 评论(0) 推荐(0)

unity中RectTransform的position和localPosition说明
摘要:在 Unity 里,RectTransform 继承自 Transform,所以它天然拥有 position 和 localPosition 这两个属性。它们的含义和普通 3D 物体的 Transform 一脉相承,但在 UI 系统里又有一些值得留意的细节。 核心区别 ‌position(世界坐标) 阅读全文

posted @ 2026-05-09 10:12 -冷夜- 阅读(90) 评论(0) 推荐(0)

UGUI中Canvas的嵌套使用
摘要:在 Unity 中,Canvas 的嵌套(子 Canvas 挂载在父 Canvas 下)是常见的 UI 布局方式,核心作用是精细化控制 UI 的渲染层级、渲染模式、缩放规则,但嵌套不当易引发渲染异常、性能问题或适配错误。以下是嵌套 Canvas 的完整指南,包括核心逻辑、使用场景、配置规范和避坑要点 阅读全文

posted @ 2025-12-31 22:49 -冷夜- 阅读(232) 评论(0) 推荐(0)

Unity Shader中的Dot点乘解惑篇(转)
摘要:光照中的点乘应用 漫反色中的核心函数 fixed4 diff = albedo * _LightColor0 * max(0, dot(i.worldNormal, worldLight)); 当 worldLight 为float3(0, 1, 0),时,主要分析该函数 dot(float3(0, 阅读全文

posted @ 2024-03-28 19:46 -冷夜- 阅读(658) 评论(0) 推荐(0)

Unity中的AnimBool
摘要:Unity中的AnimBool是一个用于控制动画布尔值的类。它可以用于在动画过程中控制物体的状态或行为。 AnimBool类可以用于创建一个布尔值,并在动画过程中根据指定的插值方式进行插值计算。它可以用于控制物体的可见性、激活状态、动画过程中的行为等。 使用AnimBool类的步骤如下: 创建Ani 阅读全文

posted @ 2023-08-31 19:35 -冷夜- 阅读(150) 评论(0) 推荐(0)

导航