3D 和 2DUI 结合使用的方法

关于如何在3d场景使用2dui,论坛一直有讨论实现方法,之前我一直使用的一个方法是在3d场景中放置一个quad,然后把2dui生成的texture传给quad来实现3d透视效果的ui。

官方之前也有推荐一个 UICoordinateTracker的方案,大致效果是根据3d坐标换算成2dui的坐标和缩放大小,来控制实现2dui跟随3d物体效果。

在参考了下2.x的3d场景效果后,在3.0中可以通过修改canvas组件的camera参数,可以比较直观组合2dui节点和3d节点,实现两者的结合。

这里是官方demo项目使用这个方法展现的效果
GIF 2020-12-4 13-17-14

这个3dcanvas节点就基本相当于2.x的3dstage,可以组合显示3d模型和2dui,并且继承编辑器中父子节点的这些位置旋转缩放关系。除了还有一个深度遮挡的问题不能解决,基本上可以实现大部分3d和2d结合的场景需求了。

具体实现可以参考这个项目
taxi2.rar (3.3 MB)

9赞

奈斯,已白嫖

真的是滿棒的Demo,一開始開起不了是嚴格模式的問題,可以照這篇方法解決


然後從login場景開啟遊戲,還滿好玩的,玩到第九關:laughing:

不過要研究這個好像還是需要不少時間

能不能给我一个"2dui生成的texture传给quad来实现3d透视效果的ui"的demo.我自己实现的效果有问题,就是半透明的渠道,会和canvas的clearColor混合,不知道怎么改了.

谢谢

:grinning: :smile: :grin: :laughing: :smile: :smiley: :grinning:

和这个效果是一样的吗?
image