11.25 오늘의 작업
1. 일반유닛과(AMLUnit) 스폰 메인캐릭터(AMLSummoner)를 드디어 쪼갰다.
스포너컨포넌트는 Summoner에만 붙여줬다.
2. 너무 허접해보여서 비웃음을 사니까 애니메이션을 달아주고
캐릭터 스테이트도 만들어줬다.
근데 유닛들이 드럽게 느리게 움직이는데 모션은 전력질주라서 더 우스워진 것 같다.
우선 블랜딩쪽은 신경쓰지 않기로 하고 캐릭터 스테이트만 붙여줬다.
UENUM(BlueprintType)
enum class EMLCharacterState : uint8
{
None,
Idle,
Walk,
Attack,
Damaged,
};
계속 [Error]enum size is larger than a byte.라는 에러로그가 떠서 봤더니 이넘타입에 uint8 안붙여줘서 그렇더라. 조심하기....
애님비피를 Enum으로만 조절하려니까 스레드세이프 경고가 떴다.
@@... 일단 경고이므로 다음날 알아보기로 하자!
3. 메인캐릭터 뒤에도 스폰되는게 신경쓰여서 위치를 제한해줬다.
FTransform UMLCharacterSpawnComponent::GetSpawnTransform()
{
APlayerController* PlayerContorller = UGameplayStatics::GetPlayerController(this, 0);
if (PlayerContorller == nullptr)
{
return FTransform();
}
FVector BaseVector = GetOwner()->GetActorLocation();
FVector RandomUnitVector = FMath::VRand();
float RandomDistance = FMath::FRandRange(SpawnMinRadius, SpawnMaxRadius);
//플레이어 뒤로 스폰되지 않도록.
FVector SpawnStartOffset = GetOwner()->GetActorForwardVector() * SpawnMaxRadius * 2;
FVector ResultVector = BaseVector + SpawnStartOffset + RandomDistance * RandomUnitVector;
ResultVector.Z = BaseVector.Z;
//FRotator ResultRotator = PlayerContorller->GetControlRotation();//GetOwner()->GetActorRotation();
//ResultRotator.Roll = 0.f;
//ResultRotator.Pitch = 0.f;
//ResultRotator.Yaw -= 90.f;
return FTransform(FRotator::ZeroRotator, ResultVector);
}
근데 가끔 애꿎은 땅속으로 스폰될때가 있다. Z 값을 맞춰줘도 그렇기 때문에 이유를 알아봐야겠다.!
https://github.com/siyeon-lee/Sample/tree/master
GitHub - siyeon-lee/Sample
Contribute to siyeon-lee/Sample development by creating an account on GitHub.
github.com
엇 언제 main/master로 브랜치가 쪼개졌을까.. 뭔가 실수한거같다.-
'Unreal > 개인플젝' 카테고리의 다른 글
공방. 충돌 (1) | 2023.11.29 |
---|---|
업데이트 (0) | 2023.11.24 |
이벤트시스템 (1) | 2023.11.24 |
언리얼버그속상해 - ActorComponent가 BeginPlay 에서 null일때 (2) | 2023.09.07 |
인풋컨포넌트 분리함 (0) | 2023.09.04 |