在使用优秀的Sim.js和Three.js库进行WebGL项目开发时,我遇到了一个问题:
在某个地方,它使用了THREE.Ray的下一个构造函数:
我试图更改这个东西,结果在这个调用上出现了一个新的错误:
在某个地方,它使用了THREE.Ray的下一个构造函数:
var ray = new THREE.Ray( this.camera.position, vector.subSelf( this.camera.position ).normalize() );
vector是一个Vector3对象,
这引发了以下错误:
TypeError:Object [object object]没有subSelf方法。
我查看了我使用的Three.js文档,并且在接近这个方法的Vector3对象上找到了一个方法。
.sub( v ) Vector3
我试图更改这个东西,结果在这个调用上出现了一个新的错误:
var intersects = ray.intersectScene( this.scene );
再次出现错误,因为当我查看时,ray没有intersectsPlane方法。
Ray
,因为它们不再处理复杂的碰撞。Ray
现在是一个纯数学结构,但是发射光线现在由一个叫做Raycaster
的新类来完成。https://github.com/mrdoob/three.js/blob/master/src/core/Raycaster.js - Alex Wayne