- 博客(27)
- 收藏
- 关注
原创 关于HDRP下render graph与Custom pass的流程
而且还有一些开源的渲染图系统框架,在Vulkan或DX12之上建立一个新的软件层,这是与引擎无关、可扩展的,例如AMD开发的Render Pipeline Shaders SDK。在这个using块里你通过RenderGraphBuilder 声明了资源的读写,其实进一步是跳到了RenderGraphPass的里面,它去维护它自己需要的那些资源都是啥权限。首先想它何时创建的?RenderFeature是在universal包里的,RenderGraph是在core包里的,后者在任何SRP管线都能用。
2025-11-18 23:21:53
483
原创 关于光照探针的实验和疑问
而且探针还会采集相邻的其它探针存储的光照信息,把所有采样到的信息插值,以此得到任意位置的光照信息。下面2张图是烘焙完光照贴图和光照探针后,右侧的物体关闭和开启接收光照探针的差分(此时已经没有实时光和环境光)。但是实测这个说法并不对,从上面的图就能看出来,即使我拉的再远,而且在运行模式中,开启、关闭物体的接收光照探针选项,也是有颜色差异的。问题是,光照探针没有范围,因此但凡场景中存在光照探针组,那么天空环境光就再也无法生效,即使你本来只是想在室内用探针。当物体接收光照探针时,就不会接收来自天空的环境光。
2025-10-30 23:12:07
955
原创 打开Android Studio的问题
如果用unity的sdk,和ndk是分开放的。而local.properties里只写了sdk的路径,所以才会报错找不到NDK。ndkPath “/Users/ndkPath/ndk21” // 指向你的 NDK 路径。因为gradle-wrapper.properties里写的地址是墙的。方法2、在build.gradle里写上,如果有多个配置文件都要写上。方法1、添加一行,把ndk也写上。但是这会和第1条冲突而报错,只能选择一个。也是墙的原因,需要在文件里配镜像地址。
2025-10-11 21:48:08
188
原创 Render feature笔记、URP代码流程
拷贝一般不需要msaa,置成1就行。实际是被相机持有的,一个相机对应一个UniversalRendererData,这里面有相机需要的一些属性配置。1、写一个类继承ScriptableRendererFeature,再写一个类继承ScriptableRenderPass,可以选择写一个可序列化的配置类,用来在编辑器面板上输入pass类构造需要的参数。如果创建了渲染纹理,需要在pass类需要写个函数手动释放我们分配的渲染纹理,可以在feature类重写Dispose并调用pass的释放函数。
2025-10-11 21:15:17
865
原创 C#/Unity工程——代码分析,自定义代码检查和修正
比较大的项目经常会有一些自己的代码规范,例如 不允许使用静态字段、日志输出需要if log开关判断 等等,依靠程序员自觉性不靠谱,最好是让IDE直接报红或报黄。这需要修改编译器的行为。
2025-09-30 11:32:54
864
原创 unity的scrollRect实现gallery效果
有一些UI工具包里已经支持这样做,例如ListView、LoopList之类的东西。但是用起来感觉太复杂了,我只需要一个简单的滑动吸附效果。一个很常见的需求:滚动区域要做成画廊那样 一页一页翻的。内置的scrollrect没有直接支持,得自己去处理滑动之后的自动吸附。
2025-08-01 20:32:06
207
原创 从json到ScriptableObject,生成、通用类型(object)的处理、消耗对比。
拿配置表的实现方式来说,json查看清晰,修改方便(复制大法、ai生成)。但是读出来需要反序列化,用反射把表里的字段映射到目标类的成员上,消耗较大。ScriptableObject读取代价小,读出来就是目标类型。但是配置量较大时操作繁琐,可读性也差(配置是长度好几十的数组,每一条又是个数据类,不可能纯手动编辑)。
2025-07-07 21:50:00
331
原创 unity spine 实现不规则区域的点击
在unity的ui中,美术提供的spine动画可能是不规则形状的,会有很多透明区域。当这种spine作为可点击区域的时候就很容易点到我们不希望响应的地方,特别是当元素比较密集的时候。比如一个世界地图,如果每个版块是用spine来做的,那边界就非常容易误触。
2025-04-30 18:12:36
1288
原创 TextMeshProUGUI字体修改倾斜度
倾斜角度的配置在字体资源里,比如FontNormal_SDF.asset。检查器面板拉到最下面,看Italic Style,默认值是35。unity的TextMeshProUGUI文本控件自带倾斜功能,但是不能直接自由设置倾斜角度。切记不要直接修改源资源,否则会持久化到磁盘上。还有要手动销毁拷贝资源。
2025-03-27 21:59:20
475
原创 visual studio用GitLineCodeLens扩展造成CPU过高
visual studio自带的git功能比起Jetbrains系列的要少的可怜,无法轻松看到每一段代码是谁写的。vscode还有GitLens之类的扩展都不错,但是vs studio找了好久都没好。经过反复重启比对,确定就是这个扩展造成的CPU占用急剧升高。随便打开两三个文件放那不动轻松超过50%,动的话分分钟90%以上。启用之后感觉是挺好用的,但是几分钟之后发现电脑卡爆了,一看CPU占用100。一款扩展插件:GitLineCodeLens。
2025-03-21 20:22:36
291
原创 unity spine切换动画时残影或闪烁,SetToSetupPose不行。
默认情况spine动画在切换时自带过渡,由一个动画状态切到另一个动画状态时会出现一段本不存在的位移,这从预览器或编辑器预览窗口里都能看到。在代码里切换时也会有这种情况。我的场景是一个界面里有多个节点用的同一个spine资源,有一部分节点是隐藏的。还是看到了spine官方给的方案,直接去除默认的动画过渡就行了。然而我尝试这会引入新的问题。虽然没有多余位移了,但是会闪一下。//可能还有spineBg.Update(0);网上的解决方案全部都是说。
2025-02-13 11:10:59
738
原创 Rider看不到git高亮,git注解按钮annotate是灰色
当工程有多个程序集时,打开某些文件,Rider编辑器右键看到annotate是灰色的无法点击。写代码左侧也没有高亮条。文件标签页没有变成蓝色。在本地的项目目录里找到.idea文件夹,进去找到vcs.xml,用记事本打开。添加需要git注解的目录。之后可以看到有高亮条了,可以点击git注解选项了。
2024-08-31 17:15:29
559
原创 Unity的Animator动画结束取消循环
设置Animator动画时如果是从Entry一路连接状态到Exit,会从Exit自动回到Entry循环执行。为了取消循环,查了一些办法。首先对于如何停下,可以采取1 禁用控制器2 控制器的speed设为03 timescale设为04 最后一个状态不连接到Exit其次,对于在哪里停下,很多地方给出的是这样的代码——stateInfo = animator.GetCurrentAnimatorStateInfo(0);if(stateInfo.normalizedTime >=1.0f)
2022-03-29 17:10:32
8830
原创 更改集合元素或map键后找不到元素——内存泄漏
HashSet是根据元素的hash值来查找的,HashMap也是根据key的hash来查找的。如果先添加了元素,然后又在外面单独对元素做修改,很可能导致再次查找时找不到,因为这个元素的hash值已经被修改了。这并不是出现在所有的数据类型中,只会出现在那些根据自身值或属性计算hash值,而修改时又恰好是修改这些的。下面做个测试, System.out.println("----int----"); int a = 2; Set<Integer> set = n
2021-08-30 11:39:08
302
原创 cocos creator随便乱记的笔记——可能大概是3.0新的用法
一个纯洁无瑕的萌新学的时候随便记的,不理解、不准确、不用看、不一定更新。。。属性声明所有想在引擎里看到并挂载的属性在声明的前面都要加@property装饰。不想手动挂载的不用装饰,但是所有的变量都要有声明和定义。图片资源无法挂载,拖拽是红色图片添加到资源管理器后默认的Type是texture,无法直接挂载。解决:点击图片,在属性检查器的最上面一栏Type改成sprite-frame。(如果是图集资源则不会出现这个问题,直接挂载即可)camera照不到东西操作:从资源管理器里直接拖拽图片
2021-05-04 17:01:23
1250
原创 java的整型与字符串型数组与集合类之间的转换
数组与List、Set这些集合类之间的转换。对于字符串类型来说方法比较多,数组转列表:List list2 = Arrays.asList(array2);ArrayList<String> list2 = new ArrayList<String>(Arrays.asList(array2)) ;ArrayList< String> list2 = new ArrayList<String>();Collections.addAll(lis
2021-03-18 17:19:34
341
原创 随记——C++成员初始化
初学C++,各种成员看的晕头转向,在这里临时记录总结一下它们的初始化。4种成员类型:普通变量、普通常量、静态变量、静态常量。所有都要在类里声明;静态常量整型可以在类里直接赋值初始化(=定义);静态变量、静态常量 在外面赋值初始化;普通变量既可以用构造函数初始化列表,也可以在函数体内部赋值;普通常量只能用构造函数初始化列表//Test.h文件class Test{private : int bian; //普通变量 const int chang ; //常量 st
2021-03-13 15:36:43
142
原创 Cannot resolve class or package ‘jdbc‘(‘web’)
今天在搭建maven web项目时出现的问题,在pom.xml中明明已经成功导入了依赖,但是在其他xml中引用时仍然是红字,上面显示Cannot resolve class or package ‘xxx’ ,我的是web的相关和jdbc。这个问题就是导入了跟没导一样。到网上查了半天也没有方法,所有人都说在pom中导依赖、clean之类的,但我的问题是依赖显示正常而它用不了,只能自己一点点去追根溯源了。最后解决办法是删除本地依赖包重新导入一次,然后重启idea。我也不知道根本原因,现在来逐步看一下:这是
2020-11-16 19:22:46
1829
原创 maven项目 Could not transfer artifact 或 Cannot resolve plugin
好久没用maven了,今天重装了idea又试试建maven项目。结果创建时出现error:Could not transfer artifact org.apache.maven 巴拉巴拉一堆,后面还有Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.3等一列类似的。1.老套路了,镜像。。网上几乎全是要配置镜像,配阿里云的、Junit的,配一大堆阿里的。。如果能解决,那问题就太简单了。因为姑且还是有因为这个的,把查到人
2020-11-15 22:25:25
343
原创 VMware的XP虚拟机联网
更改物理机的适配器?查看IP地址?关防火墙?开乱七八糟的服务?麻烦来麻烦去几个小时最后全是徒劳!一步到位在虚拟机上,点击编辑——虚拟网络编辑器——选择NAT模式。更改配置——还原默认。即可完成!...
2020-11-10 20:22:24
2784
3
原创 eclipse的AmaterasUML插件安装
我一拳一个3个jar包怪。。。1.本地导入(假)今天安个AmaterasUML插件,网上好多都是直接给的链接1.3.4,里面就3个jar包,然后解压出来复制到eclipse/plugins里,重启即可,不行clean,不行就删update。我删了俩小时也没删出来啊!2.MarketPlace下载(假)哈哈,没想到吧Market里根本搜不到这玩意,网页版能查到也没有下载链接。3.帮助-安装新软件输入链接https://takezoe.github.io/amateras-update-site/
2020-11-09 20:04:21
315
1
原创 关于eclipse插件本地导入不了的问题
为什么要本地导入?因为连不上远程的啊!各种报错接连不断,就算好运开始龟速下了,中途必定出现大量错误最后要么卡死要么终止,全是徒劳。在别地方下好了,本地导入在帮助-安装新软件里选择local找已经下好的插件文件夹,全部选中即可。然后很可能出现:无法执行操作,正在寻找替代解决方案。找了半天,开始安,然后报错:Cannot complete the install because one or more required items could not be found.Software bein
2020-11-09 18:47:59
637
原创 mysql安装配置最后一步不卡但是没对勾无进度
安一个mysql安了大半天。。开始是因为到最后一步总是无响应,只能强制关闭,然后数据库无法启动,跟没安上一样。后来查别人发的一个更改服务器名字的办法,试了一次发现不会无响应了,但是执行最后一步就是不画对勾,随便点了一下上一步再点回来执行发现突然刷刷4个对勾完成了,成功。不作死就不会死,我删了想换个磁盘重装,发现再也不对了。。到网上找了很多方法,找残留目录啊、删注册表啊乱七八糟的都做完还是一样,反复试了几十次都没用,最后一步就是勾不上,干脆不管了。但是此时目录下没有生成my.ini文件,还是不能用。于是
2020-07-16 16:54:42
2264
1
原创 解决mysql系统错误1067及‘mysql.host’ doesn‘t exist
启动MySQL服务器时出现如下报错:MySQL服务器无法启动系统出错发生系统错误1067忙活了近半天终于解决了!1.查原因出现1067是因为my.ini文件有问题,于是我直接复制了my-small.ini然后在里面加上basedir和datadir的路径,结果无用。2.在Windows的事件管理器查看日志发现如下错误Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist。于是我到d
2020-07-16 16:21:27
773
原创 Java的几种设计模式原则
Java设计模式原则一.单一职责原则一个类只要负责一个职责,不要在设计中使用一个带有很多功能的类。当一个类能做到很多事情,我们应该把他拆开。很多人为了高聚合把很多无关的事情交给一个类做,这让以后程序的功能很难修改与扩展。这个很容易理解,提高类的可读性,并且降低类的复杂度,降低变更的风险。二.接口隔离原则客户端不应该依赖不需要的接口,如果一个实现类只需要接口的部分功能请把接口分开。这也是不给客户端提供不需要的方法,不增加冗余代码。三.依赖倒置原则高层不应该依赖底层的细节,而应该依赖接口或者其
2020-07-11 18:07:15
191
原创 Java——equals方法与hashcode
一.等价性抽象函数AF:内部表示->抽象表示的映射。我们可以基于抽象函数AF定义ADT的等价操作。等价性是我们定义的自反,对称,传递关系。判断对象是否相等。二.不可变类型的等价性我们可以利用AF,若AF映射到的抽象值相等,那么我们就认为对象相等。如果observer函数所提供的值相等那么也能判定相等。不论哪种方式,我们都可以看出。等价和ADT内部实现无关都是在观察角度说明的等价性。三.equals()与==为引用等价性:判定两个引用是否指向同一个对象。而equals()为对象等价性:判定两个
2020-07-11 18:04:51
173
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅