전체 글339 20. 점프 시 발생하는 Smoke 구현 점프 시 발생하는 Smoke 구현 - 이 부분은 Dash Smoke와 비슷한 구석이 많았다. - 결국 이 이펙트도 플레이어가 소유하고 씬에 추가하는 부분까지는 동일 - Jump Smoke가 발동하는 조건은 플레이어가 더블 점프를 했을 때이므로, 점프 상태에서 다시 점프를 했을 때를 체크해서 애니메이션을 적절히 출력해주는 방식을 사용했다. - Dash Smoke 이펙트와 다른 점이라면 Dash Smoke는 오로지 DashState에서만 사용되므로 DashState에서 구현해줬는데, Jump Smoke는 Jump Rise / Fall 상태 모두에서 호출될 수 있으므로, 부모 클래스인 PlayerState에서 구현해서 두 함수가 모두 사용할 수 있도록 했다. 내일 할 일 - Deferred Rendering 구현 2023. 4. 4. 19. 스킬 쿨타임 표시 & 대쉬 Smoke 구현 스킬 쿨타임 표시 - 스킬 쿨타임을 표시를 내가 의도했던 대로 구현했다. - 내가 의도한 것은 스킬을 사용하면 스킬 박스가 어두워지며, 쿨타임이 지나는 동안 스킬 박스의 가운데를 기준으로 시계방향으로 점점 밝은 영역을 넓혀나가며, 쿨타임이 끝나면 하얘지는 (롤에서 사용하는 것과 비슷한데 가운데 숫자가 없는) 방식이다. - 이를 구현하기 위해 셰이더 코드를 작성했는데, 1. 상수 버퍼에 현재 쿨타임이 몇 %인지를 받아온 후, 그 %를 라디안으로 변환해준다. 2. uv좌표계의 가운데 점(0.5, 0.5)를 원점으로 잡기 위해 넘어온 uv좌표에 (0.5, 0.5)를 빼준다. 3. 그리고 모든 uv좌표를 중심에서 향하는 벡터로 취급해서 내가 기준으로 세운 벡터와 각도를 계산한 후, 그 각도가 1번에서 구한 각도.. 2023. 4. 3. 11. 플레이어 애니메이션 추가 애니메이션 추가 - 애니메이션은 맨 처음 C++의 AnimInstance를 생성하는 것부터 시작했다. - 애니메이션 클래스는 이전에 만든 AShooterCharacter를 소유하고, 캐릭터의 속도, 공중에 있는지, 이동중인지를 검사해서, 해당 값을 상태값으로 가지고 있다 그리고 이 변수들을 Blueprint에서 사용할 수 있도록 Property를 설정해 준 다음에 그 값들을 애니메이션의 전이 Rule에 활용했다. - 만들어진 C++ 애니메이션 클래스를 통해 Blueprint 애니메이션을 만들고, 해당 애니메이션을 통해 FSM을 제작하는 실습을 했다. - 간단히 플레이어 Idle -> JogStart -> Run -> JogStop 등의 기본 상태들에 대한 전이를 테스트했고, 내가 만든 상태 머신과 언리얼.. 2023. 4. 1. 18. Skill 클래스 구조화 / Skill State 구현 Skill 클래스 구조 작성 - Skill은 스컬이 사용하는 스킬이다. - 스킬은 기본 캐릭터를 제외하고 모두 2개 이상의 스킬 종류를 가지며, 그 중 2개를 랜덤으로 보유한다. - 따라서 스킬은 스컬 클래스에 포함되는 요소라고 볼 수 있다. - 현재 내가 생각하는 구조는 플레이어 클래스에서 2개의 스컬을 가지며, 플레이어가 업데이트를 해준다. - 스컬 클래스는 렌더링되는 부분(스프라이트, 애니메이션)과 각각 스컬이 가지는 고유 스킬을 보유하게 된다. - 나머지 Collider, RigidBody, Physical에 관한 것들은 플레이어 클래스가 통틀어서 관리한다. SkillState 구현 - SkillState는 스킬 키가 눌렸을 때 조건 검사를 해서 그 조건들이 모두 참이라면 플래그에 의해 다른 상태.. 2023. 4. 1. 이전 1 ··· 36 37 38 39 40 41 42 ··· 85 다음