FHitResult hitResult;
FVector startLine;
FVector direction;
DeprojectMousePositionToWorld(startLine, direction);
// 끝 위치
FVector endLine = startLine + (direction * 100000);
// 제외시킬 액터 리스트
TArray<AActor*> ignoreActorList;
// 클릭 처리
bool isHit = UKismetSystemLibrary::LineTraceSingle(
this,
startLine, endLine,
UEngineTypes::ConvertToTraceType(ECollisionChannel::ECC_Visibility),
false,
ignoreActorList,
EDrawDebugTrace::Persistent,
hitResult,
true,
FLinearColor::Red, FLinearColor::Green, 5.0f);
라인을 설정하고 라인과 충돌된 대상을 찾는다
LineTraceByChannel(UKismetSystemLibrary::LineTraceSingle)
- 설정된 채널의 첫번째 히트 정보를 얻는다
- 추가 파라미터
ETraceTypeQuery TraceChannel
- 대상 채널 타입
- ECollisionChannel 타입이 아니고 Trace용 채널
LineTraceForObject(UKismetSystemLibrary::LineTraceSingleForObjects)
- 설정된 오브젝트 타입의 첫번째 히트 정보를 얻는다
- 추가 파라미터
const TArray<tenumasbyte > & ObjectTypes</tenumasbyte
공통 파라미터
const UObject* WorldContextObject
- 월드 컨텍스트
const FVector Start
- 라인 시작
const FVector End
- 라인 종료
bool bTraceComplex
- 복합 컬리전 테스트시 true
const TArray<AActor*>& ActorsToIgnore
- 충돌체크에서 무시할 actor들
EDrawDebugTrace::Type DrawDebugType
- 라인/히트 정보 출력 타입
ForOneFrame : 잠깐 출력후 사라짐
ForDuration : DrawTime에 설정된 시간까지만 출력후 사라짐
Persistent : 계속 출력
FHitResult& OutHit
- 히트 정보
bool bIgnoreSelf
- 자신은 히트 대상에서 무시할 것인지
FLinearColor TraceColor
- 라인 컬러
FLinearColor TraceHitColor
- 히트부분 컬러
float DrawTime
- 디버깅용 정보 출력 시간
'Unreal > 기본' 카테고리의 다른 글
[Unreal] 모듈 등록 및 사용 (0) | 2023.10.03 |
---|---|
[Unreal] Define (0) | 2023.10.01 |
[Unreal] 간단한 마우스 클릭으로 이동처리 (0) | 2023.08.12 |
[Unreal] 로그 출력(UE_LOG) (0) | 2023.08.06 |
[Unreal] Build.cs (0) | 2023.03.26 |