2011-09-25 2 views
2

내가 가지고있는 것은 다른 물체 위로 굴러 와서 '선택'하는 원입니다. 내 현재 설정에서는 WeldJoint를 사용하여 가져온 객체를 원의 모서리에 결합하고 배치합니다. 그런 다음이 객체의 조명기를 수정하여 충돌 대응을 피하는 센서가됩니다. circle은 applyForceToCenter()를 사용하여 주변을 밀고 가볍게 움직이게합니다. 이것은 모두 작동합니다.상자 2의 용접 이음 부에서 질량 무시

문제는 새로운 몸체에서 누적되는 질량이 주요 원의 움직임을 제한한다는 것입니다. 내 게임에 너무 현실적입니다. 시체가 계속 원을 당깁니다. 내가 원에 영향을 미치는 물리 기반 속성을 제로로 만들고 싶습니다.

나는 resetMassData(), MassData.mass = 0 (false)를 setAwake, setActive (false)를 ...

어떤 도움 감사합니다, 감사를 사용하여 다양한 방법을 시도했습니다.

편집 : 수학 함수를 사용하여 개체 주변을 원 주위로 나선형으로 만드는 방법을 생각해 보았습니다. Make a sprite go in a circle. 그게 박스 2d와 함께가는 길인지 확실하지 않습니다.

답변

2

용접 조인트를 사용할 때 서클에 부착 할 때 자체 몸체가있는 본체는 삭제하지 않습니다. 단순히 뭔가가 서클에 달라 붙어 서 더 이상 충돌 할 필요가 없다고 가정하면 만족할만한 솔루션이므로 서클 본문에 센서로 센서를 추가하는 것이 좋습니다. 이 경우 본체를 삭제하고 서클에 조명기를 추가해야합니다.

더 많은 물체를 갖고 있으면 서클에 더 많은 질량이 발생한다는 것이 좋습니다. 현재 볼에 붙어있는 총 추가 질량을 결정하는 루틴을 만들지 말고 그에 따라 볼의 밀어 넣기 힘을 조정하십시오. 같은 가속도로 끝나지 만, 무료로 생성 된 충돌 력은 사실적으로 증가합니다. 뿐만 아니라 용접 된 센서가 관성을 효과적으로 수정하여 공의 무게 중심이 이제는 사물의 움직임을 반영합니다! 그것은 자유 리얼리즘입니다, 그래서 나는 그것을 이용하려고합니다. 또한 조명기를 정확하게 이동시키는 코드를 작성하는 것보다 쉽습니다.

새로 추가 된 "붙어있는"개체의 밀도를 몇 가지 요인으로 줄여 필요한만큼 효과를 줄일 수도 있습니다.

+0

나는 '너무 많은'질량을 가진 즉각적인 문제를 해결했습니다. 문제는 물체가 매우 높은 밀도와 원형을 가졌다는 것입니다. 나는 또한 질량으로부터의 자유로운 가속이라는이 아이디어를 좋아한다. 감사. – IvanArellano

+1

@IvanArellano 나는 내 대답을 조금만 업데이트했다. 그리고 제가 의미하는 바는 당신이 비례적인 힘의 증가로 질량의 증가를 설명 할 수 있다는 것입니다. 그것은 제어력, 가속도를 일정하게 유지하는 역할을합니다. 더 많은 것을 붙이면 "레벨 업"을위한 매우 자연스러운 메커니즘입니다. –

관련 문제