javascript – TypeError对象[object object]没有方法SubSelf,TypeError对象[object object]没有方法intersectsPlane

前端之家收集整理的这篇文章主要介绍了javascript – TypeError对象[object object]没有方法SubSelf,TypeError对象[object object]没有方法intersectsPlane前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在使用优秀的Sim.js和Three.js库进行WebGL项目时,我偶然发现了下一个问题:

在某个地方,它使用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方法

解决方法

我相信THREE.js api改变了一段时间.

正如您所发现的,Vector3的subSelf()is now simply sub().

和Ray的相交于平面()looks like it should be intersectPlane().

如果你想要复杂的场景交集,请改用you probably want to use Raycaster.文件http://mrdoob.github.com/three.js/docs/56/#Reference/Core/Raycaster

Three.js文档并不是最好的东西……然而,从inspecting the source code开始就可以获得很多见解.

猜你在找的JavaScript相关文章