코딩/Unity - 연재

UnityBasis 4. 유니티 컴포넌트를 사용해보자

GalaKrond 2022. 3. 15. 15:23
728x90

안녕하세요. 마늘입니다.

지난 시간에는 스크립트를 만들고, 직접 동작하도록 만들어 보았습니다.

오늘은 유니티에서 기본적으로 제공하는 컴포넌트를 써보도록 하겠습니다.

 

 

1. 유니티 기본 제공 컴포넌트를 써보자

 

이전 시간 그대로입니다. 차이점 없으니까 찾지 마세요 :(

 

자. 유니티 기본 컴포넌트를 쓰기 전에, 우리가 지난번에 사용했던 컴포넌트를 빼봅시다.

오브젝트를 클릭해서 인스펙터를 켜보면,

 

 

Go Forward

이렇게 Go Forward라고 스크립트의 이름이 써있는 걸 볼 수 있습니다.

참고로 유니티는 스크립트의 이름을 알아서 깔끔하게 띄어쓰기해서 표시해줍니다.

'GetGun' 라고 이름을 써두었다 치면 자동으로 'Get Gun' 으로 변환해서 표시해주죠.

일단은 우리 오브젝트에서 이 스크립트를 빼 봅시다.

옆의 점 3개(더보기) 를 누르고 Remove Component 를 눌러줍시다.

 

삭제 완료

 

삭제가 완료되었다면 Add Component를 눌러서 새 컴포넌트를 추가해봅시다.

오늘 사용할 것은 박스 콜라이더리지드바디 컴포넌트인데요.

박스 콜라이더는 흔히 말하는 히트박스를 만들어주는 컴포넌트,

리지드바디는 오브젝트의 충돌과 힘을 조절하는 컴포넌트로, 

둘 다 기초적인 물리엔진에 필요한 컴포넌트입니다.

Box Collider 2D / RigidBody 2D 를 추가해봅시다!

 

 

 

2. 오브젝트 복제 / 컴포넌트 수정하기

 

둘을 추가해보면 뭔가 많이 생깁니다

 

오늘은 추가하고 기초적인 것만 다루고 나서, 이후 프로젝트로 해당 컴포넌트와 더 많은 것을 다룰 예정이니까,

다른 설정은 건드리지 말고, 이 오브젝트를 복사해봅시다.

하이어라키 창에 가서, 오브젝트를 우클릭하고 Duplicate를 눌러줍시다.

 

플레이어가 하나 더 생겼어요

 

플레이어가 하나 더 생겼지만, 겹쳐져 있어서 보이지 않기 때문에 Player(1) 의 위치를 좀 바꿔줍시다.

지난 시간에 봤던 대로 인스펙터 - 트랜스폼에 가서 원하는 대로 위치를 바꾸어줍시다.

 

저는 각도도 바꾸어 주었어요

 

다 했다면, Player(1)의 인스펙터로 들어가서 RigidBody 2D의 Gravity Scale / Mass를 각각 0, 1000으로 바꾸어 봅시다.

 

 

이렇게 바꿔줍시다.

 

 

정상적으로 바꾸었다면 테스트할 겸 플레이를 눌러봅시다.

 

 

기초적인 물리엔진 완성!

 

우리는 방금 유니티 기본 제공 컴포넌트 만으로 물리엔진을 어느 정도 구현했습니다.

워낙 기본 툴이 많이 주어져있는지라, 기본적인 구현은 누구나 쉽게 할 수 있습니다!

 

다음 시간부터는 키보드 입력을 배워보고, 그 뒤로 기초적인 게임을 만들어 볼 예정입니다!

그 전에 번외로 deltaTime에 대해 설명하는 포스트를 먼저 올리도록 하겠습니다!

 

728x90