커넥터

커넥터란 무엇인가요?
커넥터는 리지드 바디와 소프트 바디의 이동/회전을 제한합니다(후자는 Bullet을 사용할 때만 해당).
커넥터는 다음 유형의 객체를 연결합니다.
따라서 커넥터는 두 가지 모두와 함께 작동합니다:
- 이전 씬의 커넥터를 새로운 커넥터로 변환하는 기존 Bullet 다이나믹스 시스템입니다.
- 새로운 시뮬레이트 시스템.
커넥터가 없으면 리지드/소프트 바디는 힘과 충돌에만 반응합니다. 예를 들어 간단한 문 경첩을 만드는 데는 시간이 많이 걸립니다. 커넥터 포함(앵귤러 유형, 힌지 모드 )를 사용하면 문제없이 사용할 수 있습니다.

고정형 타입의 커넥터는 특히 중요합니다. 이들은 상대적인 움직임을 허용하지 않고 리지드 바디를 '단지' 함께 고정할 뿐입니다. 여기서 요령은 정의된 힘을 초과하면 이것들이 부서져 오브젝트도 파손될 수 있다는 것입니다( 위 참조).
커넥터는 뷰포트에 기능 미리보기와 함께 표시되므로 제한 사항을 시각적으로도 한 눈에 파악할 수 있습니다.
시뮬레이션이 시작되면 작동하지 않는 커넥터는 빨간색으로 표시됩니다. 예를 들어 연결된 두 파트너가 모두 리지드 바디가 아닌 경우 이런 일이 발생할 수 있습니다.
대화형 커넥터 만들기
커넥터는 리지드 바디 태그가 없는 오브젝트로 이미 생성할 수 있습니다. 그러나 리지드 바디 태그가 할당된 경우에만 올바르게 작동합니다.
-
오브젝트 관리자에서 연결할 오브젝트를 선택합니다.
-
메인 메뉴의
에서 커넥터 중 하나를 불러옵니다. -
뷰포트에서 커넥터를 올바른 위치(힌지가 있거나 슬라이더 축과 평행한 위치)로 밀거나 회전합니다.
커넥터 오브젝트 자체는 복제할 수 없다는 점에 유의하세요. 전체 설정(예: 아래 예시에서와 같이 자율 주행 차량을 만들기 위한 차량)을 복제하는 것은 시뮬레이트시스템에서는 불가능하지만, Bullet 다이나믹에서는 가능합니다.
다른 커넥터를 위한 컨테이너로서의 커넥터 오브젝트
그러면 커넥터 오브젝트는 여러 개별 커넥터를 위한 일종의 컨테이너가 됩니다.
물론 이 많은 커넥터에 개별 속성을 부여하면 좋을 것입니다. 예를 들어, 이 특별한 커넥터 하나가 가장 먼저 끊어져야 합니다. 이를 위한 두 가지 솔루션이 있습니다:
-
가장 중요한 커넥터 매개변수에는 모그라프 선택 태그나 모그라프 웨이트 맵을 수용할 수 있는 링크 필드(선택 또는 웨이트라고 함)가 있습니다(여기를 참조하세요). 이는 커넥터 수준에서 해당 속성을 제어합니다.
-
커넥터 오브젝트는 편집 가능(C 키)으로 설정하여 해결할 수 있습니다. 그런 다음 포함된 모든 커넥터는 널 오브젝트 아래에 커넥터 오브젝트로 패킹됩니다. 오브젝트 목록에 정확히 2개의 오브젝트만 포함할 수 있습니다. 그런 다음 이 방법을 사용하여 각 개별 커넥터의 설정에 액세스할 수 있습니다.
커넥터 위치
커넥터의 위치와 방향이 중요합니다. 이는 이동과 회전의 축을 정의합니다. 예를 들어 위 이미지를 보면 레일 커넥터의 위치에 따라 공이 움직일 수 있는 방향이 정의되는 것처럼 힌지에서 공의 가능한 회전 방향은 조인트 위치에 따라 정의됩니다.
힌지는 일반적으로 회전 축에 배치됩니다.
시뮬레이션이 시작되면 커넥터는 연결 파트너와 함께 의미 있는 방식으로 자동으로 이동합니다. 따라서 커넥터 오브젝트가 작동하기 위해 계층적으로 어딘가에 배치할 필요는 없습니다.
원통 2개, 큐브 2개, 각각 리지드 바디 태그가 있는 간단한 장면을 생각해 보세요(아래에서 완성된 장면을 다운로드할 수 있습니다):

이 4가지 기본 오브젝트를 기능적인 차량으로 바꿔야 합니다.
커넥터가 없으면 이 4개의 구성 요소는 충돌 가능성은 차치하고서라도 서로 상호작용하지 않고 그냥 떨어지게 됩니다. 부품을 작동하는 차량으로 바꾸려면 2개의 큐브를 실린더의 회전축에 연결하는 각도 유형, 힌지 모드의 커넥터 4개가 필요합니다.
이렇게 하려면 연결할 두 오브젝트를 선택하고 각도 커넥터를 만듭니다. 따라서 이러한 오브젝트는 커넥터로 연결됩니다.
요령은 2개의 커넥터가 첫 번째 실린더 회전축에, 나머지 2개의 커넥터가 두 번째 실린더 회전축에 위치한다는 것입니다. 커넥터가 회전축에서 어디에 위치하는지는 중요하지 않습니다. 기능에 지장을 주지 않고 축 방향으로 이동할 수 있습니다. 물론 이 경우 베어링, 즉 회전하는 물체 사이의 '인터페이스'가 실제로 위치한 '실제' 위치로 이동하는 것이 더 합리적입니다:

그리고 이를 통해 실제로 경사진 평면에서 독립적으로 굴러갈 수 있는 기능적인 차량을 이미 만들었습니다. 4개의 오브젝트는 회전하는 원통으로 고정 그룹을 형성합니다.
자동 포지셔닝
이러한 규칙은 새 커넥터 오브젝트 또는 커넥터를 만들 때 적용됩니다:
-
오브젝트 목록에 오브젝트가 하나만 있는 경우 새로 생성된 커넥터는 월드 원점에 위치합니다. 따라서 오브젝트는 처음에 월드의 중심에 연결되며, 커넥터 오브젝트는 물론 자유롭게 위치/회전할 수 있습니다.
-
오브젝트 목록에 두 개의 오브젝트가 있는 경우 커넥터도 월드 원점에 생성되지만 두 오브젝트를 연결하게 되며, 커넥터 오브젝트는 물론 자유롭게 위치/회전할 수 있습니다.
-
오브젝트 목록에 복제 오브젝트의 복제본을 포함하여 오브젝트가 3개 이상 있는 경우 커넥터는 연결된 오브젝트 쌍의 가운데에 배치됩니다. 이제 커넥터 오브젝트를 회전/이동하면 해당 오브젝트에 포함된 모든 커넥터가 그에 따라 이동하거나 회전합니다.
부정확한 커넥터?
커넥터가 의도한 작업을 100% 수행하지 못한다는 느낌이 든다면, 즉 커넥터가 너무 많이 움직이거나 튕긴다는 느낌이 든다면 일반적으로 시뮬레이션 계산의 정밀도(주로 하위스텝 및 반복 파라미터로 표현됨)에 집중하는 것이 도움이 됩니다.
또 다른 이유는 물체의 질량 차이가 매우 크기 때문일 수 있습니다. 물리 시뮬레이션은 일반적으로 그다지 좋아하지 않습니다.
5개의 커넥터 명령이 있는데 하루만?
4개의 서로 다른 커넥터 유형을 불러올 수 있더라도 유형 또는 모드 설정이 다른 하나의 커넥터 오브젝트만 표시됩니다. 이는 언제든지 변경할 수 있습니다.