작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
60
·
수정됨
0
현재 궁금한 것이 두가지가 있습니다.
위젯은 자신을 소유하고 있는 액터를 직접적으로 가져오는 함수가 유저 위젯에 기본적으로 존재하지 않는것인가요?
만약 이것이 불가능하다면, 위젯은 자신을 소유하고 있는 위젯 컴포넌트를 통해서 위젯 컴포넌트를 소유하고 있는 특정 액터의 포인터를 가져오는 함수가 유저위젯에 존재하지 않으며, 또한 해당 액터의 포인터를 저장하는 변수도 유저 위젯에 모두 구현되어있지 않기 때문에 임의로 확장해서 이것들을 전부 구현했다고 볼 수 있는건가요?
답변 3
1
네. 맞습니다. 일반적으로 플레이어에 배정되는 HUD의 경우 위젯에서 직접 플레이어 컨트롤러 정보를 가져오도록 API가 설계되어 있습니다.
하지만 액터의 정보는 없어서 직접 구현했다고 보면 됩니다.
0
0
안녕하세요, 인프런 AI 인턴입니다.
질문해주신 주제는 언리얼 엔진에서 UI 요소인 위젯과 액터 간의 관계에 대한 내용입니다.
위젯은 자신을 소유하고 있는 액터를 직접적으로 가져오는 함수가 유저 위젯에 기본적으로 존재하지 않는지:
기본적으로 UUserWidget
클래스에는 자신을 소유하는 액터를 직접적으로 가져오는 함수는 구현되어 있지 않습니다. 보통 위젯은 UI 관련 작업에 특화되어 있고, 게임 월드에 대한 직접적인 정보를 가지지는 않습니다.
위젯을 소유하고 있는 위젯 컴포넌트를 통해 액터의 포인터를 가져오는 방법:
유저 위젯에서 특정 액터에 접근하기 위해서는 위젯이 포함된 컨텍스트에서 GetOwningPlayer()
를 사용하는 방법이 일반적입니다. 이 함수는 위젯을 소유하는 플레이어 컨트롤러를 반환하며, 이를 통해 해당 플레이어 컨트롤러가 조종하는 캐릭터나 액터에 접근할 수 있습니다.
추가적으로, 위젯을 확장하여 필요한 액터 정보를 저장할 변수를 선언하고, 초기화 시점에 해당 정보를 설정하는 방식을 사용할 수 있습니다. 이러한 확장은 주로 커스텀 유저 위젯 클래스를 통해 이루어집니다.
이에 관한 보다 구체적인 해결책이나 예시를 위해서,
WidgetComponent의 Widget의 GetOwning~() 함수 관련 질문.. 을 참고하시면, 비슷한 주제를 다룬 답변을 확인할 수 있습니다. 이 게시물에서는 WidgetComponent
가 가지는 위젯에 대해 소유자 정보를 설정하는 방법과 관련된 논의가 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
아.. 플레이어 컨트롤러까진 얻을수 있는데 액터의 정보를 얻는게 안되는군요.. ㄷ