UE4 установил нулевой указатель Actor, не разрушая его в мире - PullRequest
0 голосов
/ 26 апреля 2018

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

1 Ответ

0 голосов
/ 26 апреля 2018

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...