3D動畫裡的流體一般是怎麼實現的呢?

時間 2021-05-07 00:10:31

1樓:ycz

曾用虛幻四的藍圖和材質系統做了乙個簡單的流體解算器。

主要工作在解NS方程和結果的渲染。

NS方程的求解主要是線性方程的解算(經過一些假設後方程變為線性使其可以實時運算)。

線性方程求解有很多方法,受限於材質系統只能使用ReadOnly的texture,之前用的是Jacobi迭代法。

渲染上可以選擇簡單的raycasting或者做mipmap pyramid&cone tracing。

NS方程的介紹在其他回答裡已有介紹

下面是成品圖

可實時互動,有固定的邊界

之前演示時用的是手機錄影

下次再補高畫質圖 (ω )

2樓:張心欣

- 是解微分方程嗎?還是用某種假的物理模型?或者就是直接控制反光什麼的讓流體感覺在流動?

關於微分方程數值解以及流體模擬技術上的細節, 我不多說, @Raymond

@叛逆者 他們講得都有覆蓋了。

我特別要講一講針對於動畫和電影製作的話, 最有趣的莫過於「不滯於物」這四個字, 真正使用到的, 其實並不是這幾種方法中的任何其中一種, 而是所有的方法的集合,而其目的,則是圍繞著兩個核心:「真實性」與「可控性」

出於真實性的需求, 我們可能需要解微分方程,出於可控性的要求, 我們有時則不得不調整對方程數值解的依賴。

這是來自於一本早期的工業光魔製作的影片, the abyss。 也是很早的運用計算機成像技術製作特效的影片之一,像這樣的鏡頭, 並不是由數值演算法解算得到, 而是對於動畫師手調的mesh進行正確的材質渲染得到的, 但這個鏡頭中最值得注意的反而是這個虛擬的影像對於真實的演員的手指的倒影,這個倒影該如何製作呢? 是在虛擬製作的時候做了乙個虛擬的手然後進行反射運算, 還是在實拍的時候放置乙個反射球在對應位置之後在後期把反射給取出來調整進畫面?

哪乙個成本更低呢?亦或是什麼更聰明的辦法?這才是好萊塢比全世界的電影製作厲害的地方,他們有太多解決細節問題的經驗了,而恰恰是這樣的細節把握, 大大增加影片的可信度的根本。

這些經驗, 是買不到的, 也是研發不出來的。 只能是在不斷的嘗試不斷的失敗和成功中積累出來的, 都在談什麼叫工業化, 這就是工業化的其中一塊。

這裡有幾個很值得注意的問題, 既然我們可以用CG合成, 為何還要花錢造乙個真實的水池? 為何虛擬拍攝屋的布景要那樣放? 多放的那塊白布平添了更多的摳圖成本, 卻為何要在那裡?

單造乙個水池還不夠, 為何還需要造浪裝置?所以這一點又完美體現了好萊塢影視製作中的工業化水準:即使我乙個鏡頭已經準備好是用cg合成了, 我也需要在虛擬實拍的布景上盡可能地還原目標情景。

- 之所以需要乙個真實的水池是因為在Sunny的照射下, 水面會反射Sunny, 可能在船體以及角色身上打下複雜的光斑, 這很難通過後期去添補。

-之所以要造浪, 是需要船體的運動規律是符合在海中漂泊的情況, 如果離開了造浪器, 那鏡頭中船的運動就有瑕疵了。

-之所以要掛白布, 是因為效果鏡頭中的對應方向是有一大片白雲的, 所以需要一塊白布去製造出更貼切的自然光漫反射或散射效果, 令角色身上的光影更為可信。

我再列舉乙個大家很眼熟的鏡頭

來自於迪斯尼的冰雪奇緣中的elsa公主, 對於這本影片中所運用到的雪的模擬運算我不說, 我倒是特別想強調一下影片中Elsa公主放小法術時諸如畫面中這樣的流體模擬, 又是乙個很好的「控制」>「真實」的例子, 在諸如這樣的需求中, 導演對流體運動的形態, 動量都有很顯式的要求, 而同時又希望其運動規律在一定程度上符合流體的運動規律。 在這種情景中, 如何開發出程式去高效地控制流體的運動, 做到所要即所得, 一點也不是容易的事。

最後還是總結一下, 3D動畫裡的流體一般是怎麼實現的, 其實是沒有「一般」這個說法的, 所有的方案, 都要針對鏡頭來具體問題具體分析。 國內導演的特效化思路還是比較落後, 很多鏡頭, 並不只是「這個鏡頭特性能不能做」這麼直率單路的問題就能回答的, 而應該是說「這個鏡頭如果要特效來做,那麼應該怎樣做?」

3樓:

發射器發射粒子-調黏稠度/內外壓/重力場引數-生成mesh-拿mesh調成水材質-渲染合成

以上步驟可以生成統稱流體的東西。

我的demo有奶油巧克力蜂蜜水。引數大概如下

4樓:日日夜夜

三言兩語說不清楚看應用場景。真實感計算會比較嚴格,有遵循物理定義的公式,通過粒子(particel)模擬;實時繪製會鬆一些,有trick,有近似公式。

光是咋處理的?流體也有材質,也可以渲染,這個和渲染其它東西沒什麼區別。

可以參考:

3D動畫製作流程是怎樣的?

摩登影視傳媒 3d動畫分類有建築動畫,產品動畫,人物動畫等,模型的難易程度不一樣,做法也不一樣,第一都根據甲方要求先出文案編輯,文案通過後根據文案指令碼出鏡頭,然後說到3D軟體具體製作流程第一都是先建模型,然後貼材質貼圖,打燈光反覆調整測試渲染 給你幾個參考源吧 PIXAR有紀錄片 The Pixa...

256位元組3D程式是如何實現3D引擎的呢?

Mack 利用演算法生成資源的方式。有個第三方外掛程式substance也利用這種方式極大壓縮貼圖,可以使用他的材質庫或者工具生成貼圖,遊戲在執行時還原貼圖,極大的壓縮貼圖。和很多實時生成的大地形,無限種賽道等有些類似,利用時間換空間。 戴文宗 稍微補充下。這類效果和體積的Demo一般只會用到 ra...

如何看待《ULTRAMAN》的動畫化是3D風格而不是原來的漫畫風格?

日本動漫確實絕大多數確實是二維的,但近幾年二維和三維結合的例子也越來越多,我想是為了要節省作畫時間以及保證畫面當中所出現事物的連貫性,宇宙戰艦大和號2199 裡出現的機械全部都用了CG。機械類的東西一般都是較為精細的,如果是手繪的話那工程量實在浩大,你需要保證每個畫面當中出現機械的細節,畫面與畫面當...