[Unity] blender에서 가져온 3D 객체로 Mesh Collider

2220 단어 블렌더Unity3D

하고 싶었던 일



blender로 작성한 3D 오브젝트를 읽어들여, Mesh Collider를 사용해 정확한 당 판정을 부여.
Rigidbody도 붙이고 싶다

했던 일


  • blender에서 원하는대로 모델을 만들고 .blend로 저장
  • unity Assets로 만든 .blender 파일을 드래그 앤 드롭
  • 객체로 추가하고 Mesh Collider를 연결 (Convex -> On)

  • 결과



    이것으로 당 판정이 붙었다고 생각하면…


    무엇이 대각선 ... 게다가 구멍 부분도 무시되고있는 것 같고 ...
    만약을 위해 이 물체에 공을 충돌시켜 보지만, 방안이 생각한대로는 가지 않는다.



    조사해 알았다


  • Convex를 On으로 설정하면 오목한 부분의 Collider가 이상해집니다
  • 그러나 Convex를 Off로 하면 바닥을 빠져나와 &오류 나온다
  • Rigidbody의 Is Kinetic을 On으로 설정하지 않으면 Convex를 Off로 설정할 수 없습니다

  • 결론



    Convex를 Off로, Rigidbody의 Is Kinetic을 Off로 할 필요가 있다.
    즉 복잡한 3D 모델은, 소의 Unity에서는 지면으로서 밖에 사용할 수 없다. (아마)
    (Convex -> Off, Is Kinetic -> On으로 한 결과 ↓)



    요약



    캐릭터 등에 Mesh Collider를 붙이고 싶은 경우는, Asset Store로부터 SAColliderBuilder 등을 임포트 해 실시하는 것 외.
    이상, 거의 자신에게 비망록이었습니다.

    참고


  • Unity의 rigidbody에 관하여, kinematic에 관하여
  • Unity - 매뉴얼: Mesh Collider
  • Mesh Collider Convex 옵션 정보 - 饂飩 코딩
  • 좋은 웹페이지 즐겨찾기