基于Unity整合BEPUphysicsint物理引擎實(shí)戰(zhàn)
上一節(jié)我們?cè)敿?xì)的講解BEPUphysicsint 的物理事件。此物理引擎會(huì)產(chǎn)生了碰撞事件與非碰撞事件,碰撞事件大家好理解,非碰撞事件例如: 物理Entity的update事件,Entity的activation/deactivation事件等。本節(jié)課來(lái)實(shí)戰(zhàn)如何編譯BEPUphysicsint源碼到自己的項(xiàng)目, 如何整合物理引擎與Unity圖形渲染。本文分成4個(gè)部分:
?
1: 源碼編譯, 將github上的源碼下載下來(lái)編譯到Unity項(xiàng)目;
2: 在Unity中初始化BEPUphysicsint的物理世界;
3: 編寫(xiě)PhyBoxEntity組件創(chuàng)建物理Entity并同步Unity圖像;
4: 使用Unity自帶碰撞器組件,來(lái)生成創(chuàng)建PhyBoxEntity;


結(jié)合我們的文件夾,我們大膽來(lái)猜測(cè)分析下代碼的作用,哪些我們可能需要的,哪些要?jiǎng)h除的。分析時(shí),我一般會(huì)先根據(jù)名字來(lái)猜測(cè),再核對(duì)一下里面的代碼。BEPUbenchmark/BEPUfloatBenchmark,我先查找名字benchmark的意思,benchmark的英文有類似單元測(cè)試,實(shí)例代碼的意思,所以這兩個(gè)文件夾下的代碼應(yīng)該是供我們整合到項(xiàng)目做的實(shí)例參考,可以閱讀里面的源碼,但是不用放Unity源碼編譯。進(jìn)一步核實(shí)一下里面的代碼驗(yàn)證一下自己的判斷,打開(kāi)入口文件Benchmark.cs,里面講解的就是如何setup物理世界等。如圖










經(jīng)過(guò)這些操作,代碼很神奇的就全部編譯過(guò)了。接下來(lái)往Unity里來(lái)構(gòu)建我們的物理世界了。

????







今天的分享就到這里了,私信我,可以獲取Unity BEPUphysint3D實(shí)戰(zhàn)源碼。