关于如何在3d场景使用2dui,论坛一直有讨论实现方法,之前我一直使用的一个方法是在3d场景中放置一个quad,然后把2dui生成的texture传给quad来实现3d透视效果的ui。
官方之前也有推荐一个 UICoordinateTracker的方案,大致效果是根据3d坐标换算成2dui的坐标和缩放大小,来控制实现2dui跟随3d物体效果。
在参考了下2.x的3d场景效果后,在3.0中可以通过修改canvas组件的camera参数,可以比较直观组合2dui节点和3d节点,实现两者的结合。
这里是官方demo项目使用这个方法展现的效果

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


