본문 바로가기
개발자가 되어보자..공부공부

C# 유니티 공부 4 - 물리적인 핵심 Component 4가지. (공을 움직여서 충돌효과를 일으키기, 색 변환/뒤로 튕겨나가기)

by 묭묭이와소담이 2022. 12. 3.
반응형

<물체 동작 및 재질관련된 필수 Component.>

Mesh, Material, Colider, RigidBody

- FixedUpdate에 작성하는것이 안정적. (not Update)

- Class, 함수 사용에 있어서 코드의 흐름은  선언 -> 초기화 -> 호출.

 

* RigidBody

- 물리효과를 받기 위한 Component.

- Mass(질량) 수치가 높을수록 무게 증가. (현실 물리적인 특성 그대로 반영.)

- Use Gravity 중력 효과 반영 여부 결정.

- Is Kinematic 외부 물리효과로부터의 면역 여부 결정.(ex. 움직이는 함정을 만들 때 사용 가능.)

 

* Colider

- 물리효과를 받기 위한 Component.

- 충돌 효과에 대한 부분을 담당.

 

* Material

- Object의 외부 재질을 결정하는 Component.

- Metalic은 금속재질 정도 결정.

- Smoothness는 빛 반사 수치 결정.

- Texture는 재질에 외부 이미지 삽입 가능.

- Tiling은 이미지 및 텍스쳐의 반복적인 타일 갯수 설정.

- Emission은 이미지 및 텍스쳐의 밝기 조절. (물리적인 부분은 아님.)

 


* GetComponent<T>();

- 자료형 T타입 컴포넌트를 가져옴.

 

- FixedUpdate에 작성하는것이 안정적. (not Update)

- Class, 함수 사용에 있어서 코드의 흐름은  선언 -> 초기화 -> 호출.

 

<Object의 물리적인 움직임을 조절하는 RigidBody Component >

rigid=GetComponent<Rigidbody>();

rigid라는 변수에 Rigidbody 컴포넌트를 저장.

 

<Object의 재질을 결정하는 MeshRenderer Component>

mesh=GetComponent<Rigidbody>();

rigid라는 변수에 MeshRenderer 컴포넌트를 저장.

 

클래스 함수 변수 효과 비고
RigidBody AddForce() Vec ()의 힘을 가함.
(가속도)
vec*숫자, ForceMode. Impulse
(ForceMode는 힘을 주는 방법)
AddTorque() Vec ()의 회전력을 가함. left, right, up, down을 축으로 하여 회전.
Collision
(본 객체가 충돌했을 때 발생하는 이벤트)
OncollisionEnter(){} Collision collision 충돌 시작 후 () 실행  
OncollisionStay(){} Collision collision 충돌중에 () 실행  
OncollisionExit(){} Collision collision 충돌이 끝나면 () 실행  
Cllider
(다른 객체가 충돌했을 때 발생하는 이벤트)
OnTriggerEnter(){} Collider other 충돌 시작 후 () 실행 Colider Componet에서
is trigger에 체크를 해주어야 함.
OnTriggerStay(){} Collider other 충돌중에 () 실행
OntriggerExit(){} Collider other 충돌이 끝나면 () 실행

 

 

좌측 : 흰색 공, 우측 : 빨간 공

 

 

 

 

반응형

댓글