Unity

Unity 게임 개발 배우기 #2 우주여행 시뮬레이션 제작

태은코딩 2024. 12. 31. 06:38

출처

https://www.youtube.com/watch?v=bDPoVoLpT74

 

1. SkyBox 적용하기

SkyBox란?

- 게임 속 배경 하늘을 만들어주는 기술. 큰 상자가 세상을 덮고 있다고 생각하면 된다.

에셋 스토어에서 SkyBox 다운로드

https://assetstore.unity.com/packages/2d/textures-materials/sky/3-skyboxes-25142

 

3 Skyboxes | 2D 하늘 | Unity Asset Store

Elevate your workflow with the 3 Skyboxes asset from Bright Shining Star. Browse more 2D 텍스처 및 소재 on the Unity Asset Store.

assetstore.unity.com

적용 순서

Package Manager에서 SkyBox에셋 import

프로젝트의 SkyBox폴더에서 material에서 3개중 골라서

lighting의 Enviroment의 SkyBox Material에 드래그 한다. 

 

2. 부모 자식관계 이해하기

1) 하이어라키 창에서 3D Object Cube를 두개 만들고 이름을 Mother, Child로 바꾼 다음, Child를 드래그해서 Mother에 상속 시킨다.

- 여기서 mother을 이동 시킨 다음, child z축을 이동시키더라도, child는 X축과 Y축이 0이다. 왜냐면 mother을 기준으로 좌표가 설정되기 때문.

- 프로젝트의 ASSET에서 create material하고 색상을 바꾼뒤 mother에 적용

그 뒤 회전도 시켜보고 이동도 시켜봐라. child를 직접 옮기지 않는한 child는 좌표 그대로

 

3. 태양계 만들기

1) C#스크립트 생성

public float rotateSpeed = 30f;
-> 초당 회전속도( 기본값을 30으로 함)
-> public은 현재 레벨에서는 Inspector창에서
값을 자유롭게 조절할 수 있게 해준다고 이해
Rotate(Vector3.up, rotateSpeed * Time.deltaTime);
-> 유니티 내장함수
-> 회전축( Vector3.up = ( 0, 1, 0) , y축임 )을 기준으로
    rotateSpeed * Time.deltaTime 만큼 회전

 

2) hierachy에 태양계 생성

이와 같이 Create Empty로 SolarSystem부터 Sun, Mercury... Jupiter까지 생성한다.

 

그리고 그 아래에 3Dobj -> sphere의 Sun obj, Mercury obj...를 생성한다.

 

 

그리고 obj들의 거리를 이동시킨다.

 

3) 행성에 Material 입히기

https://assetstore.unity.com/packages/2d/textures-materials/floors/yughues-free-ground-materials-13001

 

Yughues Free Ground Materials | 2D 바닥 | Unity Asset Store

Elevate your workflow with the Yughues Free Ground Materials asset from Nobiax / Yughues. Browse more 2D 텍스처 및 소재 on the Unity Asset Store.

assetstore.unity.com

위의 에셋을 다운로드한다. 

드래그 해서 내가 마음에 드는 Material을 드래그 한다.

 

4) C# 스크립트 적용으로 공전 자전 만들기

GameEmpty의 Sun에 적용하면 공전

Sphere의 Sun obj에 적용하면 자전을 한다. 

 

5) 태양을 기준으로 빛나게 하기

Directional light에서 Type을 Point로,

Range는 1000, Intensity는 10으로 설정한다. 

그러면 태양 기준으로  광원 생성, 뒤에 그림자 지는거 볼 수 있다.

 

4. 우주선 만들기

1) 에셋 다운로드

https://assetstore.unity.com/packages/3d/environments/sci-fi/lowpoly-spaceship-183012

 

LOWPOLY - Spaceship | 3D Sci-Fi | Unity Asset Store

Elevate your workflow with the LOWPOLY - Spaceship asset from IV Art. Find this & other Sci-Fi options on the Unity Asset Store.

assetstore.unity.com

위의 에셋을 다운로드 받는다.

Package manager가서 Import하는데 여기서 scene 바꾸기는 ignore해야한다!

그리고 asset의 prefab에서 spaceship을 hierachy로 가져온다.

 

2) 카메라 집어넣기

위와같이 main camera를 spaceship아래 child로 넣고 좌표를 0, 1, -3으로 설정한다.

 

그러면 카메라가 다음과 같은 각도로 보여준다. 

 

3) 이동 C#스크립트 적용하기

위의 left hand방식으로 unity는 작동한다.

 

다음과 같이 코드를 짜고 c#script를 spaceship에 적용해준다.

이렇게 적용시키면 전진, 후진과 좌회전, 우회전, 상회전, 화회전까지 잘 되는 것을 볼 수 있다.