Unity渲染层级问题
前言最近做2D的游戏项目比较多,有比较多需要在UI的Canvas下渲染的交互界面,粒子特效等。为了让不同层UI和粒子特效之间有正确的遮挡关系,笔者在Sorting Layer,Order in Layer,RenderQueue这些上踩了不少坑。因此自己在Unity测试了一下后,打算整理出来,一是记录,而是分享。
注意:以下讨论仅围绕Canvas下的渲染顺序
1. 纯UI在无自定义Shader,使用Unity默认UI材质的情况下(不考虑RenderQueue)。渲染受Canvas组件中Sorting Layer和Order in Layer参数的影响。下面分几种场景情况
1.1 同Canvas同一Canvas下,渲染顺序受UI物体在Hierarchy的位置的影响,遵循”下压上“的原则。即在Hierarchy中靠下的物体,在渲染时会压住同一层级中上面的物体。举例如下:
如上,红、黄、绿、蓝共4个Image都在Canvas1下。Hierarchy中从下到上是蓝->绿->黄->红,根据“下压上”的原则,可以在Game窗口看到确实是蓝压着绿压着黄压着红(会不会写的太细了 ...
PrimeTween学习笔记
前言之前一直用的是DoTween,在看一个DoTween的B站视频时,看到评论区有人提到了PrimeTween,且提到了“高性能”,因此就找到了Github上的仓库,被其高性能(是DoTween的几倍性能)与“0GC”吸引,于是通读了文档并简单实践了一下。下面有针对性的记录一些个人感觉印象比较深刻,以及可能比较常用的点:
Tween
使用Tween.来调用Tween的静态方法以创建一个Tween动画
Tween是一个结构体,可以用变量接收并查看Tween的状态或控制其行为,例如:12345Tween m_Tween = Tween.PositionX(...);if(m_Tween.isAlive && m_Tween.isPaused){ m_Tween.Stop();}
Tween几乎可以驱动任何Unity中元素的变化,如UI,UIToolKit,Material,Camera,Transform等
PrimeTween中不支持对Tween的正向/逆向播放,因此如果想实现类似于窗口的弹出/收回,UI组件的渐隐/渐现的 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment