2011-12-22 51 views
0

我無法弄清楚這個真實的名字;但是,我認爲這是動態水體物理。我想要做的就是把水放到正確的位置,讓事情變得更加複雜,我試圖讓一個角色走進水中,它表明水正在移動。此外,角色也將在水中游泳,任何人都可以幫助我嗎?XNA水物理

p.s.遊戲是2D的,所以一切都將被繪製,3D模型將不會被應用到遊戲中。

+0

你將永遠無法得到的水完全準確真實生活的模擬,你需要的是使在漣漪效應間隔或類似的東西。否則,您將使用的大部分處理能力將用於水。 – annonymously 2011-12-22 13:38:47

回答

1

在遊戲中(也許一般)有兩種模擬流體的主要方法。

一個是使用粒子(大量和大量的粒子),另一個是使用某種網格。

除非你真的想在代碼中得到膝蓋深(大聲笑),我推薦使用/調整已存在的東西。

使用粒子法,這看起來很有希望,因爲它是用C#開發:http://www.opentk.com/node/377

請注意,如果你要來編寫代碼瞄準的Xbox你要看看它所有的對象分配並確保它始終重新使用對象/粒子。


作爲獎勵,也許這個問題可以幫助(以瓦)Cell-Based Liquid Simulation: Local pressure model?

+0

聽起來不錯,但是,我的問題是,如果我在遊戲中輸入一個包含許多粒子的遊戲,會導致加載問題和速度變慢?另外,有沒有辦法讓這些微粒質感,這樣它們就可以放出水的幻覺? – AriA 2011-12-29 03:16:52

+0

你的大部分時間都會花在處理減速上。一種先進的技術將是使用GPU來做一些處理(儘管我自己並沒有這樣做)。至於紋理建議,我建議繪製到離屏渲染目標,將所有粒子混合在一起,然後可以編寫着色器,將生成的「斑點」與水狀紋理合並。 – 2011-12-29 09:10:03