// 오늘은 유니티 입문 강의의 진도가 후반부로 접어들었다.
강의 중 특히 어려웠거나 나중에 까먹을 것 같은 것들을 정리해보자
쿼터니언(Quaternion)
유니티 인스펙터 창에서 나오는 회전은 Vecter3로 표현 되고 이런 방법을 오일러 각(Euler Angle)이라고 한다 하지만 많은 3D 소프트 웨어가 내부적으로 쿼터니언을 사용한다
쿼터니언을 사용할 시 짐벌락 문제를 피할 수 있다 / 극단적인 각도로 회전할 경우 한 축으로의 회전을 잃어버리는것을 짐벌락이라고 한다
쿼터니언 내장함수
Quaternion.Euler = 오일러각을 쿼터니언으로 변경할 수있다
Quaternion.LookRotation = 머리를 회전하는 것 처럼, 앞과 위를 특정한 방향으로 하는 회전 쿼터니언을 만든다
Quaternion.Slerp = 쿼터니언과 다른 쿼터니언 사이에 내분점을 알 수 있다 *구형보간기법을 활용해서 쿼터니언에 쓰면 더 정확해진다. (두 쿼터니언 q1, q2가 있을때 30% 지점은 어디일까 이런 문제를 풀때 유용하다)
**삼각함수**
각도에서 비율을 구하는식
sin = 높이/빗변
cos = 밑변/빗변
tan = 높이/밑변
**아크 탄젠트**
역삼각함수 = 비율에서 각도를 구하는 식
게임에서는 탄젠트의 비율이 곧 좌표가 된다.
즉 아크탄젠트는 좌표를 통해 각도를 알아 내는 것이다 코드는 Atan2(y,x)
** 열거형 **
심화내용에서 열거형이 다시 나왔다
열거형은 숫자에 의미를 부여하는것이다
숫자를 부여하지 않으면 0부터 시작하며 1, 2, 3, 이런식으로 다음 정보에 추가된다
다만 처음에 숫자를 부여한다면?
ex)
enum type
man = 100
woman
여기서 woman은 man에서 100이라는 숫자를 부여했기 때문에 자동적으로 101이라는 숫자가 부여된다
**스크립터블 오브젝트**
강의에서 듣고 이해하기론 별개의 정보 저장소 느낌이 들었다
지난주 텍스트 알피지를 만들면서 퀘스트 정보나 아이템 정보를 다른곳에 저장하고 불러오는 식으로 코드를 작성하고싶다는 생각을 했는데 그에 관련된 내용인 듯하다
**Attribute**
프로그래밍과 컴퓨터 과학에서 특정 객체나 요소에 부가적인 정보를 추가하는 데 사용되는 메타데이터
데이터 폴더처럼 사용가능
[System.Serializable]
시스템 기능을 가져와야한다
유니티 에디터에서 쉽게 수정이 가능하다는 장점이 있다
// 오늘 코드에서 헷갈렸던것
** IsPressed **
주로 버튼 입력 시스템에 사용 되며 눌리면 true 아니면 false가 된다
WHY
헷갈렸던 이유 유니티에서 제공하는 시스템 변수가 아니라 지졍 변수 인줄 알고 설정값을 찾고 있었다.
'개발의 시작 TIL(Today I Learned)' 카테고리의 다른 글
개발의 시작 TIL(Today I Learned) 세번째 프로젝트 5일차 (0) | 2024.10.14 |
---|---|
개발의 시작 TIL(Today I Learned) 세번째 프로젝트 4일차 (0) | 2024.10.11 |
개발의 시작 TIL(Today I Learned) 세번째 프로젝트 1일차 (4) | 2024.10.07 |
개발의 시작 TIL(Today I Learned)두번째 프로젝트 7일차 (2) | 2024.10.04 |
개발의 시작 TIL(Today I Learned)두번째 프로젝트 5일차 (0) | 2024.10.02 |