2016-11-25 73 views
0

我正在制作一个threejs游戏。三个js对象z在碗上移动的位置

现在,会发生什么是,来自Z位置一球-5000 0

这是我如何创建网格:

let geometry = new THREE.SphereGeometry(100, 32, 32); 
    let material = new THREE.MeshBasicMaterial({ 
     map: loader.load("images/SoftballColor.jpg"), side: THREE.BackSide 
    }); 
    mesh = new THREE.Mesh(geometry, material); 

    mesh.position.set(0,0, -5000); 

在渲染,我运行这个代码(球越来越近):

mesh.position.z += 50; 

球到我这里来,但在一条直线上

瓦在我想做的时候,是在一个碗里做这个。有任何想法吗?

我会添加一些图像,使其更清晰。

预先感谢您。

球运动:

enter image description here

回答

0

Sinus功能会有所帮助。

var how_high = 1000; 
var start_position = new THREE.Vector3(0,0,-5000); 

你知道球的位置的z值,因此,它的y值将是

ball.position.y = Math.sin(ball.position.z/start_position.z * Math.PI) * how_high; 

jsfiddle例如

+0

谢谢!伟大的工作:) – Jesse

+0

标记答案被接受,请) – prisoner849

相关问题