自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Unity TextMeshPro学习

新版Unity UGUI默认使用TextMeshPro显示文本;相较于旧的Text组件,TextMeshPro功能更强大,渲染效果更好;本文学习自。

2024-07-20 10:10:58 870

原创 UGUI源码阅读(五)遮罩之Mask

ugui Mask实现原理

2024-07-10 15:49:38 257

原创 UGUI源码阅读(四)遮罩之RectMask2D

ugui RectMask2D 实现原理

2024-07-10 07:10:37 132

原创 UGUI源码阅读(三)Graphic渲染

所有显示内容的ui组件都继承自Graphic,ugui是如何使用这些组件来构建mesh从而渲染呢?Graphic组件默认使用默认材质球渲染一个矩形白色区域,很简单,后续我们看ugui的遮罩实现。

2024-07-09 09:59:36 111

原创 UGUI源码阅读(二)Layout

Layout为ugui自动排版实现;

2024-07-04 18:49:11 195

原创 UGUI源码阅读(一)事件系统

在判断当前输入所在的游戏对象时,用到了EventSystem组件的射线检测;触发时执行gameObject上的对应事件处理;主要用于驱动输入模块更新和处理输入;

2024-07-03 18:04:11 105

原创 C#结构体与类互相引用时在内存中的位置

类是引用类型,对象存储在堆内存中;结构体是值类型,一般在栈上存储;

2024-06-30 23:12:35 111

原创 Unity UI-Default.shader源码阅读

UI-Default.shader源码理论说明

2024-06-17 10:49:29 428

原创 UGUI屏幕适配,包括刘海屏适配

使用Expand模式能将所有的ui元素显示在屏幕内,但是会引出一个新的问题,即背景图片无法铺满整个屏幕,这是不能接受的,由此我们进入下一步背景图片适配;游戏开发的过程中,ui都是在设计分辨率下出效果图,开发者需要适配各种不同的屏幕分辨率;由于Expand模式下导致背景图片过度缩小,我们得再次修正其大小,以铺满我们整个屏幕;实验时在组件上勾选Is Safe Area,可看到四个绿色的方块都在安全区域内显示了;Expand模式会将 ui 缩小到能在屏幕中显示完所有的ui元素;不同分辨率的适配就此结束;

2024-06-14 22:17:13 395

原创 Unity Standard Shader源码阅读(三) ShadowCaster Pass

着色器定义在UnityStandardShadow.cginc中;另一个out参数与vr相关;

2024-06-13 16:38:20 220 1

原创 Unity Standard Shader源码阅读(二) AddPass

AddPass很多处理与BasePath一致,相同的处理就不解释了;顶点着色器输入VertexInput v与BasePass一样;其他处理和BassPath一致,没啥好说的。

2024-06-13 11:36:19 293

原创 Unity Standard Shader源码阅读(一) BasePass

UNITY_SETUP_BRDF_INPUT 代表当前的工作流,分别有MetallicSetup,SpecularSetup,RoughnessSetup;unity版本:2022.3.27。

2024-06-13 07:43:13 267

原创 Unity线性空间下的透明度混合问题

切换到线性空间后,透明度混合是在线性空间下执行的;混合公式:原颜色 * (1- 当前alpha值) + 当前颜色 * 当前alpha值;由此可知两者的结果不相等,这也就是由伽马空间切到线性空间导致的透明度混合问题;0.5对于的gama值为:0.5^2.2 = 0.218,0.609对应的线性值:0.609^0.45 = 0.80。线性空间混合:0.5 * 0.5 + 1 * 0.5 = 0.75;感觉更麻烦,有空再研究了。

2023-10-17 11:39:10 323

原创 Shader变体裁剪(已经商业化项目实践)

Unity Shader变体裁剪

2023-09-28 02:16:09 550

原创 VSCode使用EmmyLua调试lua

选择Unity.exe。

2023-09-27 00:50:55 856

原创 Charles+mumu模拟器抓http请求

打开模拟器的浏览器,输入网址 chls.pro/ssl 即可自动下载,下载完自己手动安装;系统应用 -> 设置 -> WLAN -> 长按修改网络 -> 代理 -> 手动。

2023-07-26 18:06:50 1231

原创 unity导出android studio,gradle引入jar包导致冲突

/后续所有通过implementation导入的包,都排除com.google.guava。//添加google语音识别后导致的与本地的库冲突。//添加google语音识别需要的。--cmd查看gradle依赖的库。

2023-06-07 11:20:03 453

原创 Unity判断apk运行在模拟器上

Unity判断apk运行在模拟器上

2023-02-02 11:09:18 1130

原创 unity断点调试apk

unity断点调试apk

2022-12-26 18:03:06 1242

原创 unity打出apk包在模拟器上运行一段时间后卡顿卡死

unity打出apk包在模拟器上运行一段时间后卡顿卡死

2022-03-02 00:51:15 8576 2

原创 Lua实现面向对象(最高效)

lua面向对象一直是个有趣的问题,每个人的实现方式大同小异,区别在于是否足够高效。笔者集合日常开发经验,自己撸了一套,读者初看遇到不明白的,可通读全篇后再深入理解。

2022-03-01 23:53:03 1198

原创 Unity查看Package源码以及调试Package

本文档以调试Unity UI为例子Project中选中鼠标右键Show In Explorer:将其拷贝到项目的根文件下:然后在Packaage Managert中重新用vs打开项目,就可以跳转到源码了

2021-05-09 11:22:09 1986

UGUI屏幕适配package

UGUI屏幕适配 unity package

2024-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除