精選文章

SmallBurger Asset Home

  SmallBurger

2011年11月23日 星期三

水動態模擬的再進階-波浪起伏+水波抖動(Perlin Noise+Ripple)

關於Perlin Noise的部份,上一篇就有提到,而Fluid for Ripple的演算法,是使用以下公式:
float C = 0.3f; // ripple speed
float D = 0.4f; // distance
float U = 0.05f; // viscosity
float T = 0.13f; // time
float TERM1 = ( 4.0f - 8.0f*C*C*T*T/(D*D) ) / (U*T+2) ;
float TERM2 = ( U*T-2.0f ) / (U*T+2.0f) ;
float TERM3 = ( 2.0f * C*C*T*T/(D*D) ) / (U*T+2) ;
Buffer1Height = TERM1*Buffer2Height+TERM2*Buffer3Height+
       TERM3*(Buffer2LeftHeight+Buffer2RightHeight+Buffer2UpHeight+Buffer2DownHeight);
重點在於三個Buffer之間的交換。

相關公式圖檔:





離真實的水越來來近了,xd,以下是相關Demo影片…



接下來就是幫她穿上好看的衣服了…(VertexNormal、Material…)

沒有留言:

張貼留言