본문 바로가기

Unreal17

[Unreal] Player Controller vs Pawn Player Controller과 Pawn의 구분 이유? Player Controller은 기본 동작을 조작할 때 쓰고, Pawn은 캐릭터의 고유 기능을 넣을 때 쓴다. 철권을 예로 들면, 기본 공격 동작(펀치, 킥)들은 같으니 Player Controller에서 적용하고, 캐릭터 별 스킬, 콤보 등 고유 기능은 Pawn에 넣는 셈 Pawn은 꼭두각시라고 생각하면 된다 2024. 4. 12.
[Unreal] 값,참조,포인터/ 인스턴스 / 구조체 vs 클래스 값 vs 참조 vs 포인터 데이터를 어떻게 저장, 전달, 관리할지 결정 값(Value) 데이터의 실제 내용 ex. 숫자 10이나 문자 'A'는 모두 값 참조(Reference) vs 포인터(Pointer) 둘 다 메모리의 주소 가리킴 차이점은 안전한지(레퍼런스), 안 안전한지(포인터)임 레퍼런스는 별명을 붙여주는것이기 때문에 null 안되고, 초깃값이 반드시 있어야함. 한번 별명 붙여주면 초기화도 안됨 포인터는 언제 어디서든 초기화가 가능함 인스턴스 인스턴스(Instance) (힙)메모리에 로딩된 상태 원래 코드(클래스)로 있다가, 메모리에 로딩되기 시작하면 그게 인스턴스! 인스턴스는 속성과 메서드를 포함함 메모리에 할당되어 실행시간(Runtime에 사용) ㄴ Unreal Engine 5에서는 대부분의 .. 2024. 4. 5.
[Unreal] Actor/Component, 레이트레이싱-콜리전체크 액터 주체, 씬에 올리는 애들 컴포넌트 액터들을 구성하는 구성요소 1) 액터 컴포넌트 Transform 없이 기능만 하는 애들 ex. 특정 기능만 하고 싶을 때 ex. InputComponent, AIComponent 2) 씬 컴포넌트 Transform 있는 애들. 어딘가에 존재하게 할 수 있음 ex. CameraComponent, AudioComponent (시각적 요소는 없지만 위치가 중요함) 3) 프리미티브 컴포넌트 시각적 요소를 가진 게임 오브젝트 ex. 메시, 라이트, 파티클.. 프리미티브 컴포넌트는 충돌 감지와 물리 시뮬레이션을 지원함. 따라서 물리적 상호작용이 필요한 오브젝트에 주로 사용됨 ex. StaticMeshComponent, SkeletalMeshComponent, ParticleS.. 2024. 3. 6.
[Unreal] Lightmap, Lightmass가 뭐지? 라이트 편집 및 라이트맵 생성 | Epic Developer Community (epicgames.com) 라이트 편집 및 라이트맵 생성 | Tutorial 이 단원에서는 디테일 패널에서 라이트를 편집해 봅니다. 그리고 라이트맵이 무엇인지, 이를 어떻게 언리얼 엔진에서 생성 및 편집하는지 학습합니다. dev.epicgames.com 이거 설정에서 한국어 자막 키고 보기 Lightmap 언리얼 엔진에서 Lightmap은 정적인 조명과 그림자 정보를 3D 모델의 표면에 저장하는 방법입니다. Lightmap을 사용함으로써, 언리얼 엔진은 복잡한 조명 계산을 실시간으로 수행할 필요 없이, 미리 계산된 조명과 그림자를 빠르고 효율적으로 렌더링할 수 있습니다. Lightmap의 핵심 개념과 사용 방법은 다음과 같습.. 2024. 1. 26.
[Unreal] Chaos Destruction - Field Chaos Fields 특정 공간 영역 사용하여 피직스 시뮬레이션 프로퍼티 제어 필드에는 앵커 필드(Anchor Fields), 스트레인/포스 필드(Strain/Force Fields), 슬립/비활성화 필드(Sleep/Disable Fields)가 있음 Anchor Fields 시뮬레이션 중 지오메트리 컬렉션(Geometry Collection) 의 일부가 고정되도록 제한하는 컨스트럭션 블루프린트 앵커 필드를 사용하면 시뮬레이션 도중에 일어나는 일과는 관계없이 지오메트리 컬렉션의 특정 부분을 제자리에 고정할 수 있음 Sleep/Disable Fields 본(프랙처 조각) 속도가 특정 한계치 아래로 떨어지면 지오메트리 컬렉션을 휴식 상태로 만듦 슬리핑 본은 시뮬레이션 중에 활성 오브젝트와 접촉하면 다시 깨.. 2023. 9. 30.
[Unreal] 다른 클래스 Cast 하기 문제점 AnimInstance 클래스에서 DraculaCrossBow 오브젝트를 가져오고 싶은데 가져와지지 않음 원인 [의심 1] TryGetPawnOwner TryGetPawnOwner 함수 이름 자체 Try. 그래서 100% 가져온다는 확신이 없기 때문에 null체크를 하는 것임. 안된다는 것은 실패했다는 것이다. 기본적으로 배치될 수 있는 모든 것들은 Actor로 부터 상속을 받고 Actor -> Pawn -> Charactor 순으로 상속 받는다. 여기서는 Actor -> Pawn -> Charactor -> R1Pawn이 될 것이다. 내 코드를 보면 crossBowObject는 Pawn이 아니기 때문에 TryGetPawnOwner로 가져오면 안된다는 것을 예상할 수 있음 해결 과정 crossBo.. 2023. 3. 13.