Unity c# for designer 1강 / 기본적인 프로그램

C#이 보이는 그림책을 참고로 작성했습니다.

강의용 자료로 만들었기 때문에 구체적인 설명은 없습니다.


 

1. Hello world

간단한 문자 출력을 해보며 간단히 구조를 살펴봅니다.



 

1) helloWorld c# 스크립트를 하나 생성합니다.



 

2) 더블 클릭 해서 모노 창이 띄웁니다.



 

3) 이제 첫 스크립트를 작성할 준비가 끝났습니다.

이제 아래와 같이 작성해보세요.


 

void Update () {


Debug.Log ("Hellor World");

}




 

4) 작성한 후 스크립트를 끌어다 카메라에 넣고 플레이 해보세요.

콘솔 창에 Hello World 가 계속해서 출력되는 것을 확인 할 수 있습니다.


 

첫 스크립트 작성을 축하 합니다.!

짝짝짝~ ㅎㅎ





 

2. 프로그램의 기본 구조

유니티 C#의 기본 구조는 아래와 같습니다.

각각의 세부 설명은 이후 차차 설명하겠습니다.


 





 

3. 유니티 C# 기본 함수

출처 : http://dlgnlfus.tistory.com/64


 

void Awake(){

}


-스크립트가 실행될 때 한 번만 호출되는 함수이다.

-주로 게임의 상태 값 또는 변수의 초기화에 사용한다.

-start 함수가 호출되기 전에 먼저 호출된다.

-스크립트가 비 활성화돼 있어도 실행된다.

/*코루틴 사용 불가*/

void Start () {

}


-Update 함수가 호출되기 전에 한번만 호출된다.

-스크립트가 활성화돼 있어야 실행된다.

-다른 스크립트의 모든 Awake가 모두 실행된 이후에 실행된다.

void Update () {

}


-프레임마다 호출되는 함수로 주로 게임의 핵심 로직을 작성한다.

-스크립트가 활성화돼 있어야 실행된다.

-코루틴 사용 불가

void LateUpdate (){

}

-모든 Update 함수가 호출되고 나서 한 번 씩 호출된다.

-순차적으로 실행해야 하는 로직에 사용한다.

-카메라 이동 로직에 주로 사용하는 함수다.

-스크립트가 활성화돼 있어야 실행된다.

void FixedUpdate (){

}


-주로 물리 엔진을 사용하는 경우에 일정 시간 간격으로 힘을 가할 때 사용하는 함수다.

-스크립트가 활성화돼 있어야 실행된다.

void OnEnable (){

}


-게임 오브젝트 또는 스크립트가 활성화됐을 때 호출된다.

-이벤트 연결 시 사용한다.

-코루틴 사용 불가

void OnDisable (){

}


-게임오브젝트 또는 스크립트가 비활성화됐을 때 호출된다.

-이벤트 연결을 종료할 때 사용한다.

-코루틴 사용 불가

void OnGUI (){


}


-레거시 GUI 관련 함수를 사용할 때 사용한다.






 

3. 변수

이번엔 여러가지 변수를 선언해 보겠습니다.

따라해보세요.~


 

using UnityEngine;

using System.Collections;


public class unityVariable : MonoBehaviour {


public int a = 1;

public float b = 1.5f;

private decimal c = 1.96666666666666666666666666m;

public string d = "디자이너를 위한 C# 기초";

public string e = "Good";

public string f = "Designer";

private string g = "good designer";

private string h = "GOOD DESIGNER";


System.Text.StringBuilder sb = new System.Text.StringBuilder();



// Use this for initialization

void Start () {

Debug.Log (a);

Debug.Log (b);

Debug.Log (c.ToString());

Debug.Log (d);

Debug.Log (e+f);

Debug.Log (g.ToUpper());

Debug.Log (h.ToLower());

Debug.Log (g[0]);


//StringBuilder

sb.Append("one ");

sb.Append("two ");

sb.Append("three");

Debug.Log (sb.ToString());


}

// Update is called once per frame

void Update () {

}

}






 

아래와 같은 결과가 나오면 성공~




 

4. 배열

간단히 배열을 만들어 보겠습니다.

따라해 보세요.


 

using UnityEngine;

using System.Collections;


public class unityArray : MonoBehaviour {


public int[] aArray = new int[5];

private int[] bArray = new int[] { 6, 7, 8, 9, 10 };



// Use this for initialization

void Start () {


aArray [0] = 1;

aArray [1] = 2;

aArray [2] = 3;

aArray [3] = 4;

aArray [4] = 5;

Debug.Log (aArray[0]);

Debug.Log (aArray[1]);

Debug.Log (aArray[2]);

Debug.Log (aArray[3]);

Debug.Log (aArray[4]);


Debug.Log (bArray[0]);

Debug.Log (bArray[1]);

Debug.Log (bArray[2]);

Debug.Log (bArray[3]);

Debug.Log (bArray[4]);

}

// Update is called once per frame

void Update () {

}

}





 

결과는 아래와 같습니다.


 

다 차원 배열은 책을 참고하세요.!!




 

5. 열거형

이번에도 역시 열거형 작성을 따라해 보세요.



 

using UnityEngine;

using System.Collections;


public class unityEnum : MonoBehaviour {


public Animal animal;


public enum Animal {

mouse, cat, bird

};



// Use this for initialization

void Start () {


}

// Update is called once per frame

void Update () {


Debug.Log (animal);


}

}





 

인스펙터에 항목을 변경하면 변경된 값이 찍히면 성공!!





 

6. unity script reference


 

유니티에서 제공하는 유니티 스크립트 자료 입니다.

스크립트를 짜다 보면 참고할 때가 옵니다.~

http://docs.unity3d.com/kr/current/Manual/CreatingAndUsingScripts.html


 




 

7. 과제

복습하고 결과 화면을 스샷을 찍어 글을 올려 주세요.


 

Posted by 프리랜서 디자이너