#unity 에서 헷갈리는 부분 정리
*각도 시스템
-Quaternion : 복소수를 이용한 4개의 실수로, 쿼터니언의 값은 읽기 전용으로, 개발자가 이 값을 직접 변경하면 심각한 부작용이 나타날 수 있다.
-Quaternion qAng = <오브젝트>.transform.rotation;
-EulerAngles : 60분법으로, x,y,z 의 3차원 벡터. 인스펙터의 Rotation 속성은 오일러 각도로 표시된다.
-Vector3 ang = <오브젝트>.transform.eulerAngles;
*Time 함수의 사용 법
-Time.time : 게임 시작부터의 경과 시간
-Time.deltaTime : 현재 프레임과 직전 프레임 사이의 시간(게임 실행중에 랙이 발생해서 몇 프레임을 건너 뛴 경우 건너 뛴 시간을 한 번에 처리하므로 오브젝트가 순간 이동하는 현상 발생)
-Time.smoothDeltaTime : 첫 프레임부터 현재 프레임까지의 평균 경과 시간(손실된 프레임을 조금씩 보충하며 이동하므로 오브젝트의 움직임이 좀 더 부드러워지는 장점이 있다)
오브젝트의 이동에는 Tiem.smoothDeltaTime 을 사용하는 것이 좋다. 물론, 어느 것을 사용하더라도 1초 후의 이동 거리는 같다.
*Vector
-Vector2 : 평면의 위치. Vector2(x, y)
-Vector3 : 공간의 위치. Vector3(x, y, z)
-Vector4 : 4개의 값. Vector4(r,g,b,a)
*Instantiate
-프리팹으로 선언한 오브젝트를 복제하는 함수
-Instantiate(<프리팹>, <위치>, <방향>);
-Transform obj = Instantiate(<프리팹>, <위치>, <방향>) as Transform;
*Clamp
-자료의 범위를 제한하는 함수
-값 = Mathf.Clamp(<검사하는 값>, <최소값>, <최대값>);
*GetComponent
-다른 오브젝트 의 속성을 읽거나 설정 할 경우 사용
-GetComponent<컴포넌트 이름(Transform)>();
-gameObject.GetComponent<Transform>();
-(Transform)GetComponent("Transform");
-(Transform)GetComponent(typeof(Transform));
*Transparent Diffuse
-Material 설정시 이미지가 좀 더 섬세하게 표시 된다.
*Translate
-실제 Object 의 이동에 관한 함수
-Translate(이동방향 * 속도 * 변위값(전진, 후진 변수) * Time.deltaTime, 기준좌표)