- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Three.js:版本 73
我正在使用以下构造来查找鼠标单击与 3d 世界中对象的交集(正交设置):
function onDocumentMouseDown(event) {
event.preventDefault();
console.log("Click");
var mouse = new THREE.Vector2();
mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;
var raycaster = new THREE.Raycaster();
// update the picking ray with the camera and mouse position
raycaster.setFromCamera(mouse, camera);
// calculate objects intersecting the picking ray
var intersects = raycaster.intersectObjects(scene.children);
console.log("intersects: " + intersects.length);
for (var i = 0; i < intersects.length; i++) {
console.log(intersects[i].point);
}
}
但是,交集非常不准确。当我仅在框的左上角附近单击时,会捕获交叉点。
jsFiddle :有人可以帮我理解为什么会这样吗?
此外,如果未选择任何对象,我想找出 3d 世界中相对于框的点击位置 - 左侧、右侧、框下方?我可以使用射线本身来计算吗?
最佳答案
您必须获得准确的鼠标位置才能进行光线转换:-
mouse.x = ( (event.clientX -renderer.domElement.offsetLeft) / renderer.domElement.width ) * 2 - 1;
mouse.y = -( (event.clientY - renderer.domElement.offsetTop) / renderer.domElement.height ) * 2 + 1;
你必须在窗口调整大小时触发事件监听器我再次更新 fiddle 现在检查它。为窗口调整大小添加新功能...代码是 self 解释的......希望你明白了。
现在检查 Update Fiddle
更新的 fiddle :- http://jsfiddle.net/gc1v0rza/5/
关于javascript - 使用正交相机将鼠标点击转换为 3d 空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35032257/
我有一个由给定时刻的一组节点组成的图。该图可能会随着时间的推移而演变,即节点之间的关系以及节点本身可能会发生变化。 绘图必须是正交绘图。 我想画出图表的演变过程,即在不同的时刻绘制图表的图像,尝试从一
我有一个由 graphviz 工具制作的无向图(现在我正在使用 sfdp ): digraph structs { node [shape=Mrecord, URL="index_ne
我有一个世界地图的正交投影,在 D3 中并使用 TopoJSON。我通过调用此代码为每次加载数据的国家/地区着色。 地球在不停地旋转。 我的问题是,在旋转过程中我收到错误消息: 错误 >> 错误:在
我是 opencv 和 c++ 的新手,一直在尝试确定两条线是否几乎相互垂直/正交。有这个公式可以确定它们是否完全正交(m1*m2 = -1),而 m1 是第一个直线的斜率,m2 是第二个直线的斜率。
悬停时按钮会翻转但无法显示透视图。这就像动画的平面正交 View 。我使用的 perspective 属性有误吗? @import 'https://necolas.github.io/normali
我正在尝试使用高斯积分来近似函数的积分。 (更多信息在这里:http://austingwalters.com/gaussian-quadrature/)。第一个函数在区间 [-1,1] 上。第二个函
我在使用 opengl 绘制简单的 2d 纹理四边形时遇到了 z fighting 的一些问题。症状是两个物体以相同的速度移动,一个在另一个上面,但周期性地一个可以看穿另一个,反之亦然 - 有点像“闪
我正在尝试在背景图像(正交投影)顶部使用 Frustum 投影渲染一些网格。无论我做什么,背景图像始终位于场景顶部(隐藏网格)。 我尝试了一个小测试 - 当我用相同的投影矩阵渲染它们时 以正确的顺序
我是一名优秀的程序员,十分优秀!