유니티

유니티 오브젝트 중력과 충돌 / Material / Collider / RigidBody 기초

nock_ji 2022. 4. 11. 14:10

 

TIL

 

📝  중력 적용하기 

📝  충돌 영역 정하기

📝  리지드 바디 설정

📝  재질 만들기

📝  물리 재질 만들기 

 

 


 

👩‍💻  중력 적용하기 

 

유니티는 컴포넌트 기반 게임 엔진으로, 필요한 기능을 조립하는 방식으로 오브젝트를 꾸려나갑니다 

 

 

📌  RigidBody

     물리효과를 받기 위한 컴포넌트 

     RigidBody를 가지게 되면 중력의 영향을 받습니다 

 

 

 

 

🔻  캡슐 오브젝트에 Rigidbody를 추가하고 플레이 

 

캡슐 오브젝트에 Rigidbody를 추가하고 플레이

 


 

 

👩‍💻  충돌 영역 정하기

 

 

📌  Collider 

      물리효과를 받기위한 컴포넌트  (오브젝트에 초록색으로 그어진 영역)

      Collider를 비활성화/삭제하면 계속해서 아래로 빠집니다 

 

 

 

🔻  Collider 비활성화 체크해제 

 

 

🔻  비활성화 후 아래로 계속 내려가는 캡슐 

 


 

✏️  또 다른 사실

     Collider 영역을 오브젝트보다 크게 설정하면, collider의 크기에 따라 충돌영역이 달라집니다 

     충돌 기준은 보이는 것이 아닌 Collider에 따라 기준이 달라집니다 

 

 

 

🔻 반지름 Radius를 0.5 -> 2 로 변경했을 때 

Collider 크기 변경

 

 

🔻  플레이 영상 

 


 

✏️  같은 조건의 캡슐 오브젝트를 두 개 놓았을 때 

 

🔻  Rigidbody와 Collider을 포함한 캡슐 두 개 생성 

 

 

 

🔻 두 캡슐이 충돌하면서 중력에 따라 넘어집니다 


 

👩‍💻  RigidBody 설정 

 

 

📌  Mass 무게

무게값이 크더라도 오브젝트가 떨어지는 속도는 똑같습니다  (무겁다고 빨리 떨어지지 않음) 

그러나, Mass 값이 높을수록 충돌이 무거워집니다 

 

 

 

🔻 상단에 있는 캡슐의 Mass 값을  1 -> 1000 으로 바꿨을 때 

Mass 수치가 1이었을 때와 결과가 다릅니다 

 

 

📌  Use Gravity 

      중력을 받는지를 결정

 

      일반적으로 Use Gravity는 체크 되어있습니다 

      체크를 해제하면 중력이 없기 때문에 그 어떤 움직임도 나타나지 않습니다 (정지 상태 유지

 

 

📌  Is Kinematic 

      외부 물리효과를 무시함

      Is Kinematic 으로 움직이는 함정을 만들 때 유용합니다 

 

 

 

🔻 충돌을 받을 아래 캡슐에 Is Kinematic을 활성화시키면, 충돌해도 아무런 영향을 받지 않습니다 

 

 


 

👩‍💻  재질 만들기 

 

 

📌 Material 

    오브젝트의 표면 재질을 결정하는 컴포넌트 

 

 

 

 

    📣  재질 편집은 새로 생성해서 적용해야 가능합니다 

 

🔻 새로운 재질을 만들기 위해서는 Project 창> 추가 > Meterial 을 생성합니다 

 

 

🔻 만든 Meterial 의 Inspecter 창에서 Albedo 영역에서 컬러를 자유롭게 설정할 수 있습니다 

 

 

🔻 이 Meterial을 캡슐 컴포넌트 영역에 넣어 추가해주면, Scene창의 캡슐 재질이 바뀌게 됩니다 

 

 


 

 

👩‍💻  Material 구성요소 살펴보기 

 

📌  Metalic 

      금속 재질 수치 (0~1)

 

왼쪽 - 기존 / 오른쪽 - metalic 1 

 

 

 

📌  Smoothness 

       빛 반사 수치 

 

 

  🔻 Smoothness 수치를 0으로 낮추면 벨벳 재질과 같은 느낌이 납니다 / 1로 높이면 반사광이 심해집니다 

 

 


 

👩‍💻 원하는 이미지 재질에 적용하기 Texture

 

Texture는 재질에 들어가는 이미지입니다. 

 

 

 

🔻 원하는 이미지를 Project창에 불러옵니다. 짱구패턴 이미지를 가져왔습니다 

 

 

🔻 해당 이미지를 Material - Albedo 옆 작은 사각형에 넣어줍니다 

Meterial에서 Texture 적용하기 완성 ! 

 


 

📌  Tiling

     텍스처 반복 타일 개수 

 

 

반복적인 텍스처를 사용하고 싶을 때 사용합니다

🔻 원하는 이미지 텍스처를 넣습니다 

 

 

가로 2, 세로 2 

🔻 설정했을 때 총 4개의 타일이 반복하여 찍힙니다 

 

 

📌  Emission 

     텍스처 발광(밝기) 조절

 


 

 

👩‍💻   물리 재질 만들기

 

📌  Physics Material 

     탄성과 마찰을 다루는 물리적인 재질

 

 

🔻 Project창 > 추가 > Create > Physics material

Physics Material을 캡슐 오브젝트에 컴포넌트로 추가합니다.

추가해도 보이지 않는데, 바로 Collider 안 Material로 존재하고 있습니다 

 


 

👩‍💻  Physic Material 살펴보기

 

📌  Bounciness

탄성력, 높을수록 많이 튀어오름 (최대 1)

 

 

📌  Bounciness Combine

다음 탄성을 계산하는 방식

 

 

🔻 보통  Maximum을 많이 사용합니다 

바운스 횟수가 늘어날 수록 바운스 높이가 점점 높아집니다 

 

 

 

📌  Friction 

마찰력, 낮을수록 많이 미끄러짐 

 

📌  Friction Combine 

마찰력을 계산하는 방식 

 

 

🔻 빙판에서 미끄러지는 것 같은 표현 

마찰력을 모두 0으로 두고, Fiction Combine이 Minimum일 때 

 


 

✏️  물체 필수 요소

Mesh, Material, Collider, RigidBody