전체 글339 32. HighWarlock Attack Method 구현 및 카메라 움직임 부드럽게 변경 HighWarlock Attack Method 구현 - HighWarlock의 공격방식은 공격할 때 미사일 3개를 쏘는 것이다. - 기존 LittleBone을 작업할 때는 특정 프레임에 지정된 범위 안에 적들을 판별해서 데미지를 주는거였다면, 이번에는 투사체를 발사하는 것이기 때문에 단지 상태 클래스에서 이 모든 것을 처리하기엔 무리가 있다고 판단했다. - 그래서 AttackMethod 클래스를 두고, AttackState에서 해당 클래스를 상속받은 클래스를 실행하고 끝났으면 종료하는 식으로 로직을 구성했다. 카메라 움직임 부드럽게 변경 - 플레이어와 카메라의 위치를 1:1로 잡았더니, 플레이어가 급격하게 움직이는 경우 카메라도 뚝뚝 끊겨서 움직이는 것이 문제가 되었다. - 그래서 카메라에서 플레이어를 .. 2023. 4. 23. 31. Particle System을 활용하여 공격 시 발생하는 먼지 구현 Particle System을 활용하여 공격 시 발생하는 파티클 구현 - 몇몇 스컬의 경우 공격 시 공격한 반대 방향으로 여러 개의 먼지 입자가 튀는데, 이 부분을 Particle System으로 구현했다. - Particle System은 먼지가 날리는 것 같은 다수의 객체를 한꺼번에 그릴 수 있는데 이 먼지 하나 하나를 객체로 취급한다면 프레임이 상당히 떨어졌을 것이다. (1회 공격당 50개의 파티클이 생성됨) - 구현은 Structured Buffer로 파티클 배열만큼의 메모리를 GPU에 할당한 후에, Compute Shader에서 값을 이리저리 옮겨주고, 그 값을 Geometry Shader에서 사각형으로 만들어준다. (파티클 각각은 점으로 이루어져 있고 Geometry Shader에서 이 점을 .. 2023. 4. 22. 30. Physic Event 추가 & Particle System 구현 중 Physic Event 추가 - 현재 대마도사 스컬의 메테오가 바닥에 떨어질 때, 콜백 함수에서 물리 작용을 받는 파티클들에게 특정 방향으로 힘을 주게 되어 있는데, 이 부분에서 PhysX에서 경고 메시지가 발생해서 이벤트방식으로 수정 invalid operation : Concurrent API write call or overlapping API read and write call detected during physx::NpRigidDynamic::addTorque from thread 25140! Note that write operations to the SDK must be sequential, i.e., no overlap with other write or read calls, else t.. 2023. 4. 20. 29. Monster Factory 추가 & RigidBody 및 충돌 개선 Monster Factory 추가 - 지금 게임 오브젝트가 컴포넌트 패턴으로 조립되다보니, 하나의 객체를 내보내기까지 신경써야 할 것들이 많다 - 사람이다보니 실수를 할 수 있기 때문에, 오브젝트의 공통적인 부분들을 모아서 마치 공장에서 만드는 공산품(?) 처럼 만들어내기 위한 일련의 작업들을 추가했다. - Transform, MeshRenderer, Material, Mesh 이런 컴포넌트들은 대부분의 객체가 가지고 있기 때문에 객체가 생성될 때 자동으로 붙여서 생성되도록 했다. - RigidBody, Physical, Movement, Animator, DebugRenderer 등의 컴포넌트는 객체의 특성에 따라 붙일지 말지 결정되기 때문에 이 부분은 객체를 생성한 후 그 스코프 안에서 처리하는게 낫.. 2023. 4. 19. 이전 1 ··· 33 34 35 36 37 38 39 ··· 85 다음