Post

Unity(3)

Unity(3) Object, Translate


Object:

모든 개체의 기본 클래스로 컴포넌트를 포함하고 있으며 개발자가 원하는 형태의 객체로 만들 수 있다.
screen</img>

Hierarcy창에서 마우스 우클릭 -> 3D object -> cube 클릭하면 화면의 큐브를 만들수있다.
생성된 object를 hierarcy창에서 우클릭하여 이름을 바꾸거나 삭제할 수 있다.
해당 object를 클릭 후 inspector창을 통해 component들을 확인할 수 있다.

Mesh:

mesh란 폴리곤 모양의 집합으로, 내가 만든 오브젝트가 어떤 모양인지 나타내는 것 같다.
screen</img>

사진 속 inspector창에는 위에서 만든 큐브의 컴포넌트들이 들어있다.
Mesh Filter: 어떤 모양인지 결정할 수 있는 component이다. 여기서 모양을 바꿀 수 있다.
Mesh Render: 어떤 성질을 가질지 결정.

  1. materials: 어떤 텍스처를 어떻게 배치할것이며, 표면의 질감은 어떤 특징을 가지도록할지 결정
  2. Lighting: 빛과 관련된 설정

Materials 바꾸는 방법:

project창에서 Assets폴더 안에 Materials폴더 만들기 -> Materials폴더로 들어가서 마우스 우클릭 -> creat -> Material
원하는 이미지를 인터넷에서 다운로드 후, Maerials폴더에 드래그해 저장해준다.
만들어둔 Material을 클리하고 albedo라고 적혀있는 글자 옆에 있는 작은 원에 사진을 드레그하여 넣어주면 원하는 이미지의 material이 생성된다. 아래 사진을 참고하자.
screen</img>

이렇게 만든 Material을 아까 만둘어둔 cube에 inspector창에 드래그하여 드롭하면, 큐브가 material에 저장된 정보로 변경된다.

screen</img>

Transform:

Object의 좌표계를 나타낸다. 기본적으로 모든 Object에 들어있는 component라고 볼수 있으며, 위치, 회전, 크기를 나타낸다.

키보드로 물체 이동시키기:

아까 만든 큐브를 공 모형으로 만들어 키보드 조작으로 움직여보자.

Project창 asset폴더에 Scripts폴더를 만든 후, 우클리 c# script 클릭하여, 코드 작성할 script를 생성한다.
스크립트의 이름을 나는 PlayerMovement로 정했다. 클래스가 파일이름으로 생성되기에 생성하고 나서는 파일명을 바꿀 수 없다. 주의해야 한다.

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{   
    public float speed;
    // Start is called before the first frame update
    void Start()
    {
        speed = 0.1f;
    }

    // Update is called once per frame
    void Update()
    {
        float h = Input.GetAxisRaw("Horizontal");//좌우 방향키
        float v = Input.GetAxisRaw("Vertical"); //상하 방향키

        transform.Translate(new Vector3(h,0,v));
    }
}

위와 같이 코드를 작성한 후, project 창에 있는 PlayerMovement script를 Player object의 inpector창에 드레그 드롭하면 script의 코드가
player에게 적용되는 것을 알수 있다. public으로 선언한 speed가 inspector창에 나타남도 알수 있다.

screen</img>

여기까지 Object와 translate에 대한 설명이다. 대학교 Unity캠프 자료를 참고하였다.
감사합니다.

This post is licensed under CC BY 4.0 by the author.