TIL

[멋쟁이사자처럼 부트캠프 TIL회고] Unity 게임 개발 3기 4일차

Cadi 2024. 11. 22. 20:12

오늘 배운것 : 만든 캐릭터를 이동시키기. 

 

Prefabs : 완제품, 원본 데이터 

만든 캐릭터(ex: 위의 어몽어스 캐릭터)를 포장해서 Asset으로 저장 가능. 

위의 로고가 Prefabs된 것

*Prefabs된 것을 가져오면 자동으로 Surface snap이 됨. 

Prefabs된 것은 더블클릭으로 수정할 수 있지만, 원본 데이터는 바뀌지 않음. 

수정을 하게 되면 No overrides라고 적혀 있는 부분에 수정한 값들이 뜨고, 원본에 적용하거나 전체 적용하거나 할 수 있음 


Material 관련.

위 버튼으로 Materials 수정 가능

 

Shader : 그리는 도구 // Render를 어떤 도구로 할 것인가 

RGB값으로 색 조정을,  A(알파)값으로 투명도 조정을 할 수 있음

*기본 Render mode가 opaque로 되어있기 때문에 투명도 조정해도 변화가 없을 수 있음

 opaque : 기본, RGB 값 변화

 transparent : RGB값 + 투명도 (성능 저하 있음)

이외에도 Fade와 Transparent 등이 있음 // 따로 알아보기

Material에 나와있는 순서대로

Albedo : 반사율, 색이라고 생각하면 편함

Matalic : 금속성, 반사관련

Smoothness : 거침과 부드러움 (정반사와 난반사)

Normal Map, Height Map, Occlusion(환경차폐) 등등도 있음. 

// 이건 따로 또 공부해보기

받은 텍스쳐 파일을 올바르게 넣는 방법

** 수치를 연산으로도 바꿀 수 있다. ( ex 1 +2 로 입력 가능) 

 


코딩 관련

 

접근 제한자

public : 접근 권한 열려 있음

private : 접근 권한 닫혀 있음

protected 상속받은 class에 대해서만 접근 가능 상태

serializeField : 보안 수준은 유지하지만, inspector에서 수정 가능한 상태

 

합수의 타입

반환 타입이 없는 함수 (ex: Jump())

반환 타입이 있는 함수 (ex: Addmethod()) : Input과 Output이 있어야 함, 반환값은 return으로 표시. 

 

매개 변수 : 함수의 실행 재료

 

.을 찍으면 내부로 들어간다 

ex) using System.Collections; // System안의 Collections를 사용한다.

 

연산자 

+ : 더하기

- :  빼기

* : 곱하기

/ : 나누기

% : 나누고 난 나머지  // ex)  7%2 == 1

 

++ 연산 : 현자 값에 1을 더함  // a++ 현재 코드 이후 연산, ++a : 연산을 당장 함

 

비교 연산자 a< b a>b a<=b a>=b

주의: '=' 는 대입  '=='가 같다는 뜻

 

논리 연산자 && : 그리고

                    || : 또는, or

                    ! : 반대(not)

 

조건식 

 if : 만약 ~  라면, 내부의 기능을 실행함.

else if 를 사용해 계속해서 다른 조건들에서 실행할 기능들을 추가할 수 있음

else 를 마지막에 사용해 나머지 조건에서 실행할 기능을 추가할 수 있음

 

*순서대로 조건을 검사하고, 기능을 실행하기 때문에 선행되는 조건이 만족되어 버려 기능이 실행된다면

나머지 조건들은 검사조차 하지 않고 넘어감. 

 


위의 조건식을 이용해 캐릭터를 이동하게 만들 수 있음

방향 참조

기본적으로 foward(0,0,1), right (1,0,0) up(0,1,0) 을 이용하는 방법

transform이라는 항목에서 positon에 Vertor3(3차원공간)을 앞으로 한 칸 더하는 방식

movespeed는 프레임마다 이동해 이동속도가 너무 빠른걸 방지( 앞으로 배울 delta time 방식 등이 있음)

동시 입력이 안되는 문제는 모두 if 문으로 하거나 등의 방식으로 해결, 다만 이 경우 대각선 움직일 때 거리가 더 멀어지에 정규화 과정 필요.

*보통 이벤트는 3단계로 나뉨, GetKeyDown, GetKey, GetKeyUp 모두 사용 가능한 Input


 

* Plane 크기 키우기만 하면 안됨, 타일링으로 조절

**단축키 : Alt + Shift + A (활성화 비활성화)

 

추가 공부 :  MonoBehaviour 관련 찾아보기.