se_demon
@se_demon

Three.js — как удалить js модель из сцены? (или просто скрыть?

У меня загружаются 2 модели.
Задача по нажатию на кнопку (ссылку a href) скрыть одну из моделей.
Вот код загрузки модели:
********************************************************************
ar init = function() {
var canv = document.getElementsByTagName("canvas")[0];

var renderer = new THREE.WebGLRenderer({canvas:canv, antialias: true});
renderer.setSize( w, h );
renderer.setClearColor(new THREE.Color(0xeeeeee), 1);

var scene = new THREE.Scene();

var loader1 = new THREE.JSONLoader( );
var onGeometry = function(geom, mats) {
var mesh = new THREE.Mesh( geom, new THREE.MeshFaceMaterial( mats ) );
scene.add(mesh);
};
loader1.load("flat2.js", onGeometry);

var loader2 = new THREE.JSONLoader( );
var onGeometry = function(geom, mats) {
var mesh = new THREE.Mesh( geom, new THREE.MeshFaceMaterial( mats ) );
scene.add(mesh);
};
loader2.load("table.js", onGeometry);


var render = function() {

renderer.render(scene,camera);
requestAnimationFrame(render);
};

requestAnimationFrame(render);
};

window.onload = init;
window.onresize = init;

********************************************************************
Вот, что я пытаюсь прописать в команду для ссылки:

$("#link").click(function () {
init.scene.remove( object.loader2 );
});

********************************************************************
Но, почему-то, не работает... Не удаляет (не скрывает) модель из сцены.
Где я допускаю ошибку? Как сделать правильно?
  • Вопрос задан
  • 951 просмотр
Пригласить эксперта
Ответы на вопрос 3
mahabatuly
@mahabatuly
Frontend-бағдарламашы
Точно не знаю может вам нужны сначала правильно выбрать объект .C помощу
scene.getObjectByName или scene.getObjectById или scene.children[индекс объекта]
Ответ написан
Комментировать
scene.remove(object)
Ответ написан
Комментировать
@hazik76
попробуй второй назвать вторым
var mesh2 = new THREE.Mesh( geom, new THREE.MeshFaceMaterial( mats ) );
scene.add(mesh2);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы