1) 중력 적용
RigidBody를 통해서 적용한다.
Is Kinematic을 쓰면 스크립트를 통해서 물리효과를 적용
Is Kinematic은 움직이는 함정을 만들 때 유용하다.
2) 충돌
Collider를 통해서 적용한다.
맨날 하늘을 나는 캐릭터라면 Collider의 radius를 크게 해야할까?
생각해보니 그러면 가끔 땅에 내려오는 컷씬에서 쓸 수 없을 것 같다
2-1) C# Script를 이용한 충돌
MeshRenderer와 Material 이용
OnCollisionEnter: 물리 충돌이 시작할 때 호출
OnCollision: 충돌 중에 호출
OnCollisionExit: 충돌 끝에 호출
Collision은 충돌 정보를 표현한다.
2-2) Trigger
Collider와 겹칠때 발생하는 이벤트
엘든링에서 바람타고 올라가는 것도 이런걸로 구현할 수 있을듯하다.
Stay에서는 점진적으로 올라가는 걸 보니 Enter로 짜야 할 것 같다.
3) 재질
Material을 통해서 재질을 입힐 수 있다.
Smoothness: 빛 반사 수치
4) 탄성과 마찰
Physics Material을 이용하여 적용할 수 있다.
5) 속도
또는 다음과 같이 Vector로 표현할 수도 있다.(x, y, z)
Rigidbody 관련 기능은 Update 대신에 FixedUpdate에 작성해야한다.
6) 힘
다음과 같이 AddForce(방향 * 가중치, 방식)으로도 물체를 움직일 수 있다.
이 때 오브젝트의 무게(Mass)에 따라 가중치를 조절해주어야 한다.
7) 회전력
매개변수로 넘겨준 Vector3를 축으로 해서 회전한다.
AddTorque대신에 Rotate를 사용할 수 있다.
이 때 축은 local과 global로 선택할 수 있다.
'유니티' 카테고리의 다른 글
유니티 08_ UI (0) | 2022.08.03 |
---|---|
유니티 06_ 타일맵 & Enemy (0) | 2022.07.24 |
유니티 01_ 버튼 조작 & 오브젝트 이동 (0) | 2022.07.16 |
댓글