UE4 установил нулевой указатель Actor, не разрушая его в мире

Я пытаюсь выяснить, можно ли сбросить указатель актера и одновременно не заставить его исчезнуть из мира.
Пример:
1. auto Item = GetWorld()->SpawnActor<...>(...);
2. …
3. Item = nullptr;— сбросить только указатель
4. Актер все еще в мире
Я считаю, что дублирование этого актера будет работать, но это не должно быть лучшим решением IMO.

0

Решение

Вы, кажется, работаете с предположением, что очистка указателя будет автоматически уничтожить актера. Вы убедились, что это действительно так?

Глядя на документы, SpawnActor просто возвращает обычный «тупой» указатель. В C ++ сброс простого указателя на null не разрушает объект, на который он ссылается; возможно, необходимо какое-то явное действие, чтобы уничтожить его. Статья UE4 о Актер Жизненный цикл кажется, поддерживает это также.

Это может принять форму сброса умный указатель (TSharedPtr) или звонит Destroy на самого актера.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]