3D坐标如何转化为屏幕坐标?

目前粒子、拖尾等特效只支持2D表现。

解决思路:
在3D场景中确定特效的坐标,转化为2D屏幕坐标,在2D屏幕中显示特效。

问题:
如何通过3D场景中坐标,获取对应的屏幕坐标?

同问。 我也遇到这个问题

已知worldPosition和camera,求viewport坐标

一边提问我好像想到了。。。这一定是camera的api。于是我找到了

老哥 怎么转的屏幕坐标,camera的api好像没有呀

局部坐标->世界坐标->摄像机坐标

这个不包含投影吧?

那2个api不是2D的吗?cc.v3怎么转成cc.v2呢

同求 官方有提供吗

x, y, z 只取其中两个值,生成 Vec2 就可以了。

就这样?

这样做不行吧

这是最直接有效的方式,当然你要配合把摄像机对准你的新坐标系统。

不 明白

大佬能详细点吗

pseudo code

var v2 = cc.v2(v3.x, v3.z); cameraNode.setPosition(0, 100, 0); camera.lookAt(0, 0, 0,);

你好,我也遇到类似问题,请问能不能帮忙看一下
https://forum.cocos.com/t/2-1-2-3d-ui/82404

世界坐标系转换为屏幕坐标系API:
let pos = new cc.Vec3(1,2,3); //世界坐标
let screen_pos = cc.Camera.getWorldToScreenPoint(pos)

2赞