일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- AWS
- 백엔드
- JSON
- react
- 프로그래밍
- c#
- 깃
- unity
- RiotAPI
- IntelliJ
- Python
- MongoDB
- bcrypt
- 게임
- oAuth
- node.js
- 백준
- jwt
- spring
- 스프링부트
- frontend
- springboot
- OAuth2.0
- express
- 게임개발
- 파이썬
- 유니티
- netlify
- 코딩
- 스프링
- Today
- Total
Unwound Developer
유니티 - 닷지 트리거 생성 (총알) 본문
닷지 게임을 하려면, 총알이 나와야 하겠죠.
플레이어를 죽이는 총알을 만들어볼게요.
총알은 3D 오브젝트에서 구 모양으로 대충 만들었어요.
중요한건, Rigidbody컴포넌트를 적용시키고, 여기서 Use Gravity속성을 제거해야하는 거에요.
닷지를 하는데 총알이 계속 땅에 떨어지기만 해버리면 안되잖아요.
그리고, 또 중요한게 있어요.
총알이 플레이어에 닿으면 플레이어가 사망해야하는데, 이렇게 오브젝트에 닿거나 했을때
트리거로 작용하게 하는 속성이 있어요.
Sphere Collider 컴포넌트에 Is Trigger가 있는데 얘를 체크하면 트리거로써 사용된대요.
이제 Bullet의 스크립트를 작성해볼게요.
일단, Start 메소드에요.
플레이어 스크립트와 같이 속도 변수와, Rigidbody 객체를 생성해요.
그리고, transform.forward는 해당 게임 오브젝트의 앞쪽 방향을 제공해줘요. 그래서 speed랑 곱하면
총알이 앞을보고 speed의 속도로 진행해요.
맵에서 총알이 화면 밖으로 나가서도 계속 남아있으면 메모리에 문제를 주니까, Destroy 메소드로 3초뒤에 없애줘요.
OnTriggerEnter 메소드는 isTrigger가 체크된 오브젝트가 다른 오브젝트와 충돌했을때 실행됩니다.
여기서 인스턴스로 받아온 other는 충돌한 다른 오브젝트이고요.
other.tag == "Player"는 그럼 충돌한 오브젝트가 플레이어인지를 체크하는거겠죠.
그리고, 충돌한 오브젝트의 객체를 생성해요.
그 객체의 변수형은 PlayerController 형이고요.
이 때, 이 객체가 null이 아니면.. 즉, 충돌한 오브젝트가 플레이어면 그 플레이어의 Die 메소드를 실행시켜요.
이제 Bullet 스크립트도 완성됐어요.
그럼, 이제 이 스크립트를 Bullet 오브젝트에 드래그 드롭으로 적용시켜요.
다음은, 총알을 자동으로 생성해주는 Spawner를 만들게요.
'Unity > Unity, C#' 카테고리의 다른 글
유니티 - 2D 런 게임, 스프라이트 (0) | 2022.01.11 |
---|---|
유니티 - 닷지 UI 생성 (0) | 2022.01.10 |
유니티 - 닷지 오브젝트 자동 생성하기 (0) | 2022.01.07 |
유니티 - 닷지 플레이어 생성 (0) | 2022.01.07 |
유니티 시작하기를 준비하기 (0) | 2022.01.06 |