Unity(3)
Unity(3) Object, Translate
Object:
모든 개체의 기본 클래스로 컴포넌트를 포함하고 있으며 개발자가 원하는 형태의 객체로 만들 수 있다.
</img>
Hierarcy창에서 마우스 우클릭 -> 3D object -> cube 클릭하면 화면의 큐브를 만들수있다.
생성된 object를 hierarcy창에서 우클릭하여 이름을 바꾸거나 삭제할 수 있다.
해당 object를 클릭 후 inspector창을 통해 component들을 확인할 수 있다.
Mesh:
mesh란 폴리곤 모양의 집합으로, 내가 만든 오브젝트가 어떤 모양인지 나타내는 것 같다.
</img>
사진 속 inspector창에는 위에서 만든 큐브의 컴포넌트들이 들어있다.
Mesh Filter: 어떤 모양인지 결정할 수 있는 component이다. 여기서 모양을 바꿀 수 있다.
Mesh Render: 어떤 성질을 가질지 결정.
- materials: 어떤 텍스처를 어떻게 배치할것이며, 표면의 질감은 어떤 특징을 가지도록할지 결정
- Lighting: 빛과 관련된 설정
Materials 바꾸는 방법:
project창에서 Assets폴더 안에 Materials폴더 만들기 -> Materials폴더로 들어가서 마우스 우클릭 -> creat -> Material
원하는 이미지를 인터넷에서 다운로드 후, Maerials폴더에 드래그해 저장해준다.
만들어둔 Material을 클리하고 albedo라고 적혀있는 글자 옆에 있는 작은 원에 사진을 드레그하여 넣어주면 원하는 이미지의 material이 생성된다. 아래 사진을 참고하자.
</img>
이렇게 만든 Material을 아까 만둘어둔 cube에 inspector창에 드래그하여 드롭하면, 큐브가 material에 저장된 정보로 변경된다.
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창에 나타남도 알수 있다.
여기까지 Object와 translate에 대한 설명이다. 대학교 Unity캠프 자료를 참고하였다.
감사합니다.