- 博客(30)
- 收藏
- 关注
原创 Unity使用PS合并贴图
使用PBR渲染,金属工作流时,默认使用一个金属度贴图,其中r通道保存金属度,a通道保存光滑度,g通道和b通道没使用;我们很可能使用Occlusion Map,使用其中的g通道保存Occlusion 信息。单独使用一个Occlusion Map比较耗性能,可将信息保存在金属度贴图的g通道中;因此,我们需要贴图合并;
2024-11-14 01:17:50
578
原创 Unity URP渲染管线学习
注入脚本化渲染pass到渲染管线来获取自定义视觉效果;//每帧调用一次,一个相机调用一次//实现渲染逻辑,发送drawcall//渲染纹理属性描述//临时纹理索引//构造函数,用于传参//在执行渲染pass前调用//用于配置 渲染目标,状态清除,创建临时渲染目标纹理,默认渲染到摄像机的渲染目标//纹理不存在或者发生变更时,回收旧的,创建新的//每帧调用一次,一个相机调用一次//实现渲染逻辑,发送drawcall//获取摄像机渲染纹理。
2024-08-19 10:21:15
6787
原创 Unity Standard Shader源码阅读(四) 简化版BasePass
对于UNITY_SETUP_BRDF_INPUT,设置BRDF输入,包含漫反射颜色diffColor,高光反射颜色specColor,漫反射部分系数oneMinusReflectivity,光滑度smoothness,按工作流分为MetallicSetup,SpecularSetup,RoughnessSetup;
2024-07-29 07:39:02
383
原创 UGUI上显示特效插件ParticleEffectForUGUI
ui上显示特效常常涉及到层级的问题,常见处理办法是通过控制Canvas和特效Renderer的Sorting Layer以及Order in Layer来控制渲染顺序,这种实现的弊端是不好实现遮罩功能,需要手动把裁剪区域传递给自定义的Shader来实现裁剪,对于使用模板测试的Mask,由于Mask在子节点的UI元素渲染完后,会自动清除模板值,导致渲染特效时无法做模板测试;鉴于此,有大佬实现了一种用CanvasRenderer来渲染特效的方案,github传送门;
2024-07-27 17:43:13
1164
原创 Unity TextMeshPro学习
新版Unity UGUI默认使用TextMeshPro显示文本;相较于旧的Text组件,TextMeshPro功能更强大,渲染效果更好;本文学习自。
2024-07-20 10:10:58
2173
原创 UGUI源码阅读(三)Graphic渲染
所有显示内容的ui组件都继承自Graphic,ugui是如何使用这些组件来构建mesh从而渲染呢?Graphic组件默认使用默认材质球渲染一个矩形白色区域,很简单,后续我们看ugui的遮罩实现。
2024-07-09 09:59:36
209
原创 UGUI源码阅读(一)事件系统
在判断当前输入所在的游戏对象时,用到了EventSystem组件的射线检测;触发时执行gameObject上的对应事件处理;主要用于驱动输入模块更新和处理输入;
2024-07-03 18:04:11
238
原创 UGUI屏幕适配,包括刘海屏适配
使用Expand模式能将所有的ui元素显示在屏幕内,但是会引出一个新的问题,即背景图片无法铺满整个屏幕,这是不能接受的,由此我们进入下一步背景图片适配;游戏开发的过程中,ui都是在设计分辨率下出效果图,开发者需要适配各种不同的屏幕分辨率;由于Expand模式下导致背景图片过度缩小,我们得再次修正其大小,以铺满我们整个屏幕;实验时在组件上勾选Is Safe Area,可看到四个绿色的方块都在安全区域内显示了;Expand模式会将 ui 缩小到能在屏幕中显示完所有的ui元素;不同分辨率的适配就此结束;
2024-06-14 22:17:13
930
原创 Unity Standard Shader源码阅读(三) ShadowCaster Pass
着色器定义在UnityStandardShadow.cginc中;另一个out参数与vr相关;
2024-06-13 16:38:20
330
1
原创 Unity Standard Shader源码阅读(二) AddPass
AddPass很多处理与BasePath一致,相同的处理就不解释了;顶点着色器输入VertexInput v与BasePass一样;其他处理和BassPath一致,没啥好说的。
2024-06-13 11:36:19
385
原创 Unity Standard Shader源码阅读(一) BasePass
UNITY_SETUP_BRDF_INPUT 代表当前的工作流,分别有MetallicSetup,SpecularSetup,RoughnessSetup;unity版本:2022.3.27。
2024-06-13 07:43:13
442
原创 Charles+mumu模拟器抓http请求
打开模拟器的浏览器,输入网址 chls.pro/ssl 即可自动下载,下载完自己手动安装;系统应用 -> 设置 -> WLAN -> 长按修改网络 -> 代理 -> 手动。
2023-07-26 18:06:50
1627
原创 unity导出android studio,gradle引入jar包导致冲突
/后续所有通过implementation导入的包,都排除com.google.guava。//添加google语音识别后导致的与本地的库冲突。//添加google语音识别需要的。--cmd查看gradle依赖的库。
2023-06-07 11:20:03
546
原创 Lua实现面向对象(最高效)
lua面向对象一直是个有趣的问题,每个人的实现方式大同小异,区别在于是否足够高效。笔者集合日常开发经验,自己撸了一套,读者初看遇到不明白的,可通读全篇后再深入理解。
2022-03-01 23:53:03
1360
原创 Unity查看Package源码以及调试Package
本文档以调试Unity UI为例子Project中选中鼠标右键Show In Explorer:将其拷贝到项目的根文件下:然后在Packaage Managert中重新用vs打开项目,就可以跳转到源码了
2021-05-09 11:22:09
2315
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人