반응형
728x170
안녕하세요 유니티비기너입니다.
이번 글에선 오브젝트가 물리적 제어가 가능토록 만드는 리지드바디에 대해 알아보겠습니다.
Rigidbody
rigidbody는 오브젝트가 물리적 제어가 가능하게 만들어줍니다.
rigidbody가 적용되면 중력이 작용되며 rigidbody가 적용된 다른 오브젝트의 충돌 시 가해진 힘만큼 물체가 이동합니다.
아래는 Rigidbody의 한속 성인 velocity에 대한 설명입니다.
Rigidbody Example
Rigidbody2D rb;
Vector3 moveDirection;
float speed = 80f;
void Start() {
rb = Getcomponent ≪Rigidbody2D≫();
}
void Update()
{
float x = 0f;
float y = 0f;
if(Input.GetKey(KeyCode.W) {
y = 1f;
}
if(Input.GetKey(KeyCode.S) {
y = -1f;
}
if(Input.GetKey(KeyCode.A) {
x = 1f;
}
if(Input.GetKey(KeyCode.D) {
x = -1f;
}
}
void FixedUpdate() {
rb.velocity = moveDirection * speed;
}
Rigidbody.velocity
물체의 이동하는 속도를 제어하는 속성이다.
위 그림은 update()안에서 키를 입력받아 움직이려는 방향을 구한 뒤
fixedUpdate문 안에 rigidbody.velocity속성을 활용하여 물체를 speed만큼 힘을가하여 이동시키는 구문이다.
Rigidbody 속성들
Mass : 물체 무게
Drag : 물체 이동 속도 감쇠율
Angular Drag : 물체 회전 속도 감쇠율
Use Gravity : 중력 영향 여부
Is Kinematic : 물리적인 제어가 되지 않고 Transfrom으로 조작
Interpolate : 보간법 제어
None : 보간이 적용되지 않습니다.
Interpolate : 이전 프레임의 폼에 맞게 움직임을 부드럽게 처리
Extrapolate : 다음 프레임의 폼을 추정해 움직임을 두그럽게 처리
Constraints : 움직임에 대한 제약사항
Freeze Position X, Y, Z : 이동을 제한
Freeze Rotation X, Y, Z : 회전을 제한
Collision Detection : 빠른속도의 오브젝트가 충돌을 지나치는 무시현상 방지
https://play.google.com/store/apps/details?id=com.NeighborGamer.escape
반응형
그리드형
'유니티실습' 카테고리의 다른 글
유니티 부드러운 곡선이동 (1) | 2020.04.25 |
---|---|
유니티 특정물체 바라보기 (0) | 2020.04.24 |
유니티 초단위 시간제어하기 (0) | 2020.04.22 |
유니티 물체이동시키기 (0) | 2020.04.21 |
유니티 충돌을 감지하는 초록선 (0) | 2020.04.20 |