Re: [問題]音速小子的行為模式

看板GameDesign (遊戲設計)作者 (Victor)時間18年前 (2006/06/04 16:20), 編輯推噓2(201)
留言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
如果是撞 "大東西" 的話,v1 = -t * v0, t 是碰撞耗損
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
文章代碼(AID): #14WfVfno (GameDesign)
討論串 (同標題文章)
文章代碼(AID): #14WfVfno (GameDesign)