전체 글155 [UE5] 콜리전 상호 작용 우선 순위 언리얼 엔진의 콜리전 매트릭스에서 두 물체가 만났을 때 적용되는 최소 저항의 원칙(Least Blocking Interaction) 을 의미합니다. 두 물체가 충돌할 때, 양쪽의 설정이 서로 다르면 더 많이 무시하는 쪽 (더 적게 막는 쪽) 의 설정이 우선적으로 적용된다는 물리 엔진의 핵심 규칙입니다. 1. 상호작용의 우선순위 (Blocking 우선순위)물리 엔진은 두 물체 사이의 관계를 결정할 때 아래 순서 중 가장 낮은 단계(Least Blocking) 를 선택합니다.Ignore (무시) 최우선 순위 : 어느 한쪽이라도 상대를 Ignore로 설정했다면, 결과는 무조건 무시입니다. (통과함, 이벤트 발생 안 함)Overlap (겹침)어느 한쪽도 Ignore가 아니지만, 한쪽이라도 상대를 Overlap으.. 2026. 3. 9. [UE5] 언리얼 엔진의 콜리전에 대한 개념 정리 언리얼 툴에서 콜리전 항목들에 대한 각 개념들을 살펴보겠습니다. 1. 오브젝트 타입 (Object Type) : "나는 누구인가?"오브젝트 타입은 해당 액터가 물리 세계에서 가지는 일종의 '신분(Identity)' 입니다.정의 나 자신에게 붙이는 명찰입니다.WorldStatic (움직이지 않는 배경), Pawn(캐릭터), PhysicsBody(물리 소품) 등이 대표적입니다.역할다른 물체가 나를 만났을 때, 내가 누구인지 확인하고 어떻게 대응할지 결정하는 기준이 됩니다.중요성내가 누구인지 정의되어야, 다른 물체들이 나를 만났을 때 어떻게 대할지 결정할 수 있습니다. 2. 콜리전 반응 (Collision Enabled) : "나는 존재하는가?"콜리전 반응은 대방과의 충돌 시 어떤 결과를 낼지 결정하는 상위 .. 2026. 3. 9. [C++] 순수 가상 함수, 추상 클래스, 그리고 인터페이스 C++ 에서는 "부모 클래스로 자식 객체를 관리" 하는 다형성이라는 개념이 있습니다. 이 개념을 확장하면 순수 가상 함수, 추상 클래스, 인터페이스라는 용어들이 등장하는데 이 글에서는 이와 관련된 내용을 정리해 보겠습니다. 1. 순수 가상 함수 (Pure Virtual Function)순수 가상 함수는 함수를 선언만 하고 본체 (구현부) 를 작성하지 않는 함수입니다.문법적으로는 함수 선언 뒤에 = 0; 을 붙여 표현합니다.함수를 순수 가상 함수로 선언하면, 부모는 자식 클래스에게 "이런 기능이 반드시 있어야 해" 라고 지시하는 입장인 것이고, 실제 동작은 상속받는 자식이 정의하도록 강제합니다.class Animal {public: // 순수 가상 함수: 본체가 없고 = 0이 붙음 virtua.. 2026. 2. 27. [C++] Enum 의 진화와 실무적인 절충안 C++ 프로젝트에서 상태값이나 타입을 정의할 때 enum은 거의 필수적으로 사용됩니다. 하지만 프로젝트 규모가 커질수록 enum을 어떻게 관리하느냐가 코드의 가독성과 유지보수성에 직접적인 영향을 줍니다. 이번 글에서는 전통적인 방식에서 시작해 C++11의 변화, 그리고 실무에서 자주 사용하는 절충안까지 흐름으로 정리해 보겠습니다. 1. 전통적인 C 스타일 enum 가장 단순하고 직관적인 방식입니다.enum MonsterType { Slime, Skeleton, Boss, Max};초기에는 문제가 없어 보이지만, 프로젝트가 커지면 열거자 이름이 전역 공간으로 노출되면서 충돌 위험이 생깁니다. 예를 들어 다른 시스템에서도 비슷한 이름을 사용하게 됩니다.enum ItemType { .. 2026. 2. 26. [C++] static 완전히 이해하기 C++에서 static 은 처음 접할 때 가장 헷갈리는 키워드 중 하나입니다. 일반 함수에 붙으면 파일 내부에서만 사용되고, 클래스 멤버에 붙으면 객체 없이 전역처럼 사용됩니다. 겉보기에는 서로 정반대처럼 보이기 때문에 혼란이 시작됩니다.이 글에서는 static 을 하나의 관점으로 정리합니다.“밖으로 떠돌아다니지 못하게 특정 범위에 고정시키는 것” 여기서 중요한 점은 무엇에 고정되느냐가 상황에 따라 다르다는 것입니다. static 이 처음 등장한 이유C/C++ 환경에서는 여러 개의 소스 파일을 컴파일한 뒤 하나의 프로그램으로 연결 (link) 합니다. 이때 각 파일에 정의된 함수 이름은 기본적으로 전역 심볼로 공개됩니다.// fileA.cppvoid helper() {}// fileB.cppvoid he.. 2026. 2. 25. [UE5] EditAnywhere 와 BlueprintReadWrite 의 의미 언리얼에서 UPROPERTY 옵션 중에서 EditAnywhere 과 BlueprintReadWrite 에 대해 알아보겠습니다. 먼저 EditAnywhere 에서 “Anywhere” 는 모든 곳에서 접근 가능하다는 뜻이 아니라, 값을 수정할 수 있는 편집 위치가 여러 곳이라는 의미입니다. 언리얼에서는 같은 변수라도 여러 위치에서 값을 변경할 수 있습니다.예를 들어 다음과 같은 위치가 존재합니다. • 블루프린트 기본값 • 레벨(월드) 에 배치된 액터 인스턴스 • 부모 블루프린트를 상속한 자식 블루프린트 이 편집 위치 범위를 어떻게 허용할 것인지에 따라 Edit 옵션이 나뉩니다.EditAnywhere이 옵션을 사용하면 여러 편집 위치에서 값을 수정할 수 있습니다. • 블루프린트 기본값에서 .. 2026. 2. 25. 이전 1 2 3 4 ··· 26 다음