이 포스팅은 아래 강의를 들으며 작성되었습니다.
https://www.udemy.com/course/unrealcourse-korean/
콜리전 메시
메시를 예쁘게 쌓았다고 생각해도 피직스 시뮬레이트를 켜고 실행시키면 제대로 맞물리지 않고 쓰러진다.
기본적으로 라이팅포함이라고 설정되어 있는 버튼을 클릭하면 뷰 모드를 고를 수 있다.
메시로 들어가서 콜리전을 확인해 보면 표면이 매끄럽지 않은 것이 보이는데
콜리전 제거를 누르고
10면체 Z 단순화 콜리전 추가를 누르면 Z 면이 평평한 간단한 콜리전이 추가된다.
변수 추가 단축키
Ctrl + 드래그 = 변수 Get
Alt + 드래그 = 변수 Set
좋은 네이밍
함수 이름을 지을 때는 기능을 쉽게 알 수 있게, 동사로 짓는 것이 좋다.
순수 함수
왜 노드는 실행 핀이 있는 것과 없는 것이 있을까?
그것은 사이드 이팩트 때문이다.
사이드 이팩트란 눈에 보이는 함수의 효과이다.
실행 핀이 있는 함수는 프로젝트에 영향을 준다. 예를 들어 ammo 전역 변수에서 1을 빼서 다시 저장하는 함수라면 계속 값을 변화시키는 사이드 이팩트를 주고 있는 것이다.
그러나 ammo의 현재 값을 가져오기만 하고(Get 함수) 아무것도 하지 않는다면
그것은 사이드 이팩트가 없는 함수.
즉 순수 함수라고 말한다.
블루프린트 함수에서는 디테일창에서 퓨어 체크막스를 체크해서 순수함수로 만들 수 있다.
이는 사용자가 직접 정하는 것이기 때문에 신중해야 하는데
순수 함수냐 아니냐는 함수 이름이 동사가 어울리는가, 아닌가로 판단하는 것이 좋다.
멤버 함수
객체 지향 프로그래밍 (Object Oriented Programming, OOP): 함수가 조작하는 데이터와 함께 사는 것
멤버 함수: 클래스의 함수. 항상 특정 인스턴스에서 호출된다.
Self: 멤버 함수 안에서 사용 가능한 노드. 현재 사용하는 인스턴스를 가리킴.
투사체 액터의 클래스에 함수를 만들면 멤버 함수를 만드는 것이다. (클래스 안의 함수)
스폰된 투사체 오브젝트 레퍼런스로부터 멤버 함수를 가져올 수 있다.
대신 멤버 함수 안에서 오브젝트를 참조할 타깃이 사라져 있는데 대신에 Self노드를 호출하여 자기 자신의 인스턴스를 타깃으로 가져오면 해결된다.
레벨 로드
블루프린트에서 레벨을 로드하는 Open Level 함수를 불러올 수 있다.
실행을 지연시키는 것도 Delay 함수를 사용하면 가능하다.
'언리얼 > [Udemy] UE5' 카테고리의 다른 글
[언리얼] Udemy 강의 6일차 메모 (~62강) (0) | 2023.09.28 |
---|---|
[언리얼] Udemy 강의 5일차 메모 (~55강) (0) | 2023.09.27 |
[언리얼] Udemy 강의 4일차 메모 (~47강) (0) | 2023.09.26 |
[언리얼] Udemy 강의 2일차 메모 (~26강) (0) | 2023.09.24 |
[언리얼] Udemy 강의 1일차 메모 (~18강) (0) | 2023.09.24 |