Масштаб.установить изменения размера дочерних элементов, а также узла, к которому он применяется

Я хочу изменить размер узла в три.JS график сцены. Я использую scale.set()для этого, но когда я делаю это, размер дочерних узлов, которые были добавлены к указанному узлу, также масштабируются. Есть ли способ масштабировать только один узел, не масштабируя его дочерние элементы?

1 ответ

  1. Threejs (как и многие API openGl, фреймворки или игровые движки) использует подход графика сцены, короче говоря, это означает, что сцена является корневым узлом, а остальные объекты создаются иерархическим образом, добавляясь к сцене или к существующему объекту. Это преимущество, чтобы создать один объект с детьми, которые будут масштабироваться / вращаться / двигаться вместе, избегая дальнейших и более сложных вычислений.

    Если вы хотите масштабировать только родителя, у вас есть в основном два способа:

    • Грязный способ: масштабируйте на противоположном пути своих детей, как только родитель был масштабирован.

    • Чистый способ: изменить способ организации этого объекта, сделать это родитель-ребенок отношения действительно смысл?