自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 问答 (4)
  • 收藏
  • 关注

原创 浅析Unity Stencil Buffer和UGUI Mask

(至于他是怎么做到渲染完所有子物体再弹出这个材质球的你别问,问就是我是菜鸡我也不知道)

2025-03-14 13:12:44 1108 1

原创 关于Unity Shader里Blend模式一点心得

后来我也逐渐理解,一个半透明的像素(1,0,0,0.2)其实就是和(0.2,0,0,1)是等效的,(单纯限定在UGUI),即看起来是一样的。你放一个半透明的放上去,其实也是和后边“表示这是透明的黑白格子”来混合,但实际这些黑白格子都没有,你只能显示一个alpha=1的颜色,同理对于UGUI来说, 像素(1,0,0,0.2)其实就是和(0.2,0,0,1)这两个点,都无法直接显示在最底层,下边一定还有个东西,比如天空盒,纯色背景,默认颜色,等,一定会和他进行混合,那么一混合,他俩就看起来一样了。

2025-03-05 15:05:19 847

原创 分享一个UGUI文本描边的方案

众所周知,Unity自带的文本描边outline组件比较鸡肋,当描边粗细比较小的时候,效果还好,一旦超过2,那就会产生断断续续的效果原因是它的实现原理其实就是上下左右偏移出一定距离(描边粗细)各自在渲染一遍文本,在把效果叠加起来,在粗细比较小的时候,就是描边效果,但是粗细比较大的时候就穿帮了。然而有时候细细的描边并不能满足美术大佬的需求,这时候要怎么办?主流的办法是使用TextMeshPro,用它的话确实可以实现好看的描边以及其他好看的效果。

2024-09-27 20:27:56 1810 1

原创 【Unity游戏开发】记录个奇奇怪怪的bug

null这个判定被拦下来了,也就是说这样Gameobect销毁,他上边的脚本也是会乖乖变成null的,我的猜想是错的!这回不一样了,打印了十条结果,在第五条打印出了”null“,也就是说他绕过了 if(XXX!第一反应,这个断点里标的null是带双引号的,会不是其实他是一个字符串"null"?很明显的问题是:我判空了呀!就算我之前消息遗漏了注销,但是理应我这里会把空的排除掉,就进不去红框里那个函数呀。我们看到这个物体已经被销毁了,所以这里这样提示是很合理的,但是这个东西为什么不是纯粹的NUll?

2024-08-27 12:26:45 468

原创 Unity自定义Preview窗口的方法

如名字所描述的一样,这两个函数都是绘制这个PreviewGUI的函数,OnInteractivePreviewGUI()就是可以允许用户进行交互的那种,比如滑动鼠标滚轮进行缩放,拖拽物体旋转,等等,一般3d模型展示常有这种效果,如果是有这样的需求的话,那么就必须使用OnInteractivePreviewGUI()来进行复写,如果是只是静态显示一些信息,那么用OnPreviewGUI就够了。想要在这里显示一个东西,需要在这个空间里新建物体,然后新建摄像机,对准物体渲染,然后把得到的图片取出。

2024-08-21 23:40:35 1768

原创 抽空看了看unity的spine(SkeletonGrapic)代码!

另外spine里的这些bones和slots List每次都是new出来 数量很多的时候会反复开辟空间容易造成GC 个人觉得优化成ListPool<>那种比较好 我看网上也有这样说的。

2024-07-24 20:11:24 130

原创 unity动态图集使用小记录

unity动态图集的一点使用心得

2024-05-05 22:23:00 1168 1

原创 反序列化错误:End of Stream encountered before parsing was completed.

2.读取文件流的时候指定位置: stream.Position = 0;其实就是把Vector代码复制过来,然后在类头部加上可序列化标志,然后之后存储部分不用vector 用这个SerializeVector2就好了。之后我始终怀疑是我的存储的数据结构里有某些东西不能被序列化,然而有没有明确的Log信息,只能排除法一点一点剥离数据结构,看看内鬼是谁。原来Vector系列是不能用这东西序列化的,具体原因我没有深究。我看我都加了,也没什么用。

2024-02-03 19:04:13 547

原创 关于unity的Animator的一则提问贴!!

我现在把这个动画机加到我的一个ui物体上去 ,按照我的认知来说,如果他在一直跑sortin 这个动画状态,那么pos和scale都会被这个动画里的状态接管,你用代码改动位置或者大小都是失效的,或者你在面板上拖动也是拖不动的。这个有点不符合我的认知,这个物体从来就没有进入过sortin的动画里,为什么postion也不能动了,是unity动画机本来就是这样设定的,还是我哪里操作 有误呀?此时 我把sortin里的动画删去,好了pos马上就能跟着我代码里写的动了。

2024-01-28 20:44:22 263

原创 关于 Screen.safeArea的一知半解

我问了同事怎么处理的,同事说他也是用的这个Screen.safeArea这个方法,就很奇怪。那么问题只能出现项目设置上了,我开始对比项目设置 ,一个一个比较,打了几十个包,终于发现了影响因素,在这里,AndroidManifest文件的这句话。只要加上这句,SafeArea就能获取正确,但这句是具体怎么影响的,经过查阅,也没太看懂(主要也没什么时间) 希望有大佬能给我解答下~就奇怪了 同样的代码,这回SafeArea就对了,正好是比屏幕尺寸小一些,留出了摄像头的位置。

2023-12-14 10:58:13 1045

原创 RectTransformUtility的一些工具函数使用心得

忙里偷闲整理一下RectTransformUtility这个工具类里的几个函数使用方法~这个函数两个参数root , child都是transform,返回一个bounds。可以看出,坐标转换部分的原理是1.先把父级物体root的世界转local矩阵获取到2.然后把目标物体child(以及其他的子物体)用getworldCorner获取到他的世界坐标3.在用第二步的世界坐标乘以第一步的矩阵,这样就可以获得相对的local坐标了。

2023-07-13 15:57:45 807

原创 关于unity的NullReferenceException和missingGameObject

unity的小tips

2023-02-27 15:54:29 581

原创 关于unity打包apk在手机上安装失败(-108)

使用的版本unity2018.4 打包出来的apk在我的小米K50(安卓12)上,安装就会提示。最终解决方案 重新下载一个新版unity 我这里使用了unity2021.3。就是说咱这菜鸡也不知道到底是因为啥==查了好多办法 改安卓等级,不行。改打包方式il2cpp 不行。然后重新打包 ,就好了。安装失败(-108)

2022-10-08 08:18:46 4779 1

原创 菜ji瞎逼逼:基于UGUI的图文混排(续)

上一篇 图文混排时至今日又有到这个需求 就又把这个捡起来,顺便发现有了更好的理解。以做记录直接上shader// Author:zouchunyi// E-mail:zouchunyi@kingsoft.comShader "UI/EmojiText" { Properties { [PerRendererData] _MainTex ("Font Texture", 2D) = "white" {} _Color ("Tint", Color) = (1,1,1,1)

2022-01-26 15:35:32 2832

原创 不要小看序列化!记录一个小case

今天要做一个功能里面有个地方需要用到监听函数,想了想使用一下unityEvent吧,于是乎,有这样的代码: public UnityEvent RectSizeChangedEvent; public void RectSizeChanged() { RectSizeChangedEvent?.Invoke(); }这个是event所在类的代码,一个声明叫“RectSizeChangedEvent”的unity

2021-07-08 19:40:04 116

原创 做个unity自定义窗口的小记录

做一个自定义窗口的小记录,虽然已经做了好几次拓展unity窗口的操作了,但是每次都要要上网查查,这次自己记录一下,加深印象。实验要求:做一个再菜单里可以呼出的自己的窗口,窗口里面可以选择文件路径,然后找出文件中包含某个关键词的文件路径并显示。第一步:菜单呼出这个很简单: [MenuItem("Tools/SearchShader #Q")] public static void Doit() { EditorWindow.GetWindow(typeof(HLXWn

2021-04-30 15:07:01 232

原创 material和sharedMaterial

关于material和sharedMaterial一直不是太清楚这俩有啥区别,只是简单的知道sharedMaterial是共享材质,一旦改变了一个材质的属性,其他 所有用到的同样材质球的物体也会跟着改变这样。上网看文章也是大概就是这个意思。但是我一直不明白,那我再编辑器里简单的拖进来一个材质球给一个物体,那么此时这个材质球是这个物体的material还是sharedMaterial呢?也没有标注他是否是共享材质的方法呀?或者说,我平时在unity里改变某个材质球的参数的时候,一般都是所有同材质的物体都会跟

2021-01-25 20:44:02 686 1

原创 菜鸡瞎逼逼:基于UGUI的图文混排

前一阵子在做UI的时候遇到了这样的一个需求,是在一行里显示这样的东西:而且我们这个项目要做多语言,也就是前边后边的文字都不一定是什么,有可能是中文有可能是英文有可能是俄语也有可能是泰文…(我们项目虽然不大但是真的设计了12种语言的适配= =)所以就不一定多长。 这时候,我一想,这很简单嘛,建立一个UItext,写文字,建立一个UIImage放图片,把image挂在text上,然后锚点设置为末尾对齐,不就行了吗,这样就可以动态的适应前后的大小了。-------但是,直到我切换到日文这个语言的时候!…他

2020-07-19 16:04:29 3068 5

空空如也

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

TA关注的人

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