位置: 编程技术 - 正文
推荐整理分享Unity3d 调整UI和粒子特效的层次关系(unity如何调整界面),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:unity怎么调整布局,unity3dui界面教程,unity3dui界面教程,unity如何调整界面,unity如何调整界面,unity如何调整界面,unity3d怎么调整视角,unity如何调整界面,内容如对您有帮助,希望把文章链接给更多的朋友!
在Uniyt3d开发中,在UI上增加粒子特效是个很出彩的做法。但往往会遇到粒子特效与UI层次错乱的问题。下面分享一个自己的写得小的代码,轻松解决层次问题。 c# //目标控件 public UIWidget target; //记录上帧的RenderQueue private int oldRQ; void Update() { AdjustRQ ();//这个必须放在Update/LateUpdate/FinxUpdate里。因为NGUI的drawl更新是在lateUpdate()里的。 } public void AdjustRQ() { if (target == null || target.drawCall == null) return; if (target.drawCall.renderQueue == oldRQ) return; Renderer[] rends = transform.GetComponentsInChildren<Renderer> (true); if (rends == null)return; for (int i=0; i<rends.Length; ++i) { if(rends[i].material!=null) rends[i].material.renderQueue=target.drawCall.renderQueue+1;//将renderqueue调整到目标控件之上 } oldRQ = target.drawCall.renderQueue; } 上面代码的使用很简单。只需要新建一个MonoBehaviour文件,代码贴进去。然后把该脚本绑定到粒子特效的预设上。target的值可以通过拖拽赋值或者代码赋值都可以。这个target就是粒子特效要显示在其上层的UI。 整个实现原理很简单。就是在运行的时候找到UI的RenderQueue然后把粒子特效的RenderQueue放在其之上就好了。其他Ui的RenderQueue比它大就会挡住它。也就可以把粒子特效当成一个UI了。当然,有时候如果特效的shader启动了深度检测,还需要调整下UI的z值。
Unity3d热更新(四):压缩文件 之前提到过通过AssetBundle.CreateFromFile读取本地AssetBundle,因为该方法只能读取未压缩的AssetBundle,所以打包AssetBundle时,需要选择BuildAssetBundleOptions.Uncompres
Unity3d热更新(三):更新资源流程 1.生成配置文件在资源打包AssetBundle后,需要计算资源文件的MD5,生成配置文件。下面给出一个例子://获取Res文件夹下所有文件的相对路径和MD5值string[]
Unity与注册登录服务器交互原理及code 主要用到了unity内置的WWW类和WWWForm类,运用WWWForm.AddField(StringfieldName,Stringvalue)方法通过post的表单提交方式把表单参数传递给服务器端的逻辑业务层。(
标签: unity如何调整界面
本文链接地址:https://www.jiuchutong.com/biancheng/375692.html 转载请保留说明!上一篇:Genesis-3D,搜狐畅游的免费开源游戏引擎(搜狐畅游手游官网)
友情链接: 武汉网站建设