Я пытаюсь загрузить внешнюю модель с помощью ObjectLoader. Я использую следующий кодКак получить доступ к загруженной модели с помощью objectLoader
loader.load('teapot.obj', function (object) {
globalobject=object;
object.traverse(function (child) {
if (child instanceof THREE.Mesh) {
child.material.map = texture;
console.log(child);
child.position.x = 3;
child.position.y = -6;
child.position.z = -17;
child.scale.x=.04;
child.scale.y=.04;
child.scale.z=.04;
child.name='tea';
scene.add(child);
}
});
Но когда я пытаюсь получить доступ к этому объекту в моем методе отрисовки с помощью следующего кода он показывает ошибку
scene.getObjectByName('tea').rotation.z+=.01;
Я видел, используя консоль, которая scene.getObjectByName('tea')
является undefined
я могу используйте все другие стандартные объекты Mesh, используя указанную выше команду, но в чем проблема с моим объектом, загруженным с помощью загрузчика? Может кто-нибудь мне помочь?
вы назначаете такое же имя для всех ваших дочерних объектов. – gaitat
Как я могу это сделать тогда –
Я также пробовал использовать следующий код object.name = 'tea', но тот же результат я получил –