three.js 3D坐标转化为2D屏幕坐标

2026-05-01 14:49:16 193
分类:three.js

three.js 3D坐标转化为2D屏幕坐标

//创建一个3D坐标
var vector = new THREE.Vector3();

//获取模型
var obj = scene.getObjectByName(modelName);
vector = vector.setFromMatrixPosition(obj.matrixWorld).project(camera);               
var halfWidth = window.innerWidth / 2;  
var halfHeight = window.innerHeight / 2;  
console.log(vector.x * halfWidth + halfWidth)

var result = {  
    x: Math.round(vector.x * halfWidth + halfWidth),  
    y: Math.round(-vector.y * halfHeight + halfHeight)
};

//2D坐标
console.log(result)

参考:世界坐标转化为屏幕坐标