看完原文後,也許大家會好奇這個東西能做什麼,最近剛好有做出一點點成果。
兩個矩型的碰撞與回饋,這大概就是正常2D平面遊戲會用到的檢測與碰撞回饋,其中一個方法 :
如果地形有斜坡或是奇葩的形狀的話,就有可能使用到本文所介紹的SAT多邊形碰撞檢測,看起來就會像這樣 :
有種開破冰船的感覺。
然後只要設定哪些物體是地形,哪些是可移動物體,就可以做出推箱子之類的效果
這兩張是別人的範例
雖然不全都用這種這種方法,但有些遊戲直接透過像素檢測,也有些是用網格的界線來分辨等等的...,看狀況使用吧。
而關於碰撞後的各種效果的話,可能要等很久之後了,物理模擬的背後原理太多了,不知什麼時候才能做出來。
目前只有做出基本的彈性碰撞,碰撞後會根據兩球不同的碰撞角度、質量大小、力的方向來做反應,附上幾張簡易成果:
兩質量相同的物體,在無摩擦力的狀況下,碰撞後動量會完全轉移 :
隨著碰撞角度的改變,也會有不同的反應 :
多顆球的彈性碰撞:
而多邊形的彈性碰撞牽扯的有點多,還要處理角動量、質心位置等等...的問題,現在的能力還不太夠,也許之後會繼續完成吧。
此圖為matter.js範例
上面的兩個單元"碰撞回饋"、"彈性碰撞",之後有機會可能會再多寫兩篇文章來像原文那樣講解吧
在這發文主要是希望我能持續寫文章,反正有人推就有ㄊㄓ,這樣每次收到後可能就有一些動力來繼續寫文章吧,雖然沒ㄊㄓ還是會寫下去,但我想你也懂,文章發表後收到回饋的感覺就是不一樣。
Collision-MTV Github : https://github.com/md9830415/Collision-MTV
Collision-Elastic Github : https://github.com/md9830415/Collision-Elastic
我的網站 : 點擊前往
兩個矩型的碰撞與回饋,這大概就是正常2D平面遊戲會用到的檢測與碰撞回饋,其中一個方法 :
如果地形有斜坡或是奇葩的形狀的話,就有可能使用到本文所介紹的SAT多邊形碰撞檢測,看起來就會像這樣 :
有種開破冰船的感覺。
然後只要設定哪些物體是地形,哪些是可移動物體,就可以做出推箱子之類的效果
這兩張是別人的範例
雖然不全都用這種這種方法,但有些遊戲直接透過像素檢測,也有些是用網格的界線來分辨等等的...,看狀況使用吧。
而關於碰撞後的各種效果的話,可能要等很久之後了,物理模擬的背後原理太多了,不知什麼時候才能做出來。
目前只有做出基本的彈性碰撞,碰撞後會根據兩球不同的碰撞角度、質量大小、力的方向來做反應,附上幾張簡易成果:
兩質量相同的物體,在無摩擦力的狀況下,碰撞後動量會完全轉移 :
隨著碰撞角度的改變,也會有不同的反應 :
多顆球的彈性碰撞:
而多邊形的彈性碰撞牽扯的有點多,還要處理角動量、質心位置等等...的問題,現在的能力還不太夠,也許之後會繼續完成吧。
此圖為matter.js範例
上面的兩個單元"碰撞回饋"、"彈性碰撞",之後有機會可能會再多寫兩篇文章來像原文那樣講解吧
在這發文主要是希望我能持續寫文章,反正有人推就有ㄊㄓ,這樣每次收到後可能就有一些動力來繼續寫文章吧,雖然沒ㄊㄓ還是會寫下去,但我想你也懂,文章發表後收到回饋的感覺就是不一樣。
Collision-MTV Github : https://github.com/md9830415/Collision-MTV
Collision-Elastic Github : https://github.com/md9830415/Collision-Elastic
我的網站 : 點擊前往