-
유니티 리지드바디2D(Rigidbody2D)와 리지드바디(Rigidbody)(2)유니티(Unity)/유니티 코딩 2019. 2. 8. 17:10
해당 티스토리 페이지는 필자가 유니티 C# 개발을 하면서 학습한 내용들을 기록하고 공유하는 페이지입니다 !
- 틀린 부분이 있거나, 수정된 부분이 있다면 댓글로 알려주세요 !
- 해당 내용을 공유 or 퍼가도 좋으나, 출처를 꼭 명시해주세요 !
- 해당 글의 모든 저작권은 Chameleon Studio에 있습니다.
- 방문해주셔서 감사합니다 ^^
유니티 리지드바디2D와 리지드바디
안녕하세요! 카멜레온입니다 ㅎㅎ
이전 포스팅에선 리지드바디(RigidBody)에 대한 설명과 리지드바디2D(Rigidbody2D)에 관한 설정 내용을 알아보았었죠?
오늘은 리지드바디(Rigidbody)에 관한 설정 내용을 알아보려고합니다.
이전 포스팅과 겹치는 내용이 많아서 간략하게 설명하겠습니다.
자세한 설명이 필요하신 분은 이전 포스팅도 함께 확인해주시면 됩니다.
바로 알아봅시다.
Inspector창에서 보여지는 Rigidbody
리지드바디(RigidBody)
리지드바디는 리지드바디2D에 비해 생각보다 간단해보입니다.
바디 타입도 체크하는 게 없고 말이죠.
또, 리지드바디2D보다 길이도 짧네요.
바로 설정 내용을 봅시다.
Mass
질량을 나타냅니다. 1Mass는 1Kg과 동일합니다.
Drag
공기저항을 나타냅니다.
0이면 공기저항이 없고, 높으면 높을수록 공기저항이 세집니다.
Drag를 999,999로 놓게 되면, 공기저항이 너무 쎄서 게임 오브젝트가 '움직'일 수 없습니다.
Angular Drag
회전저항을 나타냅니다
0이면 회전저항이 없고, 높으면 높을수록 회전저항이 세집니다.
Angular Drag를 999,999로 놓게되면 게임 오브젝트가 '회전'할 수 없습니다.
Use Gravity
중력의 사용 유/무를 나타냅니다.
체크를 하면, 중력에 영향을 받습니다.
Is Kinematic
키네마틱이 설정 체크가 되면, 물리 엔진으로 적용받지 않고, 위치 값으로만 조작됩니다.
Interpolate
게임 오브젝트의 움직임이 어색할 때, 움직임을 부드럽게 하기 위하여 사용합니다.
3가지 타입이 있습니다.
1. None: 움직임에 부드러움을 적용하지 않습니다.
2. Interpolate: 게임 오브젝트의 이전 프레임의 위치를 기반하여, 움직임을 부드럽게 합니다.
3. Extrapolate: 게임 오브젝트의 다음 프레임의 위치를 추정하여, 움직임을 부드럽게 합니다.
Collision Detection
콜라이더 2D간 충돌을 검사하는 방식을 정의합니다.
2가지 타입이 있습니다.
1. Discrete: 물체와 물체가 부딪혔을 때, 빠르게 부딪힌다면 서로 겹치거나 통과할 수 있는 타입입니다.
총알이 관통함이 여기에 해당합니다.
2. Continuous: 서로 겹치거나 통과하지 않습니다. 대신 Discrete보다 더 많은 CPU 시간을 사용합니다.
Constraints
축의 움직임을 사용하지 않기 위한다면 체크합니다.
Freeze Position X: 게임 오브젝트가 X축으로 움직이지 않습니다.
Freeze Position Y: 게임 오브젝트가 Y축으로 움직이지 않습니다.
Freeze Position Z: 게임 오브젝트가 Z축으로 움직이지 않습니다.
Freeze Rotation X: 게임 오브젝트가 X축으로 회전하지 않습니다.
Freeze Rotation Y: 게임 오브젝트가 Y축으로 회전하지 않습니다.Freeze Rotation Z: 게임 오브젝트가 Z축으로 회전하지 않습니다.
카멜레온 스튜디오가 만든 <크러쉬팡> 모바일 게임의 경우,
Freeze Position X,Z와 Freeze Rotation X,Z를 사용하여
Y값으로만 움직이게 끔 설정해두었습니다.
이상으로 리지드바디(Rigidbody)에 대한 설정 내용 설명을 마쳤습니다.
리지드바디(Rigidbody)와 리지드바디2D(Rigidbody2D)의 설정 내용이 크게 다르지 않다는 것을 알 수 있었습니다.
오히려 리지드바디(Rigidbody)가 더 간단하네요.
추가적으로, 리지드바디의 충돌을 위해선 항상 콜라이더가 필요합니다.
콜라이더가 없다면, 충돌 여부를 판단할 수 없기 때문입니다.
콜라이더와 리지드바디는 거의 한 세트와 같다고도 볼 수 있는데요.
보다 자세한 이해를 위해선, 여기를 눌러주세요.
이전 포스팅에서 충돌에 관한 포스팅을 해놓았습니다.
이상으로 포스팅을 마치며,
궁금한 사항은 댓글에 달아주세요.
또, 카멜레온이 다뤘으면 좋겠다하는 포스팅 내용을 달아주시면, 해당 내용에 관한 포스팅도 해보도록 하겠습니다.
감사합니다 !
Chameleon Studio가 만든 게임하러가기
<젤랑점핑>
안드로이드- market://details?id=com.Cameleon.TangTangBall
IOS- itms-apps://itunes.apple.com/app/id1429522379
<크러쉬팡>
안드로이드- market://details?id=com.Chameleon.CrushPang
IOS- itms-apps://itunes.apple.com/app/id1450109331
'유니티(Unity) > 유니티 코딩' 카테고리의 다른 글
유니티 인보크 Invoke 사용법의 모든 것 (4) 2019.02.08 유니티 코루틴 Coroutine 코드의 모든 것 (0) 2019.02.08 유니티 리지드바디2D(Rigidbody2D)와 리지드바디(Rigidbody)(1) (0) 2019.02.08 유니티 코루틴 coroutine 활용하기 (0) 2019.02.06 유니티 캐릭터 점프 구현하기 (0) 2019.02.06 댓글