Я действительно новичок в трех JS и Tween JS. Я взял его для моего проекта и был разочарован в последнее время. У меня возникли проблемы с попыткой tween object1. Есть и другие объекты в сцене. object2, obeject3 и т. д. Я не уверен, должен ли я добавлять числа в mtlLoaders и objLoaders.Невозможно перемещать объект внутри OBJLoader
var mtlLoader = new THREE.MTLLoader();
mtlLoader.transparency = true;
mtlLoader.setBaseUrl('assets/')
mtlLoader.setPath('assets/');
mtlLoader.load('exterior.mtl', function (materials)
{
materials.side = THREE.DoubleSide;
materials.preload();
materials.opacity = 0
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials(materials);
objLoader.setPath('assets/');
objLoader.load('exterior.obj', function (object1)
{
object1.position.y = .01
object1.position.z = -8
object1.scale.set(.04, .04, .04);
object1.castShadow = true;
object1.receiveShadow = true;
scene.add(object1);
}, onProgress, onError);
});
document.getElementById("engage").onclick = function engage()
{
test.start()
};
Вот моя анимация. Я не хочу, чтобы твин начинал сразу же, как я хочу, чтобы он начинался, когда нажата кнопка.
var test = new TWEEN.Tween(object1.position).to({ x: 1, y: 0, z: 0 }, 2000);
test.easing(TWEEN.Easing.Quartic.InOut);
твин, кажется, работает, когда я положил его после scene.add(object1)
и запустить его сразу, но я хочу, чтобы начать, когда кнопка нажата. Любая помощь приветствуется.
если вы 'console.log (document.getElementById («участвовать»))' это не определено? Если это так, вам нужно обернуть функцию click в событии 'window.onload' – Ronnie