Я хочу клонировать модель, загруженную загрузчиком, я нашел эту проблему в github, но решение не работает. По-видимому, в Object3D произошли структурные изменения.
Как я могу клонировать Object3D в текущей стабильной версии Three.js?
Ответ 1
В этой новой версии three.js у вас есть метод clone.
Например, я использую королеву из шахмат, и мне пришлось дублировать несколько раз:
// queen is a mesh
var newQueen = queen.clone();
// make sure to re position to be able to see the new queen!
newQueen.position.set(100,100,100); // or any other coordinates
Он будет работать с любой сеткой.
Я использовал three.js r61.
Ответ 2
На самом деле ответ mrdoob - ваш ответ...
Загрузчик выводит геометрию, которую вы используете для создания сетки.
Вам нужно создать новую сетку с геометрией и материалом сетки, созданной загрузчиком.
for ( var i = 0; i < 10; i ++ ) {
var mesh = new THREE.Mesh( loadedMesh.geometry, loadedMesh.material );
mesh.position.set( i * 100, 0, 0 );
scene.add( mesh );
}
Вы хотите клонировать Mesh, а не Object3D, потому что вывод загрузчика - это Mesh.