2014-04-10 3 views
4

정확히 Sprite Kit Restitution이 실제로 구성하는 것이 궁금했던가요? SKPhysicsBody의 매개 변수에 대한 일부 동작을 구성한다는 것을 알고 있지만 동작이 어떻게 다릅니 까?스프라이트 키트 반품?

답변

3

스프라이트 키트 Physicsbody 배상은

으로 정의된다 bounciness "" -IOS 게임 "또 다른 몸, 말의 기본적 멋진 방법 떨어져 을 반사 할 때 몸이 유지 얼마나 많은 에너지를 설명하는 속성을" 이 속성은 억제하는 데 사용되는 excerpt from the IOS Developer Library (Apple Docs)

튜토리얼

의해

얼마나 많은 에너지를 내 물리학 몸체 이 다른 물체에서 튀어 오르는 지 잃어버린다. 속성은 0.0과 1.0 사이의 값이어야합니다. 기본값은 0.2입니다.

또한 (0.0에서 1.0까지) 범위를 벗어나는 값을 제공하면 컴파일러에서 불평하지 않습니다. 그러나 예를 들어 1보다 큰 값을 갖는 것이 무엇을 의미하는지 생각해보십시오. 시체는 실제로 처음보다 더 많은 에너지로 충돌을 끝낼 것입니다. 이것은 현실적인 동작이 아니며 종종 물리 시뮬레이션을 매우 빠르게 중단시킵니다.

3

Restitution은 물체의 바운스를 설정합니다. 1.0f로 설정하면 충돌이 충격에 대해 동일한 힘으로 되돌아옵니다. 바운스하지 않으면 0.0f로 설정합니다.

5

애플 문서에 SKPhysicsBodyrestitution 속성의 설명에보기는 말한다 :

이 속성이 다른 개체를 반사 할 때 물리 몸 잃는다 얼마나 많은 에너지를 결정하는 데 사용됩니다. 속성의 값은 이고 0.0과 1.0 사이 여야합니다.

피해는 물리학 신체의 '탄력 (bounciness)'에 영향을 미칩니다. 예를 들어 노드는 (0, -100)의 속도로 floor와 충돌합니다 (physicsBody를 정의한 노드). 충돌에 대한 반응은 정착지 재산에 달려있다. 따라서 반발을 1.0으로 설정하면 속도는 (0,100)이되고, 반발이 0.9이면 속도는 (0,90)이됩니다.

1

반품은 기본적으로 객체의 "반항"

0

반발는 실생활에서와 스프라이트 키트, 충돌 전에 두 물체 간의 상대 속도로 충돌 후 두 물체 간의 상대 속도를 나눔으로써 얻어 질 수있는 값이다

e = relative speed after collision/relative speed before collision 

이 값을 사용하면 Google 어스의 바운스 또는 탄력성 수준을 알 수 있습니다. 충돌.

이 값을 구별하는 세 가지 특정 상황을 구분할 수 있습니다.

  • 운동 에너지의 더 분산이없는 경우, 우리는 또한 반등의 매우 높은 비율이있는 "완전 탄성 충돌"과 같은이 상황 를 호출 할 수 있습니다, 우리는 함께 손해 배상을 측정 할 수있는 첫번째 값 E = 1

  • 최대 이동 (운동 에너지)가 완전히 을 잃은 때 두번째 물체 충돌 여기서 우리가 붙어 "비탄성 충돌"을 유지해야 함께 이동 일어난다. 값은 E = 0

  • 마지막 경우는 충돌의 대부분 또는 값 0과 1 사이, 또는 중간에 즉 인 모든 상황 관한 것이다. 본질적으로 비탄성 충돌입니다. 여기에 약간의 운동 에너지가 분산되어 있습니다 ( ). 사실 스프라이트 키트 physicsBody 배상 값이 0.2

입니다 기본에서