2022
03-11
03-11
URP在小米10安卓12系统闪退
在小米10安卓12系统上闪退,同样的手机在安卓11系统和安卓12.5系统上就不闪退,原因是自己拓展的效果在CBuffer里没有字节对齐。 闪退错误 :ApiGLES::ClearBufferSubData(unsigned int, gl::BufferTarget, long, long)+168.... Read More >
专注移动互联网,专注Unity3D游戏开发
在小米10安卓12系统上闪退,同样的手机在安卓11系统和安卓12.5系统上就不闪退,原因是自己拓展的效果在CBuffer里没有字节对齐。 闪退错误 :ApiGLES::ClearBufferSubData(unsigned int, gl::BufferTarget, long, long)+168.... Read More >
Unity的Shader绝对是个黑盒,困扰了很多开发者,我也陆陆续续被困扰了好久。首先我们需要知道Unity的Shader从编写到最终被GPU执行经历了什么? 编写Shader的时候我们用的是HLSL语言,在打包的时候会根据目标平台生成对应的着色器语言,如Android平台是GLSL,iOS平台则是.... Read More >
UIToolkit使用了uxml来描述界面的布局,使用uss来制作不同样式,参考了web开发的xml和css方案。Unity2021已经将UIToolkit内置在引擎中,具有和UGUI同等地位。 比如要画一个按钮,对应的uxml 按钮的样式uss如下 在C#代码可以将名字和样式名绑定在一起添加点击事.... Read More >
有段时间没写东西了,最近有点小累啊。最近美术在K动画反映的问题,如果Image组件挂了新材质后,无法在Image上K材质中的效果。 使用MeshRenderer组件是可以K的,这里简单的给Image材质拓展了一个置灰的效果。如下图所示,MeshRenderer组件就可K材质动画。 所以我觉得,如果给.... Read More >
在URP下默认只有不透明才会有阴影,其实可以使用alpha test给shadowmap上画阴影, 物体本身则使用alpha blend这样也更加合理。 首先拷贝一下默认的Lit.shader,在Properties中添加一个Toggle变量来控制是否开启半透明阴影。 在写一个shader面板,继承.... Read More >
在前面的文章中 Unity3D研究院之实时获取手机电流、电压、计算功率发热(一百一十八) 我们可以给自己的游戏添加电流功耗显示,但是有时需要对比其他游戏,看看到底是它发热还是自己的游戏发热。如果只是统计别人游戏帧率那么可以很方便使用腾通讯性能狗这样的工具,但是如果帧率在相等情况下就只能根据电流来确认.... Read More >
Game视图同步Scene视图比较容易,直接获取Scene的摄像机坐标和旋转然后同步给Camera就可以。但是我想做的是Game视图运行时修改摄像机的位置,Scene视图来同步。 Unity给的一个解决方案是SceneView.AlignViewToObject但是会有延迟,无法做到每帧同步,后来翻.... Read More >
今年春节又是个特殊的时期,我也响应政府号召就地在北京过的年。我以为北京过年期间是不能放烟花爆竹的,开始觉得除夕夜应该会很冷清,没想到除夕当天周围从晚上8点开始一直放到了12点(中间就没有间断过),后来才知道原来政府允许5环以外燃放烟花爆竹。 趁着这这股劲春节期间我将这一年URP的使用提炼总结出一份教.... Read More >
项目中已经全面采用3D与2D结合的方式来制作UI,3D界面的透视感会更强。但是有一部分UI还必须是不带透视的,所以需要采取正交与非正交摄像机结合的方式。3D界面有两种方式,第一种是需要进行屏幕自适应的,另一种不需要与屏幕自适应,我姑且把第一种称假3D界面,第二种称真3D界面。 假3D界面的效果是,I.... Read More >
如果是自定义shader的通用面板可以看我之前的文章 Unity3D研究院之材质Shader通用面板(一百二十一) 这篇文章和它的原理是一样的。 首先shader graph有个很麻烦的问题就是自定义的keyword始终在面板的最下面不能和普通的属性进行排序,而且也无法展开分组的功能。为了实现通用面.... Read More >
以前写过一篇类似的文章用于解决新手引导的问题, Unity3D研究院之将UI的点击事件渗透下去(九十) 最近策划又提出一个需求,Tips窗口打开以后点击空白区域关掉,但是如果空白区域下有按钮滑动输入一类的要关掉Tips的同时要响应相面的事件,所以透下的事件就要比较完整了。开始我觉得这个需求很不合理,.... Read More >
技美在调shader的时候可能不太擅长C#编辑面板的代码,所以有了这篇文章。我封装了一个通用的着色器GUI面板,这样就可以不需要写C#代码了,实现的过程中试图解决了这几个问题。 1.视图解决分组面板展开与缩进 2.if标签与原生标签的混合 我看了下编辑器下C#的代码自定义MaterialProper.... Read More >