본문 바로가기

코딩 공부/Unity C#

오브젝트의 충돌 및 질량

바닥에 붙어있는 여러 마리의 물고기를 클릭하면 물고기가 위로 올라간다

물고기와 위에서 떨어지고 있는 곰돌이가 충돌하면 충돌 이펙트와 함께 두 오브젝트는 파괴된다

물고기는 계속 생성된다

게임 플레이 참고 사진

 

중력이 있는 상태에서 특정 오브젝트의 중력만 없애는 방법

인스펙터창

- Gravity Scale을 0으로 설정하면 해당 오브젝트의 중력이 사라진다

 

Fish 스크립트

- 물고기가 곰돌이와 충돌했을 때에만 폭발할 수 있도록 태그 설정을 한다(TeddyBear)

 

- 물고기가 위로 올라가서 화면 밖으로 나가면(OnBecameInvisible메서드) 물고기를 파괴한다

- 물고기 오브젝트를 움직이는 y축의 힘이 5000이나 된다

- 전에 다루던 오브젝트보다 물고기의 질량이 더 커졌으므로 힘의 크기도 더 커져야한다

 

TeddyBear 스크립트

- 곰돌이가 다른 오브젝트와 충돌했을 때 해당 오브젝트의 변수를 저장한다(collisionObject)

- 충돌한 오브젝트가 물고기라면(Fish태그로 인식) 물고기 오브젝트의 스크립트 컴포넌트를 저장한다

- 물고기 오브젝트의 스크립트 레퍼런스가 있으므로 Damage 프로퍼티에 접근할 수 있다

- 물고기가 곰돌이에게 데미지를 입히고, 곰돌이의 체력(healty)가 0이 되면 곰돌이는 파괴된다

 

'코딩 공부 > Unity C#' 카테고리의 다른 글

오디오 기본 사항  (0) 2024.07.21
string 문자열 연산(문자열 추출, 문자열 데이터 타입 변환)  (0) 2024.07.21
string 타입 예제  (0) 2024.07.20
Bouncer 충돌 처리  (4) 2024.07.20
메서드 헤더  (0) 2024.07.17