box2d에서 페더 가을을 시뮬레이트하는 방법?


10

Box2d 확장명을 가진 AndEngine과 함께 일하고 있지만 일반적인 대답이나 개념 아이디어도 높이 평가됩니다.

물리 시뮬레이션에 참여하고 싶은 2D 측면 세계에 깃털 같은 물체가 있습니다. "깃털"이 천천히 떨어지도록 선형 댐핑을 사용하고 있습니다. 이것은 좋은 생각이 아닐 수도 있습니다. 어쩌면 각 업데이트마다 강제로 적용해야하지만 그럼에도 불구하고 이것은 작동하며 객체를 "빛"으로 보이게하고 저항이있는 공기가있는 것처럼 느낍니다.

이제 물체가 실제로 공기를 통해 떨어지는 깃털처럼 보이게하려면 어떻게해야합니까?

특히 나는 두 가지 유형의 물체를 찾고 있습니다. 저밀도로 길고 느린 스윙 동작으로 아래로 이동해야하며 궤도를 임의로 변경하는 사각형 물체입니다. 이것이 하나의 시뮬레이션 일 수 있고 길이가 매개 변수가되면 좋을 것입니다. 물체가 길수록 스윙이 더 커집니다. 지금은 만화 세계에서 깃털, 잎 및 눈송이를 시뮬레이션하고 싶습니다.

떨어지는 물체의 경로


2
스크린 샷이나 컨셉 스케치 등은 어떻습니까? 결국, 깃털을 고려할 수있는 수많은 것들이 있으며, 나는 당신의 상황에 따라 다르게 행동 할 것이라고 말하고 싶습니다.
마리오

더 많은 정보와 이미지를 추가했습니다.
MartinTeeVarga

답변:


6

달 착륙처럼, 당신은 그것을 가짜 해야 합니다 . 플러터, 텀블 및 와류에 의한 자동 회전 의 물리학 은 복잡합니다. 이 효과를 시뮬레이션 하는 논문 이 있으며 , 멋진 Java 애니메이션을 제작 합니다.

그러나 나는 심지어 당신의 가짜에 더 나아가서 움직임을 애니메이션하기 위해 증가하는 사인파 와 같은 것을 구현할 것 입니다.

여기에 이미지 설명을 입력하십시오

분명히 원하는 값에 더 가까운 것을 얻을 때까지 시작 값, 진폭 및 주파수의 독립적 증가 속도를 조정하고 싶을 것입니다. 흥미를 유발하기 위해 임의의 무작위성이 필요합니다. 또한 예제에서 알 수 있듯이 표면적이 큰 매우 가벼운 물체는 실제로 파도 가장자리 근처 로 올라갈 수 있습니다. 따라서 특정 진폭을 초과하는 파도는 작은 값으로 최대 값을 지정하여 스위핑 값을 고려하기 시작해야합니다.

물체의 질량과 표면적이 적을수록 사인파의 진폭과 주파수가 증가합니다. 질량이 크고 표면적이 적을수록 진폭과 주파수가 감소합니다.


3
** 음모자 **
Mikolaj Marcisz

자, 두 가지 기능을 가질 수 있는데, 수평 운동을 제어 할 사인파를 증가시키고 수직 운동을 제어 할 수있는 기능이며, 물체의 중심으로부터 얼마나 멀리 떨어져 있고 운동을 방해 할 수있는 캡이있을 것입니다. 다시 보내주십시오 ... 힘을 줄 수있는 결합 된 기능을 알아 내면 어떻게 힘을 적용합니까? 엔진의 각 진드기마다 시간이 조금 걸렸습니까? 이전에는 box2d를 사용한 적이 없습니다.
MartinTeeVarga

그와 같은 소리가 잘 작동하여 중력이 나머지를 처리하게합니다. 힘을 처리하는 몇 가지 방법이 있습니다. 아마 당신이 말한 시간 경과에 따라 엔진의 각 진드기에있을 것입니다. 그것들은 임펄스 힘이 될 것입니다. 그것은 그 프레임의 순간을 의미합니다. 자세한 내용은 이 질문 을 참조하십시오 ( 이것은 질문 에서와 같이 Cocos2D를 사용하지 않더라도 동일합니다).
MichaelHouse
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.