일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- removeAll
- Unity
- navisworks api
- 유니티
- 드롭다운
- 디지털트윈
- readonly
- sparkmain(clone) 무한생성
- 티스토리챌린지
- articulation body
- 트리구조
- unity sparkmain(clone)
- sparkmain(clone)
- unity korea
- 최단거리 알고리즘
- 행동트리
- C#
- 유니티 sparkmain(clone)
- Simulation
- GetComponent
- BFS
- list clear
- dropdown
- raycast
- 크루스칼
- dfs
- 최소신장트리 mst
- 오블완
- 깊이탐색
- 너비탐색
- Today
- Total
낑깡의 게임 프로그래밍 도전기
2023년 8월 19일 토요일 Unity - 축+, GetComponent, Find 시리즈와 충돌, Teg 본문
Vector 는 구조체 형식이며 스태틱이라 데이터 영역에 할당된다.
*위의 예시는 좌표자체를 바꾸는 것이라 world축에서 유용하다. (Local기준일때 Translate 사용)
Rotate도 Local기준
GetComponent<BoxCollider>();는 앞에 gameObjet.GetComponent<BoxCollider>();가 생략되어있다.
Find 시리즈(유니티 오브젝트를 찾는 기능)를 사용하며 연산이 더 많이 들어가기때문에 가급적이면 사용하지 않는게 좋음(남용 금지). 기본적으로 검색을 해서 가져오는 기능 (실행 후 가져다쓸때 쓴다고?? 런타임에서 새로만들어진 놈이 기존의 놈을 찾아야할때)
//Find는 GameObjet.Find("게임오브젝트이름")으로
//특정 게임오브젝트를 가져올 수 있지만 위험하다
//이름을 통해 찾는 다는건 많은 것이 있을때 검색으로 인해 연산이 그만큼 증가
//문자열이기 때문에 오타 등으로 오류가 많이 생길 수 있음
//이름을 제대로 쓰더라고 후에 Hierarchy에서 이름을 바꾸면 찾을 수 없다
//똑같은 이름이 여러개면 어떤 것을 가지고 와야할지 알 수 없음
FindOfType =
//특정 컴포넌트를 찾아서 가져온다(박스콜라이더라는 오브젝트를 찾아 넣는 것) Find보다 더 안 좋을 수 있다.
//모든 컴포넌트에 박스 콜라이더를 찾아보고 추가하는 것이라.
//Find보다 나은 점은 최소한 이름으로 실수할 일은 없기 때문에
//하지만 타입이 같을 때 어떤것을 가지고와야할지 모르는 문제는 동일
FindObjectOfType = 해당 타입을 하나만 가져오는거
FindObjectsOfType = 해당 타입을 배열의 형태로 다 가지고옴
//마찬가지로 연산이 많이 들어감
Collider : 충돌체, 충돌범위
충돌을 하려면 충돌범위를 지정해주는 콜라이더와 리지드바디라는 강체(둘 중 하나는 있어야 함)가 필요함
리지드바디 컴포넌트가 없는 콜라이더를 '스테틱 콜라이더'라고 부름
리지드바디 컴포넌트가 있는 콜라이더를 '리지드바디 콜라이더'라고 부름
(*Static 정적인, Rigidbody 동적인)
빈칸은 충돌X
collision 충돌 : 보통 벽에 막히는거(보통 물리적 충돌 *보통이며 100%는 아니다)
trigger 충돌 : 보통 보이지 않는 어떠한 영역에서 충돌, 영역 내 이벤트 발생 및 거점 점령 등(트리거가 발동했다)
//스테틱콜라이더 끼리는 충돌이 일어나지 않는다
키네마틱 : 나는 영향을 안받고 상대방은 받는 것. 중력은X (보통 무기를 쥘 때, 폴가이즈에서 다가오는 부술수 없는 장애물 등 한쪽이 물리적 충돌을 받으면 안될 때)
트리거 체크가 되면 '트리커' 수식어가 붙음
키네마틱 체크가 되면 '키네마틱' 수식어가 붙음
다 체크되어있으면 리지드바디 키네마틱 트리거 콜라이더
이렇게 지정해주고 나누어 쓰는 이유는 동적인 놈들이랑 부딪치면 연산이 많이 들어간다. 정적+동적은 그만큼 한놈은 연산을 안해도 되는 것이다. 그래서 리지드 바디는 필요할 때만 쓰고 벽이나 이런것은 스태틱으로 설정함