Sign in to follow this  
photo

(Решено) Node.FindChild и быстродействие

Recommended Posts

Мне необходимо найти в иерархии объекта вложенный элемент, причем возможно которых будет несколько. Сама иерархия может содержать как две, так и десять вложенных иерархий. Пример на скриншоте. В среднем, в одном объекте может быть около сотни других объектов и таких объектов может быть несколько. Как тут лучше искать в иерархиях и вообще объекты в World? Т.е. понятно что я могу создать учет созданных объектов, но было бы неплохо этот учет переложить на движок и так, что бы это было все быстро.

Скажем, есть что-то типа GetAllChild (получить всех детей в иерархии объекта), GetComponentChild (поиск детей по компоненту) и т.п.? И есть ли возможность почитать как тут устроен поиск объектов или хотя бы общую информацию что лучше использовать в тех или иных случаях?

5.png

Edited by nikolay.sykharev

Share this post


Link to post

Николай,

У каждой ноды внутри есть массив где хранятся её потомки (без вложенности). Также есть два метода:

  • Node::findChild() - просто пробегается по вложенным нодам и смотрит имена.
  • Node::findNode() - в отлчие от finChild имеет флажок который позволяет искать во вложенных нодах тоже. Возвращает первую найденную ноду.

Если нужно искать много нод с одинаковыми именами, то нужно писать свою реализацию.

Share this post


Link to post
Sign in to follow this