본문 바로가기
회사 TIL

[TIL] 22.12.20 / Key Cover Lerp 구현, LeftDoor 구현

by imagineer_jinny 2022. 12. 20.

TIL (Today I Learned)

 

오늘 해야할 것

  • Strong Box 2단계
  • Strong Box 4단계
  • Strong Box  열쇠 돌리기 구현

 

오늘 한 것

  • Key Cover Rotate Lerp 구현

- Key Cover가 forward Vector를 중심 축으로 180도까지 Roll.

 

- 근데 Lerp하게 회전하기

 


- Key Cover가 forward Vector를 중심 축으로 180도까지 Roll.

- 일단 터치하면 bool 체크해서 (상태 대용) 회전하게 구현해보기

 

1. Key Cover의 상태 만들어주기(대기, 회전가능, 회전완료)

2. State2_Key 상태가 되면 Key Cover가 Rotate 된다

3. Rotate는 어떻게?

- KeyCover 회전가능 = true;

 

ex.

if(KeyCover)

Door->SetRelativeRotation(FMath::Lerp(FQuat(DoorRotation), FQuat(FRotator(0.0f, RotateValue, 0.0f)), 0.01f));

 

근데 Lerp하게 회전하기

 


Lerp 회전 되는 코드

void AR1Level1StrongBox::RotateKeyCover()
{
	EKeyLockerPositionState lockerState = GetKeyLockerState();
	
	if (lockerState == EKeyLockerPositionState::State5_Right)
	{
		UE_LOG(LogTemp, Warning, TEXT("State5_Finish!")); 
		//걍 빠르게 회전됨
		//_meshKeyCover->SetRelativeRotation(FRotator(0.f, 0.f, 180.f));

		FRotator _keyCoverRotation = _meshKeyCover->GetRelativeRotation();
		_meshKeyCover->SetRelativeRotation(FMath::Lerp(FQuat(_keyCoverRotation), FQuat(FRotator(0.f, 0.f, 180.f)), 0.01f));
	}

}

 


  • Strong Box 왼쪽문 완료
  • Strong Box 키 넣고 돌리기 시도

- 키를 가져와서 열쇠구멍 자리에 넣으면 키가 사라지면서 꽂힌 키가 생긴다.

- 그 키를 잡고 돌리면 돌리는 방향으로 90도 돌아간다.

- 키가 돌려지면 오른쪽 문을 열 수 있는 상태로 상태를 변환해준다.-> 상태변환까지 하면 키 라커 돌렸을때 상태 처리한거랑 확인받기. 

 

 


 

- 키를 가져와서 열쇠구멍 자리에 넣으면 키가 사라지면서 꽂힌 키가 생긴다.

  • 키를 가져오는거니까 가져오는 키를 받아주는 변수가 필요
  • 키를 원래 키가 있던 자리(안보이는 Key Mesh 자리)에 가까이 다가가면 키가 사라지고, 원래 키가 있던 자리의 키의 Mesh가 켜진다. (OnKeyAreaBeginOverlap)
  • 원래 키가 있던 자리 만들어줘야함 -> 금고에 키 박아두기

- 그 키를 잡고 돌리면 돌리는 방향으로 90도 돌아간다.

 

- 키가 돌려지면 오른쪽 문을 열 수 있는 상태로 상태를 변환해준다.

  • 돌려진 것 확인하고 EStrongBoxState를 State4_RightDoor 상태로 전환!

 


- 키를 가져와서 열쇠구멍 자리에 넣으면 키가 사라지면서 꽂힌 키가 생긴다.

  • 키 먼저 금고에 박아두기
  • 키를 가져와서 KeyArea에 다가가면 가지고 있는 키가 사라지고 원래 있던 키가 보인다
  • 키를 처리할 금고의 RightDoor 상태 만들어주기

- 그 키를 잡고 돌리면 돌리는 방향으로 90도 돌아간다.

 

- 키가 돌려지면 오른쪽 문을 열 수 있는 상태로 상태를 변환해준다.

  • 돌려진 것 확인하고 EStrongBoxState를 State4_RightDoor 상태로 전환!

 

오늘 배운 것

  • 블루프린트에서 너무 어둡다면.. 언릿 누르면 밝아짐

 

내일 진행할 것

  • Key Rotate만 따로 빼서 해보기
  • 금고 끝내기

 

 

앞으로 진행할 것

  • Strong Box 끝나면 튜토리얼방 기믹 작업하기

댓글