嘿伙计基本上我有一个粗糙的场景设置。我终于能够将跑车的3D模型加载到我的场景中。
我可以使用例如sphere.translateY(1)。
为Object3D原语设置动画我为我的死亡无法弄清楚如何在我的汽车模型上做类似的翻译动画。首先它表示当我为它制作全局变量时未找到汽车变量,然后我尝试将汽车变为动画功能无效。
我确定translateY仅适用于像球体这样的Object3D,那么我如何在导入的3D模型上进行这种简单的翻译呢?我尝试增加位置。这是我的代码有人请帮忙! (我省略了相机和渲染代码等,这一切都只需要为这辆车制作动画!
var sphere;
var car;
function init() {
// THE USUAL STUFF, scene, camera, renderer
}
function addSceneElements() {
// Sphere
sphere = new THREE.Mesh(new THREE.SphereGeometry(8, 70, 20), blueMat);
sphere.position.set(-260, 9, 125);
scene.add(sphere);
var loader = new THREE.JSONLoader();
loader.load( "models/hotride.js", function(geometry){
var material = new THREE.MeshLambertMaterial({color: 0x66CCFF});
var car = new THREE.Mesh(geometry, material);
car.scale.set(7,7,7);
car.position.set(10, 22, -1000);
scene.add(car);
animate();
});
}
function animate() {
sphere.translateX(1);
//car.translateZ(2);
// car.position.z += clock.getDelta();
// render
renderer.render(scene, camera);
requestAnimationFrame( animate );
controls.update();
}
答案 0 :(得分:1)
你有一辆全球变辆车和一辆本地变辆车
var car;
function init() {
// THE USUAL STUFF, scene, camera, renderer
}
function addSceneElements() {
// Sphere
sphere = new THREE.Mesh(new THREE.SphereGeometry(8, 70, 20), blueMat);
sphere.position.set(-260, 9, 125);
scene.add(sphere);
var loader = new THREE.JSONLoader();
loader.load( "models/hotride.js", function(geometry){
var material = new THREE.MeshLambertMaterial({color: 0x66CCFF});
var car = new THREE.Mesh(geometry, material); //// <<<< local var !!!
这意味着全球汽车不会将网格分配给本地汽车。只需删除行中的 var 即可!
car = new THREE.Mesh(geometry, material); //// <<<< global var !!!
答案 1 :(得分:0)
您可以在新的Object3D中添加模型,并操纵此对象进行平移/旋转。