Re: [問題]音速小子的行為模式
看板GameDesign (遊戲設計)作者StubbornLin (Victor)時間18年前 (2006/06/04 16:20)推噓2(2推 0噓 1→)留言3則, 2人參與討論串9/14 (看更多)
※ 引述《linjack (嗯)》之銘言:
: ※ 引述《StubbornLin (Victor)》之銘言:
: 唔, 法線方向上的反作用力不是把物體的法線方向速度歸零就好啊 @@"
: 這樣的敘述有點怪怪的...
: 力(加速度)與速度應該要分開來看的
: e.g. 一個速度為 vx = 5, vy = 5 的球碰到了鉛直的牆壁
: 如果這時把法線方向的速度, 也就是 vx 歸零
: 那球就貼壁走了
: 可能您的敘述過於簡略了 不知道我有沒有誤解的地方..
: 另外 在 Platformer 遊戲中 (如 Sonic / Mario 之類)
: 或者是 Pinball 類的遊戲中..
: 有各式各樣的地型 要如何建立一個完善的碰撞系統其實還蠻麻煩的
: 光是去找某個瞬時的碰撞點 碰撞點的切線/法線要如何精確地找出
: 還要考量到各種效率問題 .... 頗複雜 @__@a
: 一點想法.
其實,這是看要創造出什麼樣的世界來,物理模擬
真的要做起來,如果考率到效能,要做到很接近擬真是有一定的困難
特別是有很多很多物件會有互動的地方
因此,違反真的物理學,來達到遊戲性或是效能是無可避免的
就拿馬力歐來說,一般而言,在空中想要改變方向是很困難的事,在你的四週
只有質量很輕的空氣,想要移動根本幾乎不可能
而為了遊戲性,馬力歐在空中可以改變方向
我會把法線方向速度歸0,是有一個前提假設
就是假設這個球完全不會反彈,應該說是沒有彈性
想像一下,一塊黏土做的球,往牆上砸的確是會幾乎延著牆往下掉
如果不會完全延著牆壁跑的話,那是因為現實中多少可能還有一點點的彈性
當球撞到任何不會動的東西時,因為這個球撞這東西有多大的力量
這個不會動的物體,就會在法線上給一個大小完全相同,方向相反的力量
這就叫反作用力,也就是牛頓的第幾運動定律= =" 我忘了
而如果是有彈性的球,那就不一樣了
這顆球在接觸地面時,反作用力一樣會有,只是反作用力施在球上
有一部份會轉換成彈性位能,這時球就變形了
而在這時球會想要變回原來的形狀,而球依然有重力往下衝
並且比想變回來的彈力還大,一直到往下衝的力量幾乎都被彈性位能吃掉
以及被想反彈回來的力量抵消掉,這時,到了這瞬間
球就開始釋放彈性位能,開始往上跳
這是一整個球在反彈時的過程,通常這個過程都很短
因此遊戲裡通常都直接省略這個過程,直接計算出反彈後的速度和方向
我記得有一個彈性碰撞的公式,我晚一點再找出來
以上是我依照我對古典物理的印相所寫出來的,有錯的話請盡量指出來
其實數學和物理對遊戲很重要,因此我在學物理時有自己好好導公式 XD
--
VICTOR工作室 | PTT遊戲設計版隆重開幕!
| 不管是新手老手,程式美工音樂企劃....
URL : http://www.kinmen.info/vic/ | 都歡迎來遊戲設計版參與討論 XD
| 戰略高手>
C/C++ | GameTopics>
Visual Basic 6.0 | GameDesign
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.65.9
推
06/04 17:01, , 1F
06/04 17:01, 1F
→
06/04 17:02, , 2F
06/04 17:02, 2F
推
06/04 22:22, , 3F
06/04 22:22, 3F
討論串 (同標題文章)
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章
10
14
196
307
58
99