워크스페이스의 MyDesk를 우클릭 후 Create Model을 선택해줍니다.
저는 Model - Skill 폴더를 만들어놔서 해당 폴더에 모델을 만들었습니다.
SpriteRendererComponent를 추가 후 SpriteRUID에 원하는 화살 애니메이션을 넣습니다.
저는 Resource Storage - MSW - animationclip - Item에서 arrow를 검색 후 파란색 화살을 사용했습니다.
TransformComponent와 TriggerComponent도 추가하여 크기와 Collider Size를 조절해줍니다.
파란색 화살 기준으로 Scale (1, 1, 1), Collider BoxSize(0.5, 0.2)로 설정하니 괜찮아 보이네요.
TriggerComponent의 CollisionGroup에 PlayerProjectile을 추가한 후 Matrix설정을 해줍니다.
몬스터 피격 시 이펙트도 Resource Storage에 가서 마음에 드는걸로 사용하면 됩니다.
저는 animationclip - Skill - 공격 검색 후 3번째 이펙트를 사용했습니다.
PlayerUnitProjectile 컴포넌트를 만들어 화살 모델에게 넣어줍니다.
OnUpdate에서 Speed만큼 x축을 이동시켜 화살이 앞으로 나아가도록 하였고 TriggerEnter 이벤트로 몬스터와 부딪혔을 때 데미지를 주고 공격 이펙트를 보여준 후 파괴되도록 하였습니다.
공격 이펙트 부분은 현재 안나오고 있습니다. 다음 글에서 수정하겠습니다.
PalyerUnitAttack 컴포넌트를 만들어서 헬레나에게 넣었습니다.
ProjectileModel에는 화살 모델을 우클릭하여 EntityID를 복사하여 넣었습니다.
OnUpdate에서는 AttackTimer에 시간을 더해나가 공격이 가능한지 체크하고 Attack함수에서는 공격이 가능하다면 화살 모델을 소환하고 데미지를 넘겨주도록 하였습니다.
PlayerUnitState의 OnUpdate 부분에서 공격함수를 호출하도록 하였습니다.
이동할 때나 공격할 때 그에 맞는 애니메이션이 재생되도록 하였는데 현재 제대로 작동하지 않습니다.
다음 글에서 수정해보겠습니다.
게임을 실행해 보니 헬레나의 공격 범위 내에 들어오면 화살이 발사되고 위에서 넘겨준 데미지 값 100이 제대로 들어갔습니다.
주황 버섯이 데미지를 받아도 죽지 않아 확인해보니 EnemyState에 피격 이벤트가 없었습니다.
플레이어 유닛와 같이 넣어줍니다.
주황 버섯의 Hp를 100으로 설정 후 실행하니 화살 한 방에 제대로 죽고 있습니다.
다음 글에서는
- 헬레나 공격 시 공격 애니메이션
- 화살이 주황 버섯 공격 시 이펙트
- 헬레나 죽을 때 애니메이션
- 주황 버섯 죽을 때 애니메이션
- 플레이어의 데미지스킨과 몬스터의 데미지스킨 구별되게 수정
을 해보겠습니다.
'메이플 스토리 월드 (MSW)' 카테고리의 다른 글
[메이플 스토리 월드 (MSW)] 6. 몬스터를 감지하여 공격하기 - 3 (0) | 2023.07.24 |
---|---|
[메이플 스토리 월드 (MSW)] 5. 몬스터를 감지하여 공격하기 - 2 (0) | 2023.07.23 |
[메이플 스토리 월드 (MSW)] 4. 몬스터를 감지하여 공격하기 - 1 (0) | 2023.07.20 |
[메이플 스토리 월드 (MSW)] 3. 플레이어 유닛 스폰 (0) | 2023.07.19 |
[메이플 스토리 월드 (MSW)] 2. 몬스터 스폰 - 2 (0) | 2023.07.18 |