龙空技术网

Three.js世界坐标转屏幕坐标

外老师 97

前言:

当前小伙伴们对“js坐标转换”可能比较着重,朋友们都需要知道一些“js坐标转换”的相关文章。那么小编同时在网上搜集了一些有关“js坐标转换””的相关文章,希望咱们能喜欢,看官们一起来学习一下吧!

// 直接使用内置方法转换世界坐标到屏幕坐标var worldPosition = new THREE.Vector3(x, y, z);worldPosition.project(camera);// 注意:此时worldPosition的xyz已经变成了归一化的屏幕坐标// 若要转换为像素坐标,还需乘以canvas尺寸并偏移screenPosition.x = (worldPosition.x + 1) * width / 2;screenPosition.y = (-worldPosition.y + 1) * height / 2;

请确保在调用.project()之前,相机和相关渲染器的 matrices (view/projection) 已经是最新的,通常是在渲染循环中每次调用 renderer.render() 之后或 requestAnimationFrame 回调中调用 camera.updateMatrixWorld(true) 更新这些矩阵。

标签: #js坐标转换