Unreal

[Unreal] 6월 18일 수업정리

k-codestudy 2025. 6. 18. 16:23

아이템 관리에 대한 수업을 들었다.

 

콜리전 세팅

각각 staticMesh, Sphere에 대한 콜리전 세팅 ( staticMesh의 경우 블록할껀 전부 블록, 서로 충돌이 일어나야하며 폰과는 통과해야함, sphere의 경우 캐릭터와 오버랩만 되면 됨 )

itemaffect

i-affect라는 인터페이스 생성 -> 함수 use 생성
오브젝트 (bp-affect-base) 생성 -> 클래스 세팅 -> 구현된 인터페이스 추가 -> i-affect 클릭 후 추가

 

bp-affect-base를 부모로 한 자식 클래스 Hp, Mp 생성
각각 HP는 Hp가 출력되게 Mp는 Mp가 출력되게 설정

 

Material (Layout)

배이스 컬러에 vector 4 연결 후 흰색으로 설정 / 이미시브 컬러에 construct를 연결 후 10으로 값 설정 / 오퍼시티에 Fresnel을 연결 후 Exponentln을 10으로, baseRefelctFractionln을 0.001로 설정

 

ItemBase ( 배치될 클래스 )

static Mesh, Sphere Collision 컴포넌트 추가 -> Construction : 시퀀스 0 : Set Static Mesh로 Mesh를 바꿀수 있게 설정 ( 인스턴스 편집 on ) / 시퀀스 1 : set Sphere Radius로 범위 설정 ( 인스턴스 편집 on ) / 시퀀스 2 : construct Object From Class 호출 - > m-affectClass (bp-affect-base, 클래스 래퍼런스, 인스턴스 편집 on ) 변수 생성 후 연결 -> 변수 승격 (m-affect Ref, 오브젝트 래퍼런스, 프라이빗 ) / 시퀀스 3 : set Simulate Physics 선언 (물리력을 행사할것인아 안할것인가 )
m-affect Ref -> Use ( 인터페이스 ) 호출 후 e-use (커스텀 이벤트)에 연결 / 비긴 오버랩, 앤드 오버랩에 bp_thirdPerson 형변환 -> set overlay Material로 오버랩이 되면 아까 만들어놓은 Material이 보여지게 되고 오버랩이 종료되면 꺼지게 됨

 

HP, MP

아까 인스턴스 편집을 켜놔서 디테일 패널에서 수정 가능함 ( 원하는 대로 수정 )
선택된 액터를 블루프린트 클래스로 변환을 클릭 해 새로운 블루프린트 클래스 생성
HP, Mp 생성

자료구조

m-items (bp-item-base, 오브젝트 래퍼런스, 배열 ) 변수 생성 -> 오버랩 시 ( 주체는 bp-item-base ) m-items을 add에 저장 -> 오버랩이 종료 되면 remove로 삭제