Unreal

[Unreal] 4월 8일 수업정리

k-codestudy 2025. 4. 9. 04:22

인터페이스

bp-door, bp-lamp 생성
BP_ThirdPerson에 Sphere Collision 추가
편집 -> 프로젝트 세팅
colision -> 새 오브젝트 채널 -> 이름 정하고 기본 반응은 ignore

  • trace - 선형 충돌 검출 ( 앞으로 레이저를 쏴서 검출 )
  • 오브젝트 - 충돌 폴리곤 모양으로 충돌 검출

gameObject 프로파일 편집
useObject 프로파일 편집
BP_ThirdPerson을 useObject로 설정
bp-lamp / bp-door는 gameObject로 설정
bp-door와 오버랩시 반응
bp-lamp와 오버랩시 반응
블루프린트의 인터페이스 만들기 ( 읽기 전용 )
인터페이스를 넣고싶은 엑터 -> 클래스 세팅 -> 구현된 인터페이스 -> 만들었던 interface-useObject 추가
bp-door, bp-lamp에 use라는 인터페이스를 호출하여 print string으로 원하는 문장이 출력되는 지 확인
BP_ThirdPerson에서는 use를 단순히 호출하게 설정
bp-door와 오버랩시
bp-lamp와 오버랩시

  • 비긴 오버랩에 인터페이스를 호출하게 되면 원래 우리는 다운캐스팅을 하여 누구인지 확인을 한 후 바인드, 언바인드를 하였지만 그저 useObject를 연결하기만 하면 아래 결과값이 잘 나오는 것을 확인할 수 있다.
  • 언리얼은 인터페이스를 호출하는 용도로 사용중이기에 일반적인 프로그래밍하고 좀 다른 느낌을 받을 수 있다.

상속

엑터 생성 -> 컨스트런셕에서 static Mesh 변경, sphere Collision의 위치, 범위 조정 구현 ( 변수는 인스턴스 편집가능 on )

 

interface-gameobeject를 만들고 use라는 함수 만들기
오버랩 시, 오버랩 종료시 각각 바인 언바인하여 use(interface) 호출 / 핵심은 인터페이스를 절대 구현하지 말것
엑터를 래벨에 꺼낸 후 모양, 범위 수정 후 클릭 한 상태 -> 선택된 엑터를 블루 프린트 클래스로 변환
새 서브클래스 -> 상속받고싶은 것 선택하면 끝
블루 프린트로 승격하면 부모 클래스의 기능은 전부 가지고 있는 자식 클래스가 만들어지며 이벤트를 호출하여 print string을 이용하여 작동이 되는지 확인
실행 결과
이게 버그가 존재하는데 스태틱 매쉬의 모양이 디폴트값으로 시작하면 자식 클래스의 스태틱 매쉬를 변경해도 안드는 버그가 있음. 이거 부모 클래스의 스태틱 매쉬를 SM_Cube로 변경해주면 뜨는 것을 확인 할 수 있음

 

'Unreal' 카테고리의 다른 글

[Unreal] 4월 10일 수업정리  (0) 2025.04.10
[Unreal] 4월 9일 수업정리  (0) 2025.04.09
[Unreal] 4월 7일 수업정리  (0) 2025.04.07
[Unreal] 4월 4일 수업정리  (0) 2025.04.04
[Unreal] 4월 3일 수업정리  (0) 2025.04.03