作者abkobe8 (小柏)
看板Flash
標題[問題] 物理引擎相關問題
時間Sun Aug 29 15:35:11 2010
第一次在這邊發文...
想請問一下各位高手們!!!
我目前使用Actionscript Physics Engine這一個物理引擎配合Flex製作專題
目前遇到的問題是我在畫面讓使用者點擊滑鼠左鍵之後
會在畫面出現一顆圓球(CircleParticle)
當他隨著引力向下掉碰到我預設產生的板子(RectangleParticle)
奇怪的是有時候會出現直接穿透的現象....不會反彈
實在是不知道為什麼有這種情況.....
然後需要怎麼解決.....
希望有人能夠解決我的疑問.....謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.160.161
1F:推 etrexetrex:是不是板子不夠厚阿 08/29 15:51
2F:→ abkobe8:剛剛測試了一下,似乎是因為這樣...但是因為需求的關係 08/29 16:00
3F:→ abkobe8:我原本厚度是3,目前調整為30就沒有問題,但是太厚了..... 08/29 16:01
4F:推 etrexetrex:那就是他的碰撞偵測不是測線 是測點 換一個Engine ? 08/29 16:41
5F:→ abkobe8:哪一個引擎確定不會有這個問題嗎....?因為如果換的話是個 08/29 16:54
6F:→ abkobe8:工程....原先的完成度很高了.... 08/29 16:54
7F:→ abkobe8:etrexetrex大,謝謝你啊! 08/29 16:55
8F:推 pm2001:突破天際的圓球阿 08/29 17:04
9F:推 etrexetrex:我沒有用過物理引擎 所以不知道哪個比較好耶 08/29 17:26
10F:推 FLJX:根據量子理論,粒子穿過鋼體牆面只是機率問題而已(  ̄ c ̄)y 08/31 23:07
11F:推 cjcat2266:一般物理引擎都會有這種穿透問題,因為是使用離散積分法 09/02 23:21
12F:→ cjcat2266:解決這種問題的方法,要嘛就用有支援連續碰撞偵測(CCD) 09/02 23:21
13F:→ cjcat2266:的物理引擎(像是Box2D),要嘛就是呼叫main loop時的模擬 09/02 23:22
14F:→ cjcat2266:時間間隔設定成較小的值 09/02 23:22
15F:→ cjcat2266:像是Box2D的b2World.step(time)函式就可以設定一次step 09/02 23:23
16F:→ cjcat2266:的模擬時間間隔(也就是time參數) 09/02 23:23
17F:→ cjcat2266:APE我不確定有沒有,有個比較吃效能的快速解法就是速度 09/02 23:23
18F:→ cjcat2266:減成二分之一,然後一次連續呼叫兩次main loop 09/02 23:23
19F:→ abkobe8:感謝C大~~~~ 09/05 17:59