1.돌격형 몬스터인 EnemyB의 돌격 경고라인 만들기
- Trail Renderer 컴포넌트를 가질 빈 오브젝트를 생성하고 꼬리가 생성될 시간인 Time과 꼬리의 색상을 조절해주고
- Aligment를 기존 View에서 Transform Z로 해주어야 카메라 시선에 따라 꼬리가 회전하는 현상을 막을 수 있다
- Transform Z 방향으로 꼬리가 생성되기 때문에 해당 오브젝트의 z축이 forward가 되도록 회전시켜주고
- 이 후 해당 오브젝트를 생성 후 transform.forward 방향으로 날리기 위해서 빈 부모 오브젝트를 하나 더 만들어서 그 자식오브젝트로 넣고 프리팹화 시킨다
- 기존 Enemy 스크립트의 Attack()함수안에서 Type.B의 공격에 대한 코드에 위에서 만든 트레일랜더러 프리팹을 생성하고 앞으로 rigid.AddForce() 날려주는 코드를 추가한다(이 후 Destroy되도록 해줌)
2. 쿠션공격 몬스터인 EnemyD의 경고라인 만들기
- Line Renderer 컴포넌트를 가질 빈오브젝트를 생성하고 1의 Trail Renderer와 같이 Alignment를 기존 View에서 Transform Z로 바꿔준 후 X축기준 90도 회전시켜준다
- 빈 부모 오브젝트의 자식으로 넣어준다 이 후 프리팹화 시킨다
- 부모오브젝트로 생성한 EnemyDdangerMark 오브젝트에 이 후 만들어줄 EnemyDdangerMark스크립트를 컴포넌트에추가해주고 위에서 만든 라인렌더러 오브젝트를 Line Renderer에 드래그 앤 드랍한다
- Enemy 스크립트에서 Attack()안에 있는 Type.D의 공격방식 코드에 해당 몬스터가 공격시에 위에서 만든 라인렌더러가 들어간 부모오브젝트 프리팹을 생성하도록 Instantiate해준다
- 생성된 라인렌더러 오브젝트는 아래와 같은 스크립트를 가지고 있다
- EnemyD과 공격을 함과 동시에 Line Renderer컴포넌트가 들어있는 오브젝트를 생성하고
해당 오브젝트가 RayCast와 Vector3.Reflect를 이용하여 꼭지점을 만들고 해당 꼭지점들을 이어서 Line Renderer가 생성되도록 하는 원리이다
3. 쿠션공격 몬스터인 EnemyD의 발사체 만들기
- 파티클 시스템을을 가진 일반 원형총알 오브젝트를 프리팹화 해준다, bullet 스크립트를 추가해주고 총알 Type을
EnemyBulletMissile3Cu로 지정해준다
- 기존 Bullet 스크립트에서 위에서 만든 미사일 타입의 이름일 경우 먼저 생성한 총알의 forward방향으로 rigidbody.velocity를 주어 날려주고
- OnCollistionEnter 이벤트 함수를 이용하고, 충돌지점의 법선인 contacts[0].normal을 이용하여 Vector3.Reflect를 이용하여 새롭게 속력을 줄 방향을 새로 지정해주는 방식으로 bounceCnt만큼 총알을 발사해준다
완)
'Unity > Unity3D_Quater' 카테고리의 다른 글
Unity3D_Quater - 룰렛만들기 (0) | 2021.04.25 |
---|---|
Unity3D_Quater - 보스몬스터 레이져공격 만들기 (0) | 2021.04.22 |
Unity3D_Quater - 몬스터HP 부드럽게 감소시키기, HP감소 잔상 만들기 (0) | 2021.04.12 |
Unity3D_Quater - 플레이어 단위체력바 만들기 (0) | 2021.04.12 |
Unity3D_Quater - 몬스터 시야, 위험도이미지, 체력바 적용 (0) | 2021.04.12 |