小编fnc*_*mbo的帖子

在Three.js中创建一个带圆角的立方体

是否可以在three.js中创建一个自定义半径圆角的立方体,然后能够用图像纹理该立方体?

javascript 3d three.js

12
推荐指数
2
解决办法
9842
查看次数

Three.js使用Ray检测2个移动物体之间的碰撞

我正在使用THREE.js和WebGL渲染在3D中制作突破性游戏.我想使用THREE.Ray检测弹跳球和底部平台之间的碰撞,这可以由你控制,但我遇到了麻烦.

我已经设法将光线从平台投射到球上(或其他方式)但是一旦我这样做,球就会卡在屏幕中间并且无法动画.

var ray = new THREE.Ray( platform.position, ball.position.subSelf( platform.position ).normalize() );
var intersects = ray.intersectObject( ball );

if ( intersects.length > 0 ) console.log(intersects[0].distance);
Run Code Online (Sandbox Code Playgroud)

我试图消除subSelfnormalize(),但是,打破了检测.

这是游戏和代码可以在script.js中找到:

http://dl.dropbox.com/u/4531743/WebGL/Breakout-3D/index.html

如果您打开控制台,则可以看到如果移动面板,距离值会发生变化,这样做很好.但是球不能被动画,因为在每一帧它被设置到那个位置.

http://dl.dropbox.com/u/4531743/WebGL/Breakout-3D/index.html#disableRay

以上就是我最初的做法,只需计算球和面板的Z位置,看它是否更大并且在面板的宽度(x)坐标内,如果是,则将其反弹.

球的弹跳只是每帧都将固定量的X和Z坐标改变,如果它在任何一个方向上都走得太远,则反转这个数量以使其返回.

javascript collision-detection three.js

3
推荐指数
2
解决办法
5252
查看次数

标签 统计

javascript ×2

three.js ×2

3d ×1

collision-detection ×1