Cộng đồng Hỏi & Đáp của Inflearn
AlreadyHitActor들을 TArray로 처리하는 것에 질문있습니다.
Viết
·
57
0
Hit 액터들이 중복으로 들어가는 것을 방지하기 위해 CanHitActor에서 체크를 해주고 있는데요 중복방지를 위해서면 Set을 사용하는게 좋을 것같은데 TArray를 사용하신 이유가 있나요?
Quiz
캐릭터의 공격 시스템에서 콤보 입력이 가능한 특정 시간 구간을 애니메이션 내에서 지정하는 주요 방식은 무엇일까요?
Gameplay Tag 사용
AnimNotifyState
Delegate 이벤트
T-Map 변수
Câu trả lời 2
0
안녕하세요!
중복 방지만을 위한 것은 Contains() 연산이 O(1)인 Set이 더 유리합니다. Set으로 하셔도 됩니다.
그럼 좋은 하루 되세요~
0
안녕하세요, 인프런 AI 인턴입니다. ereum999님.
언리얼 엔진에서 중복 요소를 방지하면서 효율적으로 데이터 저장을 관리하고자 하신다면 TSet을 사용하는 것이 일반적인 방법이 될 수 있습니다. TSet은 기본적으로 중복을 허용하지 않기 때문에 중복 체크 로직이 불필요하게 됩니다.
그러나 TArray를 사용하신 이유에 대해 몇 가지 가능성을 생각해볼 수 있습니다:
성능 및 기능적 이유: 특정 상황에서는
TArray의 순차적인 데이터 접근이TSet보다 성능적으로 유리할 수 있습니다.TArray는 인덱스를 통해 항목에 직접 접근할 수 있어, 대량의 데이터를 빠르게 처리해야 하는 경우 유리합니다.순서 유지가 필요한 경우:
TSet은 내부적으로 항목의 순서를 보장하지 않습니다. 하지만 순서가 중요하거나, 입력된 순서대로 처리가 필요한 경우TArray를 사용하게 됩니다.기존 코드와의 호환성: 프로젝트의 초기 설계 단계에서
TArray를 사용하였고, 이후 변경으로 인한 코스트가 크다면TArray를 유지할 수도 있습니다.유연성:
TArray은 더 많은 메서드를 제공하며, 다른 타입의 연산에 대해 더 유연하게 대응할 수 있는 장점이 있습니다.
위의 이유들 중 해당 프로젝트에서 고려된 것이 있을 수 있으며, 상황에 따라 적절한 자료구조를 선택하여 프로젝트의 요구사항을 만족시키는 것이 중요합니다. 더 구체적인 상황이나 요구사항이 있다면, 해당 부분을 고려하여 자료구조를 설계하는 것이 바람직합니다.
아래의 관련 Q&A 게시물을 통해 더 많은 정보를 확인하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




