【发布时间】:2016-02-21 22:13:38
【问题描述】:
我实现了一个类似于this one 的地球仪 但是,当地球处于静止位置时,在尝试获取 Three.js 中场景可见的国家/地区时,遇到了一个问题。当我使用 readPixels 将鼠标悬停在/单击特定国家/地区时,我可以检索国家/地区颜色代码并获取像素的适当颜色代码,如下所示
var gl = renderer.context;
var mx = ( mouseX + renderer.context.canvas.width/2 );//(mouseX + renderer.context.canvas.width/2) * 0.25;
var my = ( -mouseY + renderer.context.canvas.height/2 );//(-mouseY + renderer.context.canvas.height/2) * 0.25;
mx = Math.floor( mx );
my = Math.floor( my );
var buf = new Uint8Array( 4 );
gl.readPixels( mx, my, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, buf );
但是当地球停止旋转时,我需要从场景中获取用户可见国家的列表,我尝试使用 Raycaster 获取网格并扫描所有像素并获取国家代码,但似乎是一种表现为我们打球
如果有人可以提供他们的意见,请欣赏
【问题讨论】:
标签: javascript three.js