随笔分类 - unity3d
摘要:网上一般的版本是没有考虑扩展字符是4个字节的(关键词:surrogate pair),例如emoji。因此对于包含表情的文本,转换出来的unicode是不对的。 string本身一个字符应该是2字节的。一个仅包含单个表情的字符串,可以看到它的Length会是2。因此字符串的存储和字符串的显示是两个不
阅读全文
摘要:我们常用的RectMask2D组件可以对UGUI元素进行范围裁剪,但是一个节点上只能添加一个组件,如果在层级节点上添加多个RectMask2D,它们也只是取并集。最终到Shader里时只有一个并集的Rect做透明度计算。 另一个组件:Mask,不基于Rect而是基于模板测试,可以做到更丰富的遮罩。不
阅读全文
摘要:需求: UGUI做的弹幕功能,弹幕从一侧飞入,从另一侧飞出。飞入伴随着淡入效果,飞出伴随淡出效果。 探索得出的结论: 1、Canvas中的各元素的网格顶点在Canvas合批绘制时被统一变换到Canvas的局部坐标系中。 2、淡入淡出是通过计算某个显示位置与渐变区间的关系,计算透明度。从第一条可知渐变
阅读全文
摘要:记一次Unity URP雾效异常解决 问题描述 这是一个在项目从builtin升级urp后遇到的问题:和原来一样的fog设置,雾效变成了随着相机角度的不同,会变浓或变淡,最浓的时候甚至白茫茫的一片。。。 心路历程 首先认为是否urp算法不一致,但是各种参数调了后还是这个表现,心想不可能urp的雾这么
阅读全文
摘要:UGUI布局分析 前言 这篇文章是在前文UGUI渲染分析的基础上,进一步探究UGUI中实际使用的几种自动布局组件的原理。 据前文的分类,实际上可以分为以下几类,并各选一些代表出来进行分析: |类型|说明|分析例子| |:-|:-|:-| |实现ILayoutSelfController接口|会改变自
阅读全文
摘要:UGUI渲染分析 一句话总结 比较多,总结不了。 主要类分析 Graphic 这个抽象类代表所有可以在画布上显示出来的元素。 它有点类似3D渲染时的一个模型,它持有材质、贴图、并负责生成网格。因此UI的渲染仍是基于网格的。 它还提供了自身的Raycast检测。 CanvasRenderer 这个组件
阅读全文
摘要:Unity Shader 曲面细分简介 概念介绍 曲面细分一种对输入的图元(三角形、四边形、线段)进行细化,产生出更多的顶点,使其变得更精细的技术。 这一功能在渲染管线中完成,通常会由显卡硬件支持。从阶段上讲它位于顶点着色器之后,像素着色器之前。 它的内部流程分为三部分:可编程的Hull Shade
阅读全文
摘要:UGUI事件系统分析 一句话概括 InputModule在EventSystem的驱动下不断生成事件,利用Raycaster查找到能响应事件的GameObject后调用其相应的事件处理接口。 EventSystem 模块驱动 它是事件系统暴露给外面的管理器,可以查询当前选中物体、设置当前选中物体等。
阅读全文