수색…


Colliders

박스 콜라이더

직각 자 모양의 기본 Collider. 상자 Colliders 활성화 및 비활성화

속성

  • Is Is Trigger - 체크되면 Box Collider는 물리학을 무시하고 Trigger Collider가됩니다.

  • Material - 지정된 경우 Box Collider의 물리학 자료에 대한 참조입니다.

  • Center - 로컬 공간에서 Box Collider의 중심 위치

  • Size - 로컬 공간에서 측정 된 Box Collider의 크기입니다.

// Add a Box Collider to the current GameObject.
BoxCollider myBC = BoxCollider)myGameObject.gameObject.AddComponent(typeof(BoxCollider));
 
// Make the Box Collider into a Trigger Collider.
myBC.isTrigger= true;

// Set the center of the Box Collider to the center of the GameObject.
myBC.center = Vector3.zero;

// Make the Box Collider twice as large.
myBC.size = 2;

구형 충돌 장치

구형 모양의 원시 Collider입니다. 구형 충돌 장치가 활성화 및 비활성화되었습니다.

속성

  • Is Trigger - Sphere Collider는 물리를 무시하고 Trigger Collider가됩니다.

  • Material - Sphere Collider의 물리학 자료에 대한 참조 (지정된 경우).

  • Center - Sphere Collider의 로컬 공간에서의 중심 위치

  • Radius - Collider의 반지름

// Add a Sphere Collider to the current GameObject.
SphereCollider mySC = SphereCollider)myGameObject.gameObject.AddComponent(typeof(SphereCollider));
 
// Make the Sphere Collider into a Trigger Collider.
mySC.isTrigger= true;

// Set the center of the Sphere Collider to the center of the GameObject.
mySC.center = Vector3.zero;

// Make the Sphere Collider twice as large.
mySC.radius = 2;

캡슐 콜리더

두 개의 절반 분야 실린더에 의해 합류했다. 캡슐화 장치 사용 및 사용 안함

속성

  • Is Is Trigger - 체크하면 Capsule Collider가 물리학을 무시하고 Trigger Collider가됩니다.

  • Material - 지정된 경우 Capsule Collider의 물리학 자료에 대한 참조입니다.

  • 센터 - 로컬 공간에서 캡슐 콜 라이더의 중심 위치

  • 반경 - 로컬 공간의 반지름

  • Height - Collider의 총 높이

  • 방향 - 로컬 공간의 방향 축

// Add a Capsule Collider to the current GameObject.
CapsuleCollider myCC = CapsuleCollider)myGameObject.gameObject.AddComponent(typeof(CapsuleCollider));
 
// Make the Capsule Collider into a Trigger Collider.
myCC.isTrigger= true;

// Set the center of the Capsule Collider to the center of the GameObject.
myCC.center = Vector3.zero;

// Make the Sphere Collider twice as tall.
myCC.height= 2;

// Make the Sphere Collider twice as wide.
myCC.radius= 2;

// Set the axis of lengthwise orientation to the X axis.
myCC.direction = 0;

// Set the axis of lengthwise orientation to the Y axis.
myCC.direction = 1;

// Set the axis of lengthwise orientation to the Y axis.
myCC.direction = 2;

휠 콜라이더

속성

  • 질량 - 바퀴 충돌 자의 질량

  • 반경 - 로컬 공간의 반지름

  • 휠 감쇠율 - 휠 충돌기의 감쇠 값

  • 서스펜션 거리 - 로컬 공간에서 Y 축을 따른 최대 확장

  • 강제 앱 지점 거리 - 힘이 적용될 지점,

  • 센터 - 지역 우주의 휠 콜리더 센터

서스펜션 스프링

  • Spring - Wheel이 목표 위치로 되돌아 가려고하는 비율

  • 댐퍼 - 값이 클수록 속도가 느려지고 서스펜션이 느리게 움직입니다.

  • 목표 위치 - 기본값은 0.5이고, 0은 정지 상태이며, 1은 전체 확장 상태입니다.

  • 앞으로 / 옆쪽 마찰 - 전진 또는 옆으로 굴러갈 때의 타이어 동작 방식


메쉬 콜라이더

메쉬 자산을 기반으로하는 Collider. 비 볼록형 및 볼록형 메쉬 Colliders

속성

  • Is Is Trigger - 체크되면 Box Collider는 물리학을 무시하고 Trigger Collider가됩니다.

  • Material - 지정된 경우 Box Collider의 물리학 자료에 대한 참조입니다.

  • Mesh - Collider가 기반으로하는 메쉬에 대한 참조입니다.

  • 볼록 - 볼록 메쉬 충돌자는 255 개의 다각형으로 제한됩니다. 사용 가능한 경우이 Collider는 다른 메시 충돌 자와 충돌 할 수 있습니다


GameObject에 두 개 이상의 Collider를 적용하면이를 Compound Collider라고 부릅니다. 여기에 이미지 설명을 입력하십시오.

휠 콜라이더

화합의 내부에있는 바퀴 충돌자는 Nvidia의 PhysX 휠 충돌 장치를 기반으로하므로 많은 유사한 속성을 공유합니다. 기술적으로 단일성은 "단위가없는"프로그램이지만 모든 것을 이해하기 위해서는 몇 가지 표준 단위가 필요합니다.

기본 속성

  • 질량 - 바퀴의 무게 (킬로그램)로, 휠 운동량과 회전시 interia 순간에 사용됩니다.
  • 반지름 - 미터로, 충돌 자의 반지름입니다.
  • Wheel Damping Rate - 바퀴가 토크에 "얼마나 반응"하는지를 조정합니다.
  • Suspension Distance - 휠이 이동할 수있는 총 이동 거리 (미터)
  • Force App Point Distance - 부모 rigidbody에 적용되는 서스펜션에서의 힘
  • 중심 - 휠의 중심 위치

서스펜션 설정

  • 스프링 - 이것은 스프링 상수 K를 뉴턴 / 미터로 나타낸 방정식입니다.

힘 = 스프링 상수 * 거리

이 값의 좋은 출발점은 차량의 총 질량을 바퀴 수로 나눈 값을 50에서 100 사이의 숫자로 곱한 값이어야합니다. 예를 들어 4 개의 바퀴가 달린 2,000kg의 자동차가 있으면 각 바퀴는 500kg을 지원합니다. 이것을 75로 곱하면 스프링 상수는 37,500 뉴턴 / 미터가되어야합니다.

  • 댐퍼 - 자동차의 쇼크 업소버와 동등합니다. 속도가 높을수록 서스펜스가 "더 강하게"되고 속도가 낮아지면 "부드럽고"진동이 더 커집니다.
    나는 이것에 대한 단위 나 방정식을 모른다. 나는 물리학의 주파수 방정식과 관련이 있다고 생각한다.

측면 마찰 설정

단일성의 마찰 곡선은 휠이 원하는 위치에서 실제 위치까지 미끄러지는 정도 (m / s)에 의해 결정되는 슬립 값을가집니다.

  • Extremum Slip - 이것은 견인력을 잃기 전에 바퀴가 미끄러질 수있는 최대량 (m / s)입니다.

  • 극한값 (Extremum Value) - 이것은 바퀴에 적용되어야하는 마찰의 최대량입니다.

Exrtremum Slip의 값은 대부분의 실제 자동차의 경우 0.2m에서 2m / s 사이 여야합니다. 2m / s는 초당 약 6 피트 또는 5mph입니다. 이는 많은 실수입니다. 실수로 2m / s보다 높은 값을 필요로한다고 판단되면 최대 마찰 (최대 값)을 높이는 것을 고려해야합니다.

최대 분수 (극한치)는 다음 방정식의 마찰 계수입니다.

마찰력 (뉴톤 단위) = 마찰 계수 * 하향 추력 (뉴턴 단위)

이것은 1의 계수로, 슬립 방향과 반대 방향으로 카 + 서스펜션의 전체 힘을 가하는 것을 의미합니다. 실제 응용 프로그램에서는 1보다 높은 값은 드물지만 불가능하지는 않습니다. 건조 아스팔트 타이어의 경우 .7과 .9 사이의 값은 현실적이므로 기본값 인 1.0을 사용하는 것이 좋습니다.

이 값은 이상한 행동이 발생하기 시작할 때 현실적으로 2.5를 초과해서는 안됩니다. 예를 들어, 우회전하기 시작하지만,이 값이 너무 높기 때문에, 큰 힘이 당신의 방향과 반대 방향으로 가해지고, 멀리가 아닌 선회로 넘어 가기 시작합니다.

두 값을 모두 채우면 점근선 값과 값을 올리기 시작해야합니다. Asymptote Slip은 0.5m / s와 2m / s 사이에 있어야하며, 점근선 슬립을 지나면 슬립 값에 대한 마찰 계수를 정의합니다. 견인력이 떨어질 때까지 차량이 잘 동작하는 것을 발견하면, 그것이 얼음 위에있는 것처럼 동작하는 지점에서 점근 값을 올려야합니다. 차량이 표류 할 수 없다는 것을 알게되면 값을 낮춰야합니다.

전진 마찰

전진 마찰은 옆쪽 마찰과 동일하지만 휠이 운동 방향에 얼마나 견인을 가하는지를 제외하고는 값이 너무 낮 으면 차량은 번 아웃을하고 타이어를 앞으로 돌리면서 천천히 돌립니다. 너무 높으면 차량에 무리가 있거나 더 나쁜 행동을하는 경향이 있습니다.

추가 참고 사항

단순히이 값을 조정하여 GTA 클론이나 다른 레이싱 클론을 만들 수있을 것으로 기대하지 마십시오. 대부분의 운전 게임에서 이러한 값은 속도, 지형 및 회전 값에 따라 스크립트에서 지속적으로 변경됩니다. 또한, 키를 누를 때 휠 콜리 더에 일정한 토크를 가하는 경우 게임은 현실적으로 작동하지 않습니다. 현실 세계에서 자동차는 바퀴에 적용되는 토크를 변경하기 위해 토크 곡선과 변속기를 가지고 있습니다.

최상의 결과를 얻으려면 자동차가 적절하게 응답 할 때까지이 값을 조정 한 다음 스크립트의 휠 토크, 최대 회전 각도 및 마찰 값을 변경해야합니다.

wheel colliders에 대한 자세한 내용은 Nvidia의 문서 http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/Vehicles.html 에서 확인할 수 있습니다.

트리거 Colliders

행동 양식

  • OnTriggerEnter()
  • OnTriggerStay()
  • OnTriggerExit()

OnTriggerEnter() , OnTriggerStay()OnTriggerExit() 메서드를 사용하려면 Collider를 트리거 로 만들 수 있습니다. 트리거 콜 리더는 물리적 인 충돌에 반응하지 않으며, 다른 게임 객체는 충돌을 단순히 통과합니다. 그것들은 다른 GameObject가 특정 영역에 있는지 여부를 감지하는데 유용합니다. 예를 들어, 아이템을 수집 할 때, 우리는 그것을 실행할 수 있기를 원할 것입니다.

트리거 Collider 스크립팅

아래의 메서드는 다른 콜 라이더가 GameObject의 콜 리더 (플레이어 등)에 언제 들어 왔는지 탐지하는 트리거 리스너의 예입니다. 트리거 메소드는 GameObject에 할당 된 모든 스크립트에 추가 할 수 있습니다.

void OnTriggerEnter(Collider other)
{
    //Check collider for specific properties (Such as tag=item or has component=item)
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow