ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [unity] Collider/ Rigidbody
    Unity 2023. 1. 3. 09:50
    728x90
    반응형

     

    참고자료

    (11) Unity3D Physics - Rigidbodies, Colliders, Triggers - YouTube

     

    Collider 콜라이더

    화면내의 오브젝트들에 물리적인 벽을 만들어서 캐릭터가 통과하지 못하게하는것

    언리얼에서의 collision과 같은 것이라고 보면 됨.

     

     

    (11) Colliders - Unity Official Tutorials - YouTube

    콜라이더 모양은 다양함 스피어, 박스 등등 

    모브젝트 모양에 맞게 콜라이더를 만들어 적용해주면됨

    오브젝트가 복잡할경우는 그냥 통째로 콜라이더를 만들어서 적용해주기도하는데

    이럼 정밀도가 떨어져서 실제로 오브젝트가 존재하지 않는데도 통과하지 못하는 보이지 않느ㅏㄴ 벽이 생기거나 할 수 있다.

     

    Rigidbody 리지드바디

     

    게임모드에서 바닥을 기울여보았는데 업데이트가 안됨

    (= 실시간으로 또르르 굴러가지 않는다는 뜻같음)

    그래서? rigidbody 를 추가해줘야한다고함 어디에? 바닥에

    add component 누르고
    Rigidbody 입력 엔터

     

    그리고 플레이해보면 ? 그냥 다같이 아래로 떨어짐 ㅠ

    Rigidbody 옵션중에서 Is Kinematic에 체크를해줌

    Is Kinematic이란 ? 

    물리시스템 physics system이 오브젝트를 움직이지는 못하면서 상호작용은 할수있게 만드는 설정

    즉 IS kinematic을 활성화함으로써 바닥이 상호작용 interact는 하면서 중력이나 다른 물체에 의해 움직이지는 않게 고정되는것.

     

    이렇게 IS kinematic을 활성화하고 다시 플레이버튼을 눌러보면?

     

    플레이중 바닥을 바꿔도 실시간으로 적용되어 공이 또르르  굴러다님!

     

     

     

    이번에는 공이 통통 튀게 만들어보자

    그럴때는 Physics Material 사용하면됨. 물리 머티리얼? 

    일단 Physics Material을 생성해주자.

     

    프로젝트뷰에서 우클릭> create> physics Material 클릭하여 생성

    그럼 야구공?모양의 피직스매티리얼이 생성된것이 보임

     

     

    클릭해서 inspector 창을 보면

     

    Dynamic Friction 0.6  동마찰 . 상대적인 운동을 하고 있는 두 물체간의 마찰을 의미

    Static Friction 0.6  정지마찰.  정지 상태에 있는 두 물체간의 마찰을 의미

    Bounciness 1   탄성 정도? 얼마나 통통튀는지.

     

    참고 이미지(출처 참고 이미지(출처  https://www.banditong.com/cae-dict/friction)

     

    만약 공에 1, 바닥에 1 이라면 실제 bounciness는 1,

    공에 1 바닥에 0 이라면 실제  bounciness는 0.5  

    이렇게 두 값의 평균값으로 계산됨.

     

    튜토리얼에서는  dynamic friction과 static friction을 모두 0.1로 줌.

    그렇게 만든 physics material을 드래그해서 inspector 창에 있는 Sphere Collider의 Material 칸에 넣어주었다!

    그리고 플레이해보니 통통통토톹ㅌ톹ㅌ,,, 하고 튐

    신기해

    이번에는 Physics material의  Bounce Combine을 Average에서 Maximum으로 바꿔보자

    그리고 플레이해보면

    겁나게 높이 그리고 계속 튀어오름

     

    재밌당

     

     

    728x90
Designed by Tistory.