北京seo网站设计_专业做公司网站_各平台推广费用_百度手机助手下载安卓版
2024/12/22 18:28:37
来源:https://blog.csdn.net/GrimRaider/article/details/144194589
浏览:
次
关键词:北京seo网站设计_专业做公司网站_各平台推广费用_百度手机助手下载安卓版
北京seo网站设计_专业做公司网站_各平台推广费用_百度手机助手下载安卓版
背景:
- 制作2D游戏时,需要按Y轴做渲染排序,保持正常的遮挡关系。
- Tilemap混合Sprite、Spine使用。
环境:
- Unity2021.3.14f1c1
- SRP
技术方案:
- 在ProjectSettings\Graphics 里设置 Transparency Sort Mode 为 Custom Axis,Transparency Sort Axis 为 {x: 0, y: 1, z: 1} 或 {x: 0, y: 1, z: 0};或在特定的Camera中设置
Camera cam;
cam.transparencySortMode = TransparencySortMode.CustomAxis;
cam.transparencySortAxis = new Vector3(0, 1, 1);// new Vector3(0, 1, 0);
- Tilemap制作地图基础层;
- 地图上需要互动的对象或需要处理层次关系的使用Sprite + Spine;
- Spine需要添加父节点,父节点挂SortGroup脚本;
- SortingLayers的设置划分为:Tilemap 和 非Tilemap;非Tilemap再分为3层(地面层 | 中间层 | 天空层);
- 需要使用Y排序渲染顺序的不能挂在同一个SortGroup节点下;
遇到的问题:
- 加了SortGroup,所有Sprite放在SortGroup里,导致所有子Sprite渲染层级失效,因为按渲染排序,子sprite是按父的SortGroup处理的,例如:同Layer和Order下,父节点(SortGroup)的Y值决定子sprite全按父节点的Y值算渲染排序。
参考:
- 2D 排序 - Unity 手册
- Unity小知识点大全(一) - 北田 - 博客园
- unity中spine物体与其他物体的遮挡关系 - Spine Forum
- Transparency Sort Mode Not Working At All - Unity Engine - Unity Discussions
- Transparency sort mode not working in URP - Unity Engine - Unity Discussions