Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
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
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

모바일 게임 개발 중간고사 정리 본문

2-1/모바일 게임 개발

모바일 게임 개발 중간고사 정리

김브래 2023. 4. 26. 17:33

transform.Translate(x,y,z):게임오브젝트를 현재 위치에서 x,y,z의 거리만큼 이동시키는 명령어

transform.Translate(0,0,1);=>z축 방향으로 1만큼 움직임

transform.Rotate(x, y, z); = 0회전

 

자식은 부모와 함께 움직임

 

스크립트로 Rigidbody부착 gameObject.AddComponent<Rigidbody>();

gameObject:스크립트가 연결되어 있는 게임 오브젝트 자신을 가리킴

public변수:클래스(또는 스크립트파일)외부에서 접근 가능

private변수: 변수가 선언된 클래스 안에서 만 접근가능

local변수: 변수가 선언된 중괄호 내부에서만 접근 가능

Start():자동으로 한번 실행

Update(): 매 프레임마다 실행

 

1초에 1m을 이동 시키고 싶으면

transform.Translate(0,0, 1f * Time.deltaTime);

 

프로젝트: 게임을 개발하기 위해 필요한 모든 게임 데이터 파일(에셋)과 그 밖의 설정 파일들을 하나의 폴더 아래에 모두 담아 준 것

 

화면 구성: (1)Scene , (2)Game , (3)Hierarchy , (4)Project , (5)Inspector

Inspector

객체 구성(, 재질, 크기, 코딩 등)에 대한 설정 변경이 가능

Transform 속성-

객체의 초기 생성 크기를 기준으로 배율로 크기 지정이 가능

Position : 필드 위 객체 위치 설정

Rotation : 객체의 회전각도 설정Scale : 객체 크기 조정

[Alt+왼쪽 마우스버튼]을 클릭->drag하여 보이는 각도 이동

[Alt+마우스휠]을 클릭하여 drag->실제위치는 바뀌지 않고 Scene만 이동

왼손 좌표계(X=엄지, Y=검지, Z=중지)

왼쪽마우스클릭:Scene화면 이동

Alt+왼쪽마우스클릭:보는 각도 이동

Alt+마우스휠: 보는 위치 이동

마우스 휠 스크롤: 확대/축소

마우스오른쪽버튼+(A/D/S/W/,Q/E): 시야각이변하며 키보드 A,D,S,W키로 이동할 수 있음. Q키는 시야각이아래로 내려가고 E키는 시야각이올라감, SHIFT키를 같이 누르

 

스냅기능을 사용하여 정확한 거리로 이동

[Edit]->[Grid and Snap Settings]->Movex2를 입력

[Ctrl]키를 누르고 빨간화살표(x)drag하면 x축의 값이 2m단위로 값이 바뀜

 

글로벌방향: 모든 오브젝트가 공유하는 방향(절대적 방향)

로컬방향:모든 오브젝트는 바라보는 고유의 방향, 자신만의 방향을 가지고 있음(상대적 방향)

MainCamera GameObject클릭->[AlignWithView]클릭: 내가 바라보는 시야가 카메라의 시야가 됨

Main Camera클릭->Orthographic으로 선택: 실행->오브젝트의 사이즈 그대로 보여서 원근이 없어 보임

Main Camera클릭->[Perpective]로 변경: 원근이 있음

카메라의 Far: 카메라가 볼 수 있는 거리

카메라의 Field of View: 카메라의 줌 정도

태양광선 Directional Light: 회전하면 빛의 각도 변경 가능 / 삭제 하면 어두워짐

Point Light color로 빛의 색 변경가능 / Range: 범위 / Intensity: 강도

Component->Rigidbody클릭: 중력의 영향을 받음

Mass: RigidBody의 질량.

Drag: 저항력. 움직임에 대한 저항력=마찰력

프리팹: 게임에서 사용되는 가장 기본적인 요소들이 모여서 바로 사용할 수 있도록 포장된 한 개의 제품

원본 프리팹 설정을 변경하면 모든 프리펩에 적용

충돌체(Collider):게임 오브젝트들의 충돌을 감지

Assets->Create->Material Albedo 오른쪽 박스를 클릭하여 색상 선택: 객체의 색상 설정

충돌체가 없으면 객체가 통과함

Windows->[Search]->Asset Store: 에셋 다운로드 가능

Material Albedo: 색상 / Metallic:금속재질의 정도 / Smoothness:반사의 정도

 

OnMouseDown() 충돌체가 있는 게임 오브젝트에 마우스 커서를 대고 왼쪽 버튼을 누르면 이 함수에 있는 명령어들이 자동으로 실행됨

OnMouseUp() 마우스 커서를 눌렀다 떼는 순간 실행

OnMouseEnter() 마우스 커서가 들어가는 순간 실행

OnMouseExit() 마우스 커서가 빠져 나오는 순간 실행

 

transform.Rotate(x,y,z): x,y,z축 기준으로 자기 자신을 주어진 각도만큼 회전시키라는 명령어

 

Input.GetKeyDown(키보드): ‘키보드의 키가 입력되면

 

KeyCode.UpArrow: 위쪽 화살표

KeyCode.DownArrow: 아래 화살표

KeyCode.RightArrow: 오른쪽 화살표

KeyCode.LeftArrow: 왼쪽 화살표

KeyCode.Space: 스페이스 바

 

transform.Translate(Vector3.forward* 움직이는속도* Time.deltaTime);

Vector3.forward:전진

Vector3.back:후진

Vector3.left:왼쪽

Vector3.right:오른쪽

Vector3.up:

Vector3.down:아래

 

GetComponent<Renderer>().material.color = Color.red : 객체의 색을 빨강으로 설정한다.\

transform.localEulerAngles : 현제 각도

new Vector3 (x, y, z) : 변경할 새로운 값

속도 점점 줄이기: this.rotSpeed *= 0.96f;

 

스와이프 길이를 계산하는 방법

스와이프 길이 => 클릭이 끝난 좌표 - 클릭을 시작한 좌표

=> GetMouseButtonDown한 좌표- GetMouseButtonUp한 좌표

 

Find 함수

GameObject car;

GameObject flag;

GameObject distance;

void Start() {

this.car = GameObject.Find("car");

this.flag = GameObject.Find("flag");

this.distance = GameObject.Find("Distance");

}

 

ToString() : 수치를 문자열로 반환하는 메서드

length= 22.3333f;

string k = length.ToString(“F2”)//소수이하2자리까지 표현

 

GameObject distance;

void Start() {

this.distance = GameObject.Find("Distance");

}

 

this.distance.GetComponent<Text>().text = "골까지" +length.ToString("F2") + "m";

 

Input.GetMouseButtonDown(0): 오른쪽 마우스 버튼을 누르다

Input.GetMouseButtonDown(1): 왼쪽 마우스 버튼을 누르다

 

UI를 갱신하는 스크립트를 작성하기 위해서는 소스 앞에 using UnityEngine UI;를 적어줘야 한다.

 

소리 재생 Add Component Audio Source Play On Awake 체크 해제 AudioClip에 사운드 파일 드래그

 

소리를 재생하기 위해서는 스크립트에서 GetComponent<AudioSource>().Play();를 적어줘야 한다.