Normal Impuse
block 되었을 때의 입사각
어디에서 쐈는지 알아낼 때 사용한다
Collision Preset
Query Only | 겹침 연산 |
Physics Only | 물리 연산 |
Collision Enabled | 겹침 연산 + 물리 연산 |
Simulation Generate
Overlap은 충돌되는 것 모두(양쪽 다) 켜져있어야한다
Delegate
dynamic delegate는 파라미터 개수, 자료형, 변수명 까지 일치시켜줘야한다
언리얼 내부적으로 쓰는 델리게이트는 거의 다 SPARSE - dynamic만 쓸 수 있
dynamic일땐 직렬화 꼭 해줘야한다
SingleCast | 가장 기본적인 Delegate로 함수 1개를 바인드하여 사용, 함수 포인터 |
MultiCast | 싱글 캐스트와 동일, 여러 함수를 바인드 할 수 있다 |
Event | 멀티 캐스트와 동일하지만 전역으로 설정할 수 없어 외부 클래스에서 추가 델리게이트 선언이 불가능 |
Dynamic | 다이나믹은 싱글과, 멀티 두개다 존재하며 직렬화 해주어야한다 블루프린트에서 사용 가능 |
싱글톤의 문제점
생성/소멸 시점을 알 수 없다
멀티스레드에서 공유자원에 접근할 수 있는 위험이 있다
매직 넘버 - 지수 표기법
1e + 4f = 1 * 10^4
Trigger
DECLARE_DELEGATE(FBoxLightOverlap);
void func_name();
if (OnBoxLightBeginOverlap.IsBound()) //하나라도 연결되어 있다면
OnBoxLightBeginOverlap.Execute(); //실행해라
GetWorld()->GetCurrentLevel()->Actors
//GetWorld() : 우리가 가지고있는 모든 레벨을 총괄
//GetCurrentLevel() : 지금 현재 레벨을 가져온다
//Actors : Tarray 형태로 리턴
A is a B : 상속
A has a B : A가 B를 소유 , 커플링 발생 소지가 있어 피해야함 -> 컴포넌트, 인터페이스로 분리한다
액터 찾는
for (AActor* actor : GetWorld()->GetCurrentLevel()->Actors)
{
if (!!actor && actor->IsA<AC04_Trigger>())
CLog::Log(actor->GetName());
}
'> Study > Unreal Engine 4' 카테고리의 다른 글
[Plugin] Debugging (0) | 2024.04.11 |
---|---|
[Unreal C++] EQS (Environment Query System) (0) | 2024.02.26 |
[Unreal C++] Player, Animation, Delgate (0) | 2023.07.06 |
[Unreal C++] Spawn, Log, TSubClassOf (0) | 2023.06.22 |
[Unreal C++] Material, Component, template, Delegate (0) | 2023.06.21 |