【发布时间】:2017-11-02 16:34:52
【问题描述】:
我想将球体的世界空间坐标转换为屏幕空间坐标,以获得屏幕空间边界,然后我可以用它来覆盖 div。
理想情况下,我想扩展此函数以返回对象的高度和宽度,以及 x 和 y :
toScreenPosition : 函数 (obj, 相机) {
var vector = new THREE.Vector3();
var widthHalf = 0.5*world.renderer.context.canvas.width;
var heightHalf = 0.5*world.renderer.context.canvas.height;
obj.updateMatrixWorld();
vector.setFromMatrixPosition(obj.matrixWorld);
vector.project(camera);
vector.x = ( vector.x * widthHalf ) + widthHalf;
vector.y = - ( vector.y * heightHalf ) + heightHalf;
return {
x: vector.x,
y: vector.y
};
},
【问题讨论】:
-
我假设您的意思是要将世界空间坐标转换为屏幕空间坐标以获得球体的屏幕空间边界?
-
@Soviut 你是对的。
-
您应该更新您的问题和标题以提及这些详细信息。你会得到更好的牵引力。
-
@Soviut 更新
标签: javascript three.js