2D文字跟随3D角色,如何实现?
@property(Node)
pos_3d: Node = null!;
@property(Node)
pos_2d: Node = null!;
@property(CameraComponent)
camera: CameraComponent = null!;
start () {
let _v3_0: Vec3 = new Vec3(0, 0, 0);
this.pos_3d.getWorldPosition(_v3_0);
console.log("p3:"+_v3_0)
this.camera.convertToUINode(_v3_0, this.pos_2d.parent!, _v3_0);
console.log("p2:"+_v3_0)
this.pos_2d.setPosition(_v3_0)
}
console输出:
p3:(57.66, 31.55, 41.96)
p2:(46124.00, 11357.13, 21.48)
转换后的点的坐标怎么是好几万啊,是我用法不对吗?我把pos_p2节点是放到Canvas下面的。
延迟1帧,试试。
1赞
原来把转换代码放到 lateUpdate里就可以了,太感谢了!!其实很多问题解决方法都是很简单的,但就是很多文档或教程不说清楚,这个3D转2D坐标也找了几个教程,都写了一大堆不重要的代码,唯独不讲这个关键点,以至于研究了好久也做不出来。
谢谢!已经做出来了,就是我上面那段代码把start 里的代码换到LateUpdate里就可以了。
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。
