일단 바닥을 만들어주시고, 큐브를 하나 생성해줍니다.



이제 바닥 만드는법이나, 큐브 생성하는 법은 다들 아시죠? ㅎㅎ



움직임을 구현하기 위해 스크립트를 만들어 주어야 합니다.



Project > Create > C# Script






파일명은 클래스명과 동일하게 해야하므로 유니티에서 제공되는 함수명은 


사용할 수 없기때문에 잘 생각하고 만드셔야 합니다.




스크립트를 더블클릭하시면 기존에 설정하셨던 MonoDevelop - Unity 가 켜지게 됩니다.


간혹 MonoDevelop이 편집이 안되는 분들이 계십니다. 그럴때는 유니티의 경로를 모두 영어로 바꾸어주시고


그래도 안된다면 Edit > Preferences > External Tools > External Script Editor 를 사용하시는 에디터로 변경하세요.


하지만 MonoDevelop 을 제외한 다른것을 사용하시면 디버그가 안되므로 유의해주세요...






스크립트를 실행하시면



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using UnityEngine;
using System.Collections;
 
public class BasicMove : MonoBehaviour {
 
    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
    
    }
}










C# Script 의 기본구성모습입니다.


보시면 class명이 스크립트의 파일명과 동일시되는것을 보실 수 있으실겁니다.



Start는 클래스의 생성자 함수와 같습니다.


           클래스가 호출될 때 한번 실행됩니다.



Update는 클래스가 호출되는 순간부터 계속 순환합니다.




지금부터 박스의 이동을 구현해보도록 하겠습니다.




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
using UnityEngine;
using System.Collections;
 
public class BasicMove : MonoBehaviour {
    public float MoveSpeed = 10f;
    // 이동속도를 제어해주기 위한 변수
 
    // Update is called once per frame
    void Update()
    {
        Vector3 pos = transform.position;
        // Vector3 struct 변수에 오브젝트의 위치정보를 가져온다.
 
        float h = Input.GetAxis("Horizontal");
        // 수평이동 관련입력 "Horizontal"에 해당하는 키 값이 입력되면 
        // Input 클래스의 GetAxis함수를 이용하여 키 입력을 float형으로 반환
        
        float v = Input.GetAxis("Vertical");
        // 수직이동 관련입력 "Vertical"에 해당하는 키 값이 입력되면
        // Input 클래스의 GetAxis함수를 이용하여 키입력을 flaot형으로 반환
 
        pos.x += h * MoveSpeed * Time.deltaTime;
        pos.z += v * MoveSpeed * Time.deltaTime;
 
        // pos += new Vector3(h, 0, v) * MoveSpeed * Time.deltaTime;
        // 이와같이 한줄로 정리할 수 있다.
 
        transform.position = pos;
        // 계산되어진 좌표값을 현재 오브젝트에 적용한다.
    }
}





기본적인 상, 하, 좌, 우 의 이동입니다.



오브젝트에 스크랩트를 적용하시려면 스크랩트 파일을 오브젝트에 드래그 해주시면됩니다.( Texture 입히는것과 동일 )




박스의 움직임은 아래사진의 기즈모 방향대로 되어있을때 제대로 움직입니다.



                                     





박스가 움직이는지 확인을 하실때는 Game의 재생버튼을 누르시면 됩니다.











이번에는 카메라가 오브젝트를 따라다니게끔 하는 방법입니다.







Hierarchy 의 Main Camera 를 드래그하여 큐브에 종속시켜주면 됩니다 참 쉽죠? ㅎㅎ







차이점이 느껴지시나요??



edit > project setting > input 을 보시면 소스를 수정하지 않으셔도 오브젝트의 수정을 자유자제로 하실 수 있습니다.







그리고 하나의 팁을 드리겠습니다!!


Tip. 편집하던중 현재 보여지고있는 곳으로 카메라를 이동하고 싶을때는 Ctrl + Shift + F 를 누르시면 됩니다!!

      Game Object > Align With View 로도 가능합니다!!

'프로그래밍 > Unity3D' 카테고리의 다른 글

Rigid Body  (0) 2016.06.20
탱크(오브젝트) 관절별로 움직이기  (0) 2016.06.20
apk 마켓에 등록하기  (0) 2016.06.15
개발자 등록하기  (0) 2016.06.15
안드로이드 포팅하기  (0) 2016.06.14