js Raycaster没有与我的自定义网格相交
Three.js Raycaster not intersecting my custom mesh
我是Three.js的新手。Raycaster可以找到导入的对象,但当我创建自定义网格时,它不起作用,如下所示:
var geom = new THREE.Geometry();
var v1 = new THREE.Vector3(0,0,0);
var v2 = new THREE.Vector3(0,500,0);
var v3 = new THREE.Vector3(-400,-500,50);
geom.vertices.push(v1);
geom.vertices.push(v2);
geom.vertices.push(v3);
geom.faces.push( new THREE.Face3( 0, 1, 2 ) );
geom.computeFaceNormals();
meshFrame = new THREE.Mesh( geom, new THREE.MeshNormalMaterial() );
meshFrame.position.z = 20;
meshFrame.rotation.y = 0;
meshFrame.verticesNeedUpdate = true;
scene.add(meshFrame);
你认为问题可能是什么?射线在三角形中经过,但仍然相交对象返回空。这里,我的光线投射代码:
var ever = bver.clone();
ever.setComponent(2,ever.z+150);
var geometryF = new THREE.Geometry();
geometryF.vertices.push(
bver,
ever
);
var bray = new THREE.Ray(bver, new THREE.Vector3(0 ,0, 0));
bray.lookAt(ever);
var raycaster = new THREE.Raycaster();
raycaster.set( bray.origin, bray.direction);
var intersects = raycaster.intersectObjects( [meshFrame] );
var x = [scene.getObjectByName( "meshFrame" )];
print(meshFrame.geometry.vertices);
console.log(intersects);
var lineF = new THREE.Line( geometryF, materialF );
scene.add( lineF );
非常感谢您的帮助
好的,我解决了这个问题。显然是脸的朝向出了问题。当我把它倒过来的时候,它开始工作了
相关文章:
- ui网格:在自定义表头模板中触发排序
- 如何从自定义对话框编辑数据网格中的选定行
- Kendo UI网格自定义编辑按钮
- UI网格:如何从自定义函数访问MODEL_COL_FIELD
- Dynamics CRM.在子网格中完全自定义FetchXml
- 动态网格作为自定义指令
- 剑道网格不允许我在使用自定义列模板时过滤列
- Javascript使用自定义按钮手动打开Kendo UI网格编辑器
- RefreshFilter在DHTMLX网格中不起作用.当我使用自定义组合框时
- CRM 4.0:自定义网格颜色
- (三.js)自定义网格UV显示纹理正确
- 使用自定义网格,而不是生成的三分之一.js网格
- 如何在Babylon.js中创建自定义网格
- js Raycaster没有与我的自定义网格相交
- 将数组迭代到自定义网格中
- 我可以使用OpenLayers来创建一个简单的自定义网格系统吗?
- 用THREE.js创建一个自定义网格
- ExtJS 6中的自定义网格过滤器
- Kendo网格验证不适用于自定义网格行为
- 剑道UI网格:无法创建将添加到数据源的自定义网格编辑器