어떻게 당신을 유지하는 최고의 트랙에서 기차를 가진 Box2D 물리 엔진?

StackOverflow https://stackoverflow.com/questions/616375

  •  03-07-2019
  •  | 
  •  

문제

나는 생각 재미있을 것이라는 모델을 최 보기 열차의 다음 트랙 스위치 및 그를 이용하여,물리학 도서관 같은 Box2D.What 관절 모터는 내가 필요로하게 작동하나요?

저는 호기심을 구현하는 방법에 대한 힘을 만드는 데 필요한 자동차에 따라 스플라인을 추적할 수 있도록 부딪혀 다른 열차,보행자,DeLoreans etc.그냥 말하는"자동차에서 지금 스플라인(t)"각 단계 시간을 만들 것이 과도한 힘을에서는 물리 엔진을 갖추고 있습니다.내가 제대로 이해한다면,당신은 당신이에 차와 트랙 중 하나 힘을 제한각하는 경향이 있으로 병렬 트랙으로 다른(또는 스틱을 전면 및 후면 자동차의 트랙으로 두 개의 힘),만한 힘을 추진하는 앞으로 기차.내가 찾는 방법에 대한 몇 가지 세부 사항을 달성한 이러한 것들입니다.

도움이 되었습니까?

해결책

나는 룩소르 나 회전 버그와 같은 게임의 볼 움직임과 같은 "실제"물리학 없이는 더 쉬울 것이라고 생각합니다. 의미 : 열차가 트랙에 의해 정의 된 스플라인을 따라 가도록하십시오.

Phyiscs를 사용하는 것은 아마도 열차를 따라 트랙을 따라 가기 위해 과잉 일 수 있으며, 육포 운동, 기차 탈선, 접합부에 붙어있는 기차 등을 포함한 모든 종류의 바람직하지 않은 부작용으로 이어질 수 있습니다.

그러나 물리적 관절을 사용하여 개별 마차에 합류 할 수 있습니다. 기관차 만 가속력을 얻는지 확인하십시오. 열차의 나머지 부분은 방금 따라 가거나 밀려 나지만 스플라인에 머무르십시오.

다른 팁

왜 "트랙에"그것을 유지하는 것에 대해 걱정하십니까? 어디로 갈까요? 중력은 그것을 유지하고 객체 교차로를 유지해야하므로 걱정해야 할 유일한 방향은 앞뒤로 있습니다. 그것이 모터가 들어오는 곳이고 당신은 끝났습니다. 나머지는 장식입니다.

문제 편집에 대한 응답으로 :

Siderails. 그리고 열차를 크로스를 탐색 할 수있는 너비에 비해 충분히 길고 단단하게하십시오 (교차 문제를 최소화하기 위해 직각에 더 가깝게 만듭니다.

Top-down view(i.e보고에서 기차를 타고 하늘)지 않는 정말 필요한 2d 물리 엔진-나가 당신을 정확하게 이해하는 경우.사실,그것은 그것 같이 없을 정말로 도움이 되는 문제는(당신이 원하는 경우 기차 시뮬레이션),그러나 어쩌면 당신은 그것을 밖으로 시도한 재미 있습니다.:)

그러나 무엇에 대해 무언가를 두고 같은 슬라이더에 공동차 및 자동차 및 모터에 기관차입니다.슬라이더를 합해야 할 수도 있습 몇 가지 특별 구현당신은 아마 당신을 실행하려는 기차에 따라 스플라인을 과하지 않 의 세그먼트는 직선,right?

어떤 종류의 공동 연결하는 것이 가장 좋은 자동차를 함께.

구현은 그렇게 힘들지 않고 기본 작업을 수행하는 몇 시간 안에 무언가를 프로토 타입 할 수있었습니다. 원활하게 실행하기 위해서는 많은 작업이 필요하지만 본질적으로 "Siderails"입니다.

하향식이기 때문에 먼저 Box2D에서 중력을 끄야합니다. 둘째, 기차를 짓습니다. 자동차 휠과 같은 기차 바퀴를 취급하면 갑자기 훨씬 더 간단 해집니다. 트랙의 경우 몇 가지 선택 사항이 있습니다.

  • 간단한 라인 인 나만의 게임 객체 (Box2D 세계가 아님)를 만듭니다. 그런 다음 열차가 "팔로우"됩니다 (열차 바퀴의 모터를 사용하여 라인을 향해 "조종"할 수 있습니다). 그런 다음 멋진 "레일"그래픽으로 선을 오버레이하면 멋지게 가짜 시스템이 있습니다. 선과 프레스토에서 너무 멀리 떨어져 있으면 바퀴가 꺼지도록 지시하십시오. 탈선이 있습니다.

  • 기차 "바퀴"가 충돌 할 수있는 실제 물리적 레일 - 외부 레일 (예 : Siderails)을 만듭니다. 그들은이 인스턴스에서 부드러운 곡선을 가져야 할 것입니다. 이는 당신이 가진 제한된 자원을 감안할 때 매우 어려울 수 있습니다 (Box2D의 상자에서 멋진 느린 곡선을 시뮬레이션하는 것은 프로세서에서 거칠다).

그런 다음 기차를 보내십시오!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top