텍스트 콘솔 rpg가 끝나고 새로운 주차가 되며 유니티를 본격적으로 배우기 시작한다.
tappybird라는 새를 터치해서 장애물을 피해 계속 날아가는 형식의 게임을 제작하면서 이전에 배웠던 내용을 복습하는 시간을 가졌다.
그 중에서 놓쳤던 부분이나 새롭게 알게된 것, 잊고 있었던 부분들에 대해서 정리해보자.
- 충돌 처리를 하는 collider 2d에는 box 외에도 circle, polygon 등의 스타일이 있다.
box는 네모, circle은 원, polygon은 지정한 스프라이트(오브젝트)의 모양대로 충돌 처리를 하는 영역을 추가해준다.
- rigidbody의 속성에는 dynamic, kinematic이 있다.
dynamic은 일반적인 물리 연산을 진행한다, 중력, 질량 등의 실제 물리 법칙을 적용하는 반면, kinematic은 단순 충돌 연산만 진행하며 물리 연산이 없다 -> 충돌 여부만 확인할 수 있다?
| dynamic | 한정된 질량과 드래그 등 모든 프로퍼티를 사용할 수 있으며 중력과 힘에 영향을 받습니다. |
| kinematic | Dynamic 리지드바디 2D는 중력과 힘의 영향을 받지만 Kinematic 리지드바디 2D는 영향을 받지 않습니다. 이러한 이유로 빠르고 Dynamic 리지드바디 2D보다 시스템 리소스가 덜 필요합니다. |
| static | 시뮬레이션 상태에서 전혀 움직이지 않도록 디자인되었습니다. 다른 오브젝트와 충돌하는 경우 Static 리지드바디 2D는 (질량이 무한하여) 움직일 수 없는 오브젝트처럼 작동합니다 또한 리소스를 가장 덜 사용하는 바디 타입입니다 |
리지드바디 2D를 Static 으로 표시하는 데는 두 가지 방법이 있습니다.
- Collider 2D 컴포넌트가 포함된 게임 오브젝트의 경우 Rigidbody 2D 컴포넌트가 전혀 포함되지 않도록 합니다. 이러한 콜라이더 2D는 모두 내부적으로 숨겨진 단일 Static Rigidbody 2D 컴포넌트에 연결된 것으로 간주됩니다.
- 게임 오브젝트에 리지드바디 2D가 포함되고 해당 리지드바디 2D를 Static 으로 설정합니다.
--> collider만 붙이면 벽과 같은 오브젝트를 rigidbody 컴포넌트 없이도 동일한 효과를 낼 수 있다는 의미이다.
Ontrigger와 Oncollision의 매개변수의 차이점(collision과 collider)
collision은 자세한 충돌 정보(충돌한 지점, 상대 속도, 적용된 힘 등등)
collider는 충돌한 오브젝트(혹은 물체)의 정보만 전달
- Vector3 형식의 position은 직접 x,y,z값을 접근할 수는 없고 (position.x 처럼) 따로 vector3 변수에 담아서 값을 수정한 뒤에 변수를 대입해서 변경하는 방식으로 사용한다
이는 position인 Vector3라는 값 타입의 구조체이고 c#에서는 값 타입의 속성 반환값을 수정하지 못하도록 되어있다.
위의 예시로 해석하자면 구조체를 반환받으면 이는 값의 복사본이고, 이 복사본을 수정하는 행위를 막았다는 의미
transform.position --> 구조체 값 / transform.position.x = 5f --> 복사본을 수정하려는 행위
jdk, ndk를 찾지 못함
모듈 설치 시에 누락된 것으로 보이는데 이 경우 호환되는 버전을 경로에 설치해주던가 아니면 모듈을 새로 설치하는 것이 빠르다..
'[내일배움캠프 Unity 9기]' 카테고리의 다른 글
| 05/01 TIL - 처음 보는 함수 정리 (0) | 2025.05.01 |
|---|---|
| 04/30 TIL - 유니티 입문(Stack Block) (2) | 2025.04.30 |
| 04/28 TIL - 복습내용(시간 기반 서버 루프 / 메모리 디버깅) (0) | 2025.04.28 |
| 04/25 복습내용 (0) | 2025.04.25 |
| 04/24 캠프 배치고사 및 복습 내용 (0) | 2025.04.24 |