C#초보자를 위한 Unity 3D 개발

8599 단어 Unity
2015.2.13 기고문 보도

개발 환경


Mac OS X 10.9.1
Unity4.61

이번 목록


1.Unity 기본 작업
2.C#로 객체 조작
 

1.Unity 기본 작업


저는 일단 유닛을 켜면 이런 그림이 나오고 싶어요.

유니티 측이 제작한 이미 완성된 프로젝트이니 새로운 프로젝트를 만들어보자.
(화면 위에 있는 재생 버튼을 눌러도 놀 수 있다)
 

맨 왼쪽 재생, 가운데 정지
 
 

프로젝트 작성


먼저 메뉴 모음에서
File>New Project 선택
이런 창이 열려요.

 
다음에 Set을 클릭하여 저장 장소와 프로젝트 이름을 결정하고 Save를 진행합니다.(Unity는 자동으로 다양한 파일을 만들기 때문에 Desktop을 저장하지 않는 것이 좋다)
이번에는 Doctoments 저장 장소입니다.
프로젝트 이름을 UnityTest로 설정

 
이번에 패키지를 가져오지 않았어요.
바로 Create Project로 만들어주세요!
 
 

객체 배치


처음에는 아무것도 없었어요.
Scene에 Main Camera만 구성
용어
의향
Asset
파일 등을 개발하기 위한 소재입니다.
Scene
영화 장면 같은 것, 게임 등은 몇 개의 Scene으로 구성된다.각 Scene은 Aseet을 구성할 수 있습니다.
Camera
재생 버튼을 눌렀을 때 카메라 시점입니다.
 
 
그럼 네모난 입방체를 배치해 볼게요.
메뉴 모음에서 GameObject > 3D Object > Cube 를 선택합니다.

먼저 Scene의 세계 좌표 중심에 위치하고 있습니다.
3D로 세계 좌표를 개발한 분들은 다 경험이 있으신 것 같아요.
이 Scene은 X축, Y축, Z축으로 표시된 객체의 위치를 나타냅니다.
세계 좌표의 중심은 모든 축이 0인 상태를 가리킨다
 
 
그럼 이 좌표를 바꿔서 카메라가 기분이 좋아지도록 하세요.
객체를 이동하는 방법은 두 가지가 있습니다.
첫 번째는 입방체를 직접 클릭하고 드래그하면 자유자재로 설정할 수 있습니다.
입방체에서 나온 3색 화살표 사용하기
빨간색은 X축, 녹색은 Y축, 파란색은 Z축 이동
(이 화살표가 없는 사람은 큐브를 누르거나 W 키를 눌러도 된다. 잠시 후 Q, W, E, R, T, 각자의 키로 조작을 변경할 수 있음을 설명할 것이다.)
동작이 과할 때.
option(alt) 키를 누르면서 끌어당기는 방식으로 훑어봅니다.
option(alt)키와commond키를 누르면서 드래그하면 시점을 이동할 수 있습니다
화살표를 사용하여 입방체 이동하기
세부적으로 구성하려는 경우 두 번째 방법 사용
 

 
Cube를 눌렀을 때 오른쪽에 있는 inspector
Transform 구성 요소 값 가지고 놀기
inspector
타입
Position
객체 위치 좌표
Rotation
객체 회전 좌표
Scale
객체 크기
문자에 따라 값을 수정하면 객체가 변경됩니다.
이번에는 자리를 옮기고 싶어서 포지션의 Z축을 -6으로
이렇게 되면 카메라 앞에 와서 재생성 버튼을 눌러 Scene을 실행합니다

이렇게 된 기분이야.
어둡다. 재생 버튼 옆에 있는 정지 버튼이 Scene의 편집으로 돌아갑니다.
광원을 만들다.메뉴 모음에서 GameObject&Light&Directional light 선택
Directional light는 그 세계의 태양의 방향입니다.
위치는 상관없고 방향은 상관없다.이번에는 기본 X축 50, Y축 -30을 쓰려고 합니다.
빛의 강도는 오른쪽 Inspector의 라이트 어셈블리에서 Intensity 값을 사용하여 변경할 수 있습니다.
그러면 재생을 해보면 하얀 입방체가 잘 나와요.

객체 유형


Cube를 배치할 때처럼 메뉴 모음에서
GameObject > 3D Object에는 다양한 개체가 있습니다.
거기에 두면 알겠지만 아무것도 없는 상대도 있어
그것에 관해서는 여기에서 만지지 않지만, 너무 많은 방해를 만든 대상은 화면 왼쪽의 Hierrarchy에서 오른쪽 단추를 눌러서 Delete를 하면 된다

Scene의 save


일단 여기까지 만든 Scene을 저장해 두도록 하겠습니다.
File] Save Scene은 Project와 마찬가지로 저장 장소와 이름을 결정합니다 (command+s도 저장할 수 있습니다)
저장된 Scene은 화면 아래 Asseets에 저장됩니다.

이번에는 TestScene으로 이름을 지었습니다.

2.C#로 객체 조작


이제 C#Script로 객체를 이동합니다.
메뉴 모음의 Assets 또는 화면 아래쪽의 Assets 를 마우스 오른쪽 버튼으로 클릭하고Create>C#Script 를 선택합니다.
Assets에'C#'이라고 적힌 종이가 나오니까 이름부터 적으세요.
그 스크립트를 Hieracy 안에 있는 큐브에 끌어주세요.
TestScript를 지금 두 번 클릭하여 엽니다.
그리고 Mono Develop이라는 유닛 표준 도구를 켜서TestScript의 내용을 표시합니다

함수.
액션
void Start()
대상을 만드는 순간 호출됩니다.
void Update()
프레임당 호출
※ 프레임이란 1초 동안 반복 재생되는 작은 시간 단위
일단 코드를 넣어볼게요.
TestScript.cs
using UnityEngine;
using System.Collections;

public class TestScript : MonoBehaviour {

    private float speed = 0.1f;

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
        if (Input.GetKey ("up")) {
            transform.position += transform.forward * speed;
        }else if(Input.GetKey("down")){
            transform.position += transform.forward * -speed;
        }

        if (Input.GetKey ("right")) {
            transform.position += transform.right * speed;
        }else if(Input.GetKey("left")){
            transform.position += transform.right * -speed;
        }
    }
}
Input.GetKey("키 이름")는 키를 눌렀는지 여부를 판단합니다.
transform.position += transform.forward * speed;그럼 포지션의 좌표는 스피드 분만 이동합니다.
MonoDevelop은 Unity와 동기화가 빨라서 저장하지 않아도 반영됩니다
재생을 해보니까 움직여!
이번에는 기본적인 설명이 많아요.
나는 다음에 더 많은 다채로운 일을 해 보고 싶다.

좋은 웹페이지 즐겨찾기