본문 바로가기

언리얼/기능, 팁 등등 노트9

[UE4]캐릭터의 속도 계산 플레이어 캐릭터의 GetVelocity()와 방향벡터를 내적해서 구할 수 있다. Speed = FVector::DotProduct(GetVelocity(), GetActorRotation().Vector()); 참고로 GetActorRotation().Vector()는 캐릭터가 바라보고 있는 방향? 으로 알고 있다. 각 축에 대한 속도 성분을 구하고 싶으면 FVector(1.0f, 0.0f, 0.0f) 등 축에 대한 단위벡터를 곱해주면 된다. 2018. 8. 10.
[UE4]월드 안의 액터 혹은 오브젝트 읽기 언리얼에서는 자체 Iterator를 제공해준다. 레벨 내의 특정 액터를 가져오고 싶다하면 TActorIterator를 사용하자. for(TActorIterator ActorIt(GetWorld()); ActorIt; ++ActorIt){//TODO...} 액터가 아닌 다른 것을 가져오고 싶을 떄는 TObjectIterator를 사용하면 된다. 참고로 TActorIterator는 에디터의 월드아웃라이너 순서대로 가져오진 않는다. TObjectIterator는 모르겠다. 2018. 8. 9.
[UE4]카메라 LookAt 유니티에는 Lookat이라는 함수가 아예 있었던 것 같은데 언리얼에서 처음 쓰려니 찾아보았다. 블루프린트에 있는데 코드에서 못하리.. MainCamera는 카메라 액터이다. "Kismet/KismetMathLibrary.h" 헤더를 포함해주고 FRotator Rotator = UKismetMathLibrary::FindLookAtRotation(시작좌표, 타겟좌표); MainCamera->SetActorRotation(Rotator); 카메라가 성공적으로 타겟을 바라본다. 2018. 8. 9.
[UE4]위젯 블루프린트로 만든 UI요소 C++ 접근 위젯 블루프린트로 만든 UI요소를 C++로 접근하는 방법에는 여러가지 방법이 있겠지만 제일 쉽다고 생각하는 것은 다음과 같다. 일반적으로 UI가 뷰포트에 추가되면(Add to ViewPort) 그 이후에 NativeContruct 함수가 호출된다고 한다. 코드상에서 NativeConstruct 부분에서 위젯트리를 가져와 FindWidget 함수를 통해 UI요소 변수들을 가져오면 된다. 예제)void NativeConstruct(){UTextBlock* MyTitleTextBlock = this->WidgetTree->FindWidget("TitleTextBlock");MyTitleTextBlock->SetText(TEXT("Blah Blah"));} 2018. 7. 22.