전체 글330 17. Dash 잔상 추가 & Skul / Skill 기초 작업 Dash 잔상 추가 & Global Object와 Scene Object 분류 - 원작에서 플레이어가 대쉬할 때 잔상이 남는데, 이 부분을 구현해주었다. - 대쉬 잔상을 사용하기 위해 AfterImage라는 클래스를 만들어서 DashState에서 특정 갯수만큼 가지고 있게 했다. - 이 기능을 추가하면서 Global Object와 Scene Object를 분류하게 되었는데, 타운 씬 던전 씬을 이동할 때, 특정 씬에 구애받지 않는 전역적으로 존재하는 그룹이 필요하다는 생각이 들어서 Scene에서 Static 변수로 별도의 그룹을 만들었다. (UI, HUD, AfterImage) - AfterImage 그룹은 Global 그룹이며, 플레이어가 어떤 씬에 있든 접근 가능하도록 했다. - AfterImage .. 2023. 3. 31. 9. Delta Time & 카메라 회전 void AShooterCharacter::TurnAtRate(float Rate) { AddControllerYawInput(Rate * BaseTurnRate * GetWorld()->GetDeltaSeconds()); } void AShooterCharacter::LookUpAtRate(float Rate) { AddControllerPitchInput(Rate * BaseLookUpRate * GetWorld()->GetDeltaSeconds()); } - 위 두 함수를 추가하며, 방향키를 통해 카메라를 회전시키는 과정을 실습했다. - 변수를 추가하는 과정에서 Property에 추가되는 내용이 왜 필요한지를 에러를 띄워가며 알려주는 부분이 인상깊었다. UPROPERTY(VisibleAnywhere.. 2023. 3. 31. 16. Dash / JumpAttack State 구현 & Move 버그 수정 Dash / JumpAttack State 구현 - DashState는 Enter에서 초기 속도를 부여해주도록 해서, 순간적으로 많은 거리를 이동하도록 했다. - 원작에서 DashState로의 전이는 모든 상태에서 가능하기 때문에 그 내용도 추가해주었다. - Dash 시 생기는 잔상 추가해줘야 함 - JumpAttack State는 비교적 단순하게 구현했는데, 점프 상태에서 공격 키를 누르면 상태가 전이되고, 애니메이션이 끝나거나, 바닥에 닿으면 다른 상태로 전이되도록 했다. Move 버그 수정 - AttackState를 추가하고 나서 생긴 버그인데, 방향키를 누른 상태에서 AttackState로 전이되면, 그 순간 이동 속도가 2배 가까이 빨라지는 버그였다. - 삽질을 한 끝에 알아낸 원인은 월드행렬의.. 2023. 3. 30. 15. UI 대화창 구현 및 TownScene 배경 수정 UI 대화창 구현 - DialogueUI와 UI Manager 클래스 구현 - UI Manager를 구현한 이유는 각각 유니크한 UI들을 끄고 켤 수 있는, 그리고 화면 출력 순서를 관리해줄 수 있는 관리 클래스가 필요하다고 생각했다. - UI Manager에서는 Init 함수에서 DialogueUI 인스턴스를 생성해서 Enum을 키 값으로 map에 저장했다가, Get 함수를 통해 외부로 노출시킬 수 있도록 했다. - UI는 씬 전체적으로 사용되는 오브젝트이기 때문에 씬 외부에서 렌더링해줄 수 있는 방법을 구현해야겠다. TownScene 배경 - 기존 배경은 원래 맵 용도로 사용되던 리소스가 아니라서 맵으로 쓰기에 보기에 미흡한 부분이 많았다 - 따라서 배경으로 쓸만한 리소스와, 배경 너머 보이는 하늘로.. 2023. 3. 29. 이전 1 ··· 35 36 37 38 39 40 41 ··· 83 다음