언리얼11 [UE4]데칼 생성(스폰)(코드) 캐릭터가 공격할 때 공격 범위를 데칼로 표현해주고 싶었다. 데칼이 표면에 제대로 출력될 수 있도록 데칼의 사이즈와 Rotation 값을 잘 설정해주어야 한다. 데칼은 캐릭터에 하나 둬서 사이즈를 변경해가면서 써도 되지만 언리얼 엔진 특성상 FadeOut을 하면 사라지고 나서 Destroy되어 그냥 Spawn 시켜서 사용해보았다. 데칼생성은 UGameplayStatics의 SpawnDecalAtLocation을 이용하면 된다. 예제 123456789101112 FVector NewSize = FVector(64.0f, 80.0f, 64.0f); float BoxSize = AttackRangeBox->GetScaledBoxExtent().Y; FVector NewLocation = GetActorLocat.. 2018. 11. 13. [UE4]코드 상에서 머티리얼 로드 1234#include "UObject/ConstructorHelpers.h" static ConstructorHelpers::FObjectFinder Material(TEXT("에디터 상에서 머티리얼 레퍼런스를 복사하면 해당 머티리얼의 경로를 가져올 수 있다"));cs 마우스 커서 데칼 로드 예제123456789101112 //Set Cursor Decal CursorToWorld = CreateDefaultSubobject("CursorToWorld"); CursorToWorld->SetupAttachment(RootComponent); { static ConstructorHelpers::FObjectFinder DecalMaterialAsset(TEXT("Material'/Game/Materials.. 2018. 11. 13. [UE4]캐릭터의 이동 및 회전 보간(마우스 클릭, TopdownView) 탑다운에서의 마우스 클릭을 통한 이동은 WASD 와 마우스 회전 축에 따른 이동방식과는 다르게 마우스 회전값을 캐릭터 회전값에 맵핑하는 방식이 아니다. 따라서 캐릭터가 이동할 때, 이동할 방향을 구해 회전값을 보간하여 자연스럽게 캐릭터를 회전시켜주어야 한다. 아래는 구현된 예시 코드이다. 123456789101112131415void APlayerCharacterController::MoveAndRotation(float DeltaTime){ ACharacter* Character = GetCharacter(); //Smooth Move UCharacterMovementComponent* MovementComponent = Character->GetCharacterMovement(); float Spee.. 2018. 10. 25. [UE4]캐릭터의 속도 계산 플레이어 캐릭터의 GetVelocity()와 방향벡터를 내적해서 구할 수 있다. Speed = FVector::DotProduct(GetVelocity(), GetActorRotation().Vector()); 참고로 GetActorRotation().Vector()는 캐릭터가 바라보고 있는 방향? 으로 알고 있다. 각 축에 대한 속도 성분을 구하고 싶으면 FVector(1.0f, 0.0f, 0.0f) 등 축에 대한 단위벡터를 곱해주면 된다. 2018. 8. 10. 이전 1 2 3 다음