- 博客(22)
- 收藏
- 关注
原创 Unity TextMeshPro学习
新版Unity UGUI默认使用TextMeshPro显示文本;相较于旧的Text组件,TextMeshPro功能更强大,渲染效果更好;本文学习自。
2024-07-20 10:10:58
870
原创 UGUI源码阅读(三)Graphic渲染
所有显示内容的ui组件都继承自Graphic,ugui是如何使用这些组件来构建mesh从而渲染呢?Graphic组件默认使用默认材质球渲染一个矩形白色区域,很简单,后续我们看ugui的遮罩实现。
2024-07-09 09:59:36
111
原创 UGUI源码阅读(一)事件系统
在判断当前输入所在的游戏对象时,用到了EventSystem组件的射线检测;触发时执行gameObject上的对应事件处理;主要用于驱动输入模块更新和处理输入;
2024-07-03 18:04:11
105
原创 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
原创 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
原创 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人