Скажем, у меня есть родительский и n дочерние объекты родителя в сцене.
Изменение: добавлен код для создания сетки (при условии, что у меня есть базовая сцена и настройка камеры)
создание родительской группы:
var geometry = new THREE.PlaneGeometry( 0, 0 );
var surface = new THREE.Group();
surface.geometry = geometry;
Детская сетка:
surface.add(new Sprite());
scene.add(surface);
Есть ли способ, которым я могу игнорировать матрицу родительского преобразования только для дочерних элементов (но сохранить его преобразование целым в качестве родителя)?
Я знаю, что matrixAutoUpdate = false;
позволяет мне обновить матрицу преобразования дочерних элементов вручную, но она по-прежнему применяет матрицу родительского преобразования.
Я хочу полностью игнорировать его для детей, но все же могу сохранить его мировое преобразование и извлечь его значения поворота, трансляции и масштабирования.
В смысле, в группе есть только один объект, поэтому группа будет вести себя как единая сущность. И вы не можете связать геометрию с группой, поэтому мое предложение добавит плоскость в виде сетки, а затем сделает все, что вы захотите.
Поэтому обновленный код должен выглядеть следующим образом:
var geometry = new THREE.PlaneGeometry( 0, 0 );
var material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );
var plane = new THREE.Mesh( geometry, material );
var surface = new THREE.Group();
surface.add(plane);
surface.add(new Sprite());
scene.add(surface);