본문 바로가기
관/핫한 닷지 프로젝트 게임개발

닷지 게임제작 기초 08(닷지 총알 편).

by 4차원 박스 2020. 7. 22.

이번 포스팅은 닷지에서 총알을 만들어본다.

 

총알 오브젝트를 만드는건 일단 빠르게 대충 해준다

어차피 총알은 다음의 기능만 필요하고 모양새만 만들어주면 되므로

대충대충 해주자.

 

 

총알(탄알)

1. 구 오브젝트로 한다

2. 생성된후 앞쪽 방향으로 일정 속도로 날아감.

3. 플레이어와 충돌하면 플레이어 파괴

 

sphere 생성 이름 Bullet

대강 위치 0,3,0 크기 0.5,0.5,0.5

머터리얼의 이름을BulletColor로 하고 255,0,0 알베도로 설정후 붙인다.

리지드바디 컴포넌트 붙이고 중력해제 한다.

(앞의 포스팅에서 나온 과정이므로 모르면 아래 링크에서 참고)

https://hotstudy.tistory.com/47?category=911663

 

닷지 프로젝트 오브젝트 기초 03(플레이어 만들기).

이제 플레이어를 만들어 본다. (다음 포스팅에서 스크립트를 사용할 예정 이번 포스팅에선 오브젝트와 컴포넌트를 본다). 원하는 플레이어의 기능은 1. 파란 캡슐모양 2. 화살표 또는 wasd�

hotstudy.tistory.com

콜라이더가 있으면 콜라이더가 있는 오브젝트끼리 부딪히면 튕겨나가므로

총알이 튕기지 않게 트리거(trigger)로 설정된 콜라이더를 사용한다

 

 

<트리거콜라이더>

충돌한 물체를 밀어내는 물리적 표면이 없다.

오브젝트를 뚫고 지나가지만 충돌자체는 감지함

즉 충돌이 감지되었을때 어떠한 기능을 실행하는 방아쇠로 많이 사용함

예로 플레이어가 어느 영역에 진입했는지 검사할때 트리거 콜라이더 사용을 한다.

(보이지 않는 콜라이더를 어느 위치에 배치하고 해당 콜라이더르 통과할때 컷씬이나 몬스터 리젠

같은 방식이다.)

 

탄알의 트리거 콜라이더는 탄알이 충돌은 감지하되 다른 게임오브젝트를 밀어내지 않게 사용한다.

 

sphere collider에서 isTrigger를 체크한다.

이걸 추후 총알 생성기 오브젝트를 만들어 Bullet 오브젝트를 게임실시간으로 복제 생성한다.

탄알 생성기 입장으로는 원본 게임 오브젝트를 필요로 한다.

따라서 Bullet 게임 오브젝트를 프리팹(prefab)으로 만들것이다.

 

<프리팹>

언제든 재사용가능한 미리 만들어진 게임 오브젝트 에셋(파일) 이다.

비슷한 게임오브젝트 여러개를 만들때 다시 설정하는 번거로움을 줄인다.

겜 오브젝트를 프리팹으로 만들면 나중에 해당 오브젝트와 같은 게임 오브젝트를

프리팹에서 복제 생성할 수 있다. 프리팹은 파일로 저장되므로 다른씬에서도 사용가능.

 

하이어라키창에서 프로젝트로 드래그하면 프리팹이 된다.

그럼 기존 게임 오브젝트는 하이어라키창 상에서 파란색으로 표시가 된다.(복제본이라는 것이다).

이제 프리팹을 오브젝트창으로 드래그드롭하거나 복사붙여넣기를 하면 복제본을 계속 만들 수 있다.

다음은 Bullet의 스크립트를 만든다.

필요한 전역변수는 다음과 같다.

speed : 이속

bulletRigidbody : 리지드바디 컴포넌트할당

 

코드는 다음과 같다.

 

public float speed =8f;

Rigidbody bulletRigidbody;

 

void Start()

{

bulletRigidbody = GetComponent<Rigidbody>();

}

 

이렇게 해준다.

 

 

스크립트 설명은 다음 포스팅에서 이어한다.

댓글