[Unity] Tutorials - Roll-a-Ball
http://unity3d.com/learn/tutorials/modules/ 사이트에 접속합니다.
PROJECTS 들이 여러개 보이는데요. 그중에서 Beginner 난이도인 Roll-a-Ball 입니다.
기본 마우스 기능
오브젝트를 선택할 경우에는 Shift + 좌클릭
화면을 회전할 경우에는 Alt + 좌클릭
평행이동을 하고 싶을 경우에는 마우스 중클릭 을 해야 합니다.
Hierarchy
Scene
| Hierachy | 설명 | 
|---|---|
| Ground | 바닥, 배경 | 
| Player | 움직이는 공 | 
| Fill light | 아래에서 비추는 빛 | 
| Main light | 위에서 비추는 빛 | 
| Walls | 동서남북 벽 | 
| PickUps | 회전하는 정육면체 | 
| Win Text | 승리 메시지 | 
| Count Text | 점수 | 
GUI Text 추가 문제 발생
튜토리얼과 같이 GUI Text를 생성할 수 없습니다. Create Empty Object 후에Component → Rendering → GUIText 를 추가해야 합니다
Assets
Prefabs
PickUp : pickup들에 공통적으로 스크립트를 적용합니다.
Scenes
MiniGame : 메인 화면
Scripts
CameraController
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  | using UnityEngine;using System.Collections;public class CameraController : MonoBehaviour {     public GameObject player;     private Vector3 offset;     // Use this for initialization     void Start () {          offset = transform.position;     }     // Update is called once per frame     void LateUpdate () {          transform.position = player.transform.position + offset;     }} | 
PlayerController
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 32 33 34 35 36 37 38 39 40 41 42  | using UnityEngine;using System.Collections;public class PlayerController : MonoBehaviour {     public float speed;     public GUIText countText;     public GUIText winText;     private int count;     void Start(){          count = 0;          SetCountText();          winText.text = "";     }     void FixedUpdate(){          float moveHorizontal = Input.GetAxis ("Horizontal");          float moveVertical = Input.GetAxis ("Vertical");          Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);          rigidbody.AddForce (movement * speed * Time.deltaTime);     }     void OnTriggerEnter(Collider other) {          if (other.gameObject.tag == "PickUp") {               other.gameObject.SetActive(false);               count++;               SetCountText();          }     }     void SetCountText(){          countText.text = "Count : " + count;          if (count >= 12) {               winText.text = "You WIN!";          }     }} | 
Rotate
1 2 3 4 5 6 7 8 9 10 11 12 13 14  | using UnityEngine;using System.Collections;public class Rotate : MonoBehaviour {     // Use this for initialization     void Start () {     }     // Update is called once per frame     void Update () {          transform.Rotate (new Vector3 (15, 30, 45) * Time.deltaTime);     }} | 
Build
Android
File → Build Settings → Player Settings 에서 Bundle Indentifier를 변경해야 합니다.
SDK 경로 변경은 Edit → Preferences → External Tools 에서 할 수 있습니다.
댓글