立体UI的实现方案请教

GS)3L{HGN6F{U9IJHY$0IM
如图,萌新想实现这种倾斜立体UI的效果,引擎版本3.6.1,已知方案:
1.美术制作3D材质直接使用,3D射线检测控制点击(效果,事件)
2.Canvas的相机改成透视模式,直接修改文本和纹理的Y轴旋转值,同样需要用到射线检测,但3D的射线检测好像在UI这儿不生效,不确定是否我没有写好
3.自定义着色器修改shader顶点,有点儿难度,不知道该如何做

有大佬了解这方面可以帮下忙么?上述方案1有美术成本,不想采用,2,3如果可行的话望大佬们给点儿提示,或者是否有其他方案?感谢!!!

用你的第二个方案,然后直接添加触摸事件不可以么

相机改成透视后,触摸事件就无效了



方案2的代码,触摸事件已经失效,射线检测也检测不到(不确定是否写的有问题)

你说得相机改透视是怎么处理得,我这里测试是可以得呀



image

大佬你的相机没有改模式么?按钮也能呈现出斜向的效果?

相机得这个属性不用修改得哈,如果想要2d相机透视得话,修改ClearFlags这个属性就可以了,你把Projection改回去应该就可以了

大佬能贴下你的属性检查器面板吗?

可以麻烦再贴下按钮的摆放属性么?感谢

感谢大佬,但是只想要在Y轴上做旋转,呈现水平3D的感觉,X轴参与旋转的话效果就不太可观了,我再探索下吧

改透视模式大部分 UI 显示没问题, 但逻辑上有两个地方要 patch
1- 替换 Canvas.prototype.alignCanvasWithScreen 的逻辑, 让画布始终能完全显示.
2- 替换 UITransform.prototype.hitTest 的逻辑, 改成射线测试, 否则点击会偏移.

大佬可以贴下代码么?

用input监听touch事件不可以么

相机改成透视后,监听就失效了,因为并没有点到按钮

昨天那个不可以用么,可以帮你的demo发下看下么

搞定了吗。。。各位大佬