-
[Unreal 게시판] Scene Outliner와 AActor의 Children과의 관련성2014.10.23 PM 01:37
Question>
위에서 처럼 Matinee와 Static mes 를 붙이기를 이용하여
StageStepAction 이라는 AActor 를 상속 받은 오브젝트에 붙혀 주었습니다.
AActor 라는 클래스에 Children 이라는 Array 가 있길래 그것에 들어가나 해서 찾아 보았는데요 ..
들어 가지 않더군요..
미리 배치된 오브젝트를 가져와야하는데
뽀까뽀까 님께서 올려주신 글이 있던데 월드에 깔린 모든 오브젝트를 대상으로
1차로 클래스를 이용하여 걸러 주는 것 같아서 그 범위를 좀 줄여보고자 하는 마음에요.. ㅎㅎ
저런식으로 붙어 있는 오브젝트만 검사를 한다면 효율적이지 않을까 해서요..
붙어 있는 오브젝트 만 얻어오는 방법이나 위같이 범위를 줄여줄 방법이 없을까요 ??
-------------------------------------------------------------
Answer>
class AActor의 'Children'은 actor가 '소유한 actor'(owned actor)만 관리됩니다.
이 부분을 좀 더 명확하게 알고 싶으시면..^^;;;
아래 link의 SpawnActor()에서 8번째 인자를 잘 살펴 봐 주시고,
밑에 있는 설명도 읽어 보시기 바랍니다.
https://docs.unrealengine.com/latest/KOR/Programming/UnrealArchitecture/Actors/Spawning/index.html
만약에, 님이 제시한 방법대로 된다면,
한정된 범위로만 검색이 이루어 진다면, 당~연~히~ 빠르고 효율적일 겁니다.^^
하지만,
'Scene Outliner'의 tree 구조는 unreal editor에서만 쓰이는 구조일 뿐이고..^^;;;;
실제 game에서 사용되는 자료 구조와는 관련이 없습니다.
'Scene Outliner'의 자료 구조를 제대로 파악하시려면,
class SSceneOutliner를 살펴 보시기 바라고요.
class SSceneOutliner를 살펴 보시면 아시겠지만,
'Scene Outliner'에 뭔가 추가할 때,
class AActor의 'Children'에 들어 가는 게 아니라..^^;;;;;;;;;;;;;
class SSceneOutliner의 'FolderToTreeItemMap'의 구성요소의 'ChildItems'에 들어 갑니다.
( SSceneOutliner::AddChildToParent()를 참고해 주세요.^^;;;;; )
간단하게 요약하면,
'Scene Outliner'의 tree 구조는
unreal editor에서만 쓰이는 '편의를 위한 tree 구조'일 뿐이라서,
game에서는 쓸 수 없다는 겁니다.^^;;;;;;;
따라서,
검색 범위를 줄여서 검색 속도를 높이고 싶으시다면,
actor를 만들거나 파괴할 때,
님만의 array에 추가하고 삭제하는 기능을 C++나 blue print로 만드셔서,
그 array만 검색하는 방식으로 만드시는 게 빠르고 효율적이라고 생각합니다.^^
P.S.
unreal engine에서의 'owner'는
객체의 생성과 파괴시 연관성을 부여하는데 사용됩니다.
효율적인 검색과는 아무 관련이 없습니다.^^;;;;;;
Tag:
안기훈, Kee Hoon Ahn, 언리얼, Unreal, UDK, iPhone, iPad, app, 앱, iOS
댓글 : 0 개
user error : Error. B.