[ Unity ] 2. 내 재활전용 기본 정리
시작하기에 앞서 재활을 위해서 작성한 정리글로 새로 배우는 사람에게는 벅찰 수 있음
자료형
int, float, string, bool
※ 실수형을 표기할 때 double 대신 float를 사용하는 이유
float와 double: 둘 다 C#의 기본 실수형(primitive floating-point types)이지만, float(때때로 single이라고도 불림)는 32비트 부동소수점 값이며, double은 64비트 부동소수점 값입니다. 즉, double은 float보다 두 배 큰 크기를 가집니다.
대부분의 Unity API는 float 또는 int 값을 사용하도록 설계되어 있으므로, 일반적인 상황에서는 float를 사용하는 것이 적절합니다. 따라서 정밀도 문제가 실제로 발생하는 경우가 아니라면(대부분의 일반적인 용도에서는 드문 일입니다) double을 사용할 필요는 거의 없습니다.
원문: 발췌주소
float vs double: These are both primitive c# integral types, but float (also sometimes called a single) is a 32 bit floating point value (hence the name), while double is a 64 bit floating point value (double the size of a float). Most of the Unity api expects float or int values, so you should really only reach for doubles if you're running into precision problems (unlikely for most common use cases).
여기서 System.Decimal 이라는 것이 나오는데, 128비트의 실수 값으로 double의 두 배 크기를 가지고 있습니다.
실제 현금에 관련된 것은 이것을 사용하다는 것이 안전하다는 얘기가 있습니다.
한줄 요약 >> double이 float보다 2배 무거움
배열
자료형[] 변수 = { 배열값 , 배열값2 };
자료형[] 변수 = new 자료형[크기];
List<자료형> 변수 = new List<자료형>();
변수.Add(배열값);
변수.RemoveAt(배열위치);
조건문
if (조건) {실행문}
else if (조건) {실행문}
else {실행문}
switch (조건변수) {
case 조건값:
실행문;
break;
default:
실행문;
}
반복문
while(조건) {실행문}
for(초기식;조건식;증감식) {실행문}
foreach (자료형 변수 in 배열) {실행문}
메소드 구현
자료형 메소드명 (자료형 매개변수) { 메소드 내부; return 자료형값; }
변수 선언
private 지역변수
public 전역변수
다행히 C# 기반이라서 그런지 End if나 Next 변수 같은 것들은 들어가지 않습니다.
유니티 제공 메소드
Awake: 제일 먼저 시작함
Start: 그 다음 시작함
FixedUpdate: 고정된 실행 주기(사양에 영향을 받지않고)로 반복, CPU를 사용함
Update: 반복하는데 사양에 영향을 받음, 로직을 보통 여기에 넣음
LateUpdate: 모든 업데이트 이후에 반복실행이 됨
OnDestroy: 게임 오브젝트가 삭제되기 직전에 실행되는데, 보통 오브젝트를 돌려써서 잘 모르겠음. 삭제를 안할텐데?
※ 오브젝트를 삭제하고 재생성하면 그 과정에서 램 누수가 발생할 수 있음
OnEnable: 오브젝트가 켜졌을 때(생성x) 작동함
OnDisable: 오브젝트가 꺼졌을 때 작동함

유니티 이동 클래스
(Input) 참고
anyKeyDown: 아무 키 입력할 때마다 true 반환
anyKeyUp: 아무 키 입력 끝날때마다 true 반환
anyKey: 아무 키 입력중이면 true 반환
GetKey(KeyCode): KeyCode에 해당하는 키 입력중이면 true 반환
(KeyCode) 참고 ← 여기서 키 다 알려주니까 보고 하면
※ anyKey와 똑같이 Down과 Up이 있다.
GetMouseButton(정수값): 해당 정수값의 마우스 버튼이 입력중이면 true 반환
0 - L / 1 - R / 2 - M
※ 얘도 Down과 Up이 있다. 참고
GetAxis(매개변수): 유니티에서 제공하는 매개변수의 가중치 값을 가져옴
GetAxisRaw(매개변수): 매개변수의 값을 가져옴
유니티 제공 이동 설정
Edit - Project Setting - InputManager
※ 이전에는 Project Setting 다음 Input 칸이 따로 있었지만
최신 버전에서는 서로 분리되면서 Project Setting을 따로 켜서 봐야함
설정하는 방법은 Horizontal과 Vertical만 봐도 감이 올 것이다
덤으로 Sensitivity은 감도라는듯
사용 방법 -> GetKey(InputManager.Value to String)
GetKey 메서드를 호출할 때 매개변수 값에 문자열로 값을 넣어주면 됨
※ 작업하다보니 최신 버전에서는 지원해주긴 하는데 설정을 바꿔줘야함
거기다가 최신 버전에서 제공하는 것을 사용하면 크로스 플랫폼에 용이하고 패드같은 것을 자동으로 인식해준다고 하네요
뒤의 글은 최신 버전 기준으로 바꿔서 적을거라 최신버전 따라가는게 좋을듯?