일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 반복문
- 리눅스마스터2급
- Node.js
- 자바
- Vue.js
- Rigidbody
- 노드
- package.json
- 이기적 리눅스 마스터 2급
- vue 독학
- 템플릿 리터럴
- 리액트
- Transform
- 컴포넌트
- Unity
- Scanner
- axios
- vue 로그인
- 이기적
- React
- vue jwt
- vue 앱만들기
- java
- 형변환
- JWT
- npm start
- Vue
- for문
- quasar
- 유니티
- Today
- Total
나아가기
[Unity] 기본적인 프로젝트 만들기 본문
3D 바닥 만들기
1. 프로젝트 생성하기.
core -> 3d를 선택하고, 프로젝트 이름을 입력하고 생성 버튼을 누른다.
2. 바닥 만들기
Hierarchy에서 마우스 우측 버튼을 누르고, "3d Object"를 누르고 Plane을 선택한다.
씬 뷰(Scene View)에 바닥이 나타남.
Plane을 선택하고 Inspector 뷰를 보면, Transform이 보인다.
1. Position: 3D 오브젝트의 x, y, z 값으로 위치 조정. x는 좌우, y는 상하, z는 앞뒤를 의미한다.
2. Rotation: 회전 각도를 의미하며 x, y, z는 축이 되어 회전
3. Scale : Object의 크기를 조정. 1이 10m 정도이다.
3. 바닥에 재질 지정하기.
구글에 바닥 패턴을 검색하여, 크리에이티브 라이선스 메뉴를 클릭한 후 상업용으로 사용 가능한 이미지만 검색한다.
바닥을 반복적으로 사용하여 하므로, 평평한 이미지를 골라 다음이름으로 저장한다.
그리고 프로젝트뷰에서 마우스 우측 버튼을 클릭한 후,
Create -> Folder를 선택하여 "Image" 폴더를 만들어준다.
추가라한 이미지를 Image폴더로 드래그 해서 넣어준다.
추가한 이미지를 씬뷰테서 바닥 Object로 드래그해서 놓으면 표면에 이지가 입혀지는 것을 볼 수 있다.
컴포넌트 (Component)
유니티는 컴포넌트 기반으로 개발하는 CBD(Component Based Development) 방법을 사용합니다.
기능들을 하나씩 추가하거나 제거할 수 있어서 빠르게 개발할 수 있습니다.
컴포넌트를 추가할 땐, "Add Component"를 눌러서 추가하거나 드래드를 해서 추가 할 수 있습니다.
C# 컴포넌트 (스크립트 생성하기)
게임을 구성하는 여러가지 요소들이 어떻게 동작해야 할지를 코드로 작성한 것을 스크립트라고 한다.
Unity에서는 스크립트 언어로 C#을 사용한다.
1. C# 스크립트 생성하기
프로젝트뷰에서 오른쪽 마우스를 클릭하여 Create -> C# Script를 클릭하고, 이름을 지정한다.
만들어진 C# Script를 더블 클릭하면, Visual Studio로 연결되어 기본적인 코드가 보여진다.
위의 Class의 이름은 "Controll"로 다른 이름으로 되어있다면, 코드를 실행 시 오류가 발생한다.
따라서 반드시 C# 스크립트 파일명과 동일한 Class로 이름이 되어 있는지 확인하여야 한다.
2. C# 스크립트 구조 살펴보기
- using System.Collections;
using System.Collections.Generis;
using UnityEngine;
-> C#과 유니티에서 제공하는 여러가지 라이브러리를 가져오는 키워드이다. - void Start() { }
게임이 시작될 때 자동으로 한 번만 실행되는 유니티 이벤트 메서드이다.
게임이 시작과 함께 실행될 코드를 이 메서드 안에 작성한다. - void Update() { }
게임 화면이 새로 그려질 때마다 실행되는 유니티 이벤트 메소드이다.
컴퓨터는 1초에 60번 정도 화면을 새로 그리는데 새로 그리는 각각의 화면을 프래임(Frame)이라고 한다.
실시간으로 변하는 정보를 나타내 주는 코드는 이 메서드 안에 작성한다.
3. C# 스크립트로 "나의 정보" 출력하기.
※ 변수란?
1) 프로그램이 돌아가는 동안 필요한 여러가지 정보를 담아주는 저장소
2) 변수는 미리 선언한 후 사용할 수 있다. 선언하면서 초기값을 바로 저장할 수 있다.
3) string : 문자열 + 큰따옴표로 묶어서 표시
4) char : 문자 하나 + 작은 따옴표로 묶어서 표시
5) int : 정수. 소수점 아래 값이 없는 숫자
6) float : 실수. 소수점을 가진 숫자로 숫자 뒤에 f를 붙여서 표시함
7) bool(불리언) : true(참) + false(거짓) 중 하나를 저장
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Controll : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
string name = "삼순";
int age = 20;
float weight = 6.5f;
float height = 160.0f;
//콘솔창에 출력하기
Debug.Log("나의 이름 : " + name);
Debug.Log("나의 나이 : " + age);
Debug.Log("나의 몸무게 : " + weight);
Debug.Log("나의 키 : " + height);
}
// Update is called once per frame
void Update()
{
}
}
코드를 작성한 후, 다시 unity로 돌아간다.
그리고 게임 오브젝트에 Plane을 클릭한 후, 스크립트를 Pland의 오브젝트로 드래그해서 추가
드래그 한후, 추가된 것을 확인!!
그리고 실행을 시키면, 콘솔 창에 뜨는 것을 확인할 수 있다.
변수
유니티 3D 오브젝트를 변수를 통해 조종하기
1. Hierarchy 뷰에서 3D Object에서 Cube 추가하기
2. Inspector 뷰에서 Add Component → Physics → Rigidbody 클릭
Rigidboby 컴포넌트는 물리 시뮬레이션을 통해서 게임 오브젝트의 위치를 제어하고, 충돌에 대한 반응 크기 계산 및 중력의 영향에 의해 오브젝트를 아래로 떨어지게 할 수 있습니다.
3. 프로젝트 뷰에서 Create → c# Script 그리고, 스크립트 이름을 Box로 지정!
1) Box 스크립트 작성하기!
1. public Rigidbody myRigidbody;
Rigidbody 타입의 변수인 myRigidbody를 선언
myRigidbody 변수로 myRigidbody가 가리키는 실체인 Cube 오브젝트를 움직이게 할 수 있다.
void Start( )
{
myRigidbody.AddForce(0, 500, 0);
}
→ AddForce(x 방향, y 방향, z 방향)으로,
힘을 추가하는 Rigidbody 컴포넌트의 메서드
2) Cube를 선택했을 때 나오는 Inspector 뷰에서, Rigidbody란에 작성한 Box에 대한 C# Script를 드래그해서 넣어준다.
Box Script안에 My Rigidbody에 위에 있는 Rigidbody를
드래그 해서 넣어주기.
그리고 실행을 시키면,
Cube가 위로 살짝 올라갔다가 아래로 떨어지는 것을 볼 수 있다.
'Unity_Metaverse' 카테고리의 다른 글
[Unity] 2D 룰렛 게임 만들기 (0) | 2022.06.29 |
---|---|
[Unity] 플레이어 만들고, 오브젝트 이동시키기 (키보드 입력 값) (0) | 2022.06.22 |
[Unity] 클래스 이해하기 (0) | 2022.06.22 |
[Unity] 함수 (0) | 2022.06.22 |
[Unity] 개발 환경 구축하기 (0) | 2022.05.13 |