Showing posts with label thinkingParticles. Show all posts
Showing posts with label thinkingParticles. Show all posts

2025/03/27

thinkingParticles的衰退:曾經的特效外掛之路

如今,幾乎沒有多少人在使用 cebas ThinkingParticles(簡稱 tP)了!曾經的 tP 高峰大約是在2009年,當時由 John Cusack 主演的災難電影《2012》震撼銀幕。這部電影的特效震撼人心,而最令人驚訝的是,這些效果大多是利用 3ds Max 完成的,儘管水的模擬部分是使用其他技術製作的。在那時,能在 3ds Max 環境中使用 tP 這個外掛來創造電影級的特效,無疑是非常吸引人的。尤其是電影中的地震場景,通過 VolumeBreak op 切割幾何體,模擬房屋與地面的破裂,效果非常逼真。

這部電影不僅改變了特效產業,還促成了許多特效人才的崛起,許多人後來創辦了自己的特效公司,比如 Hristo VelevBottleship VFX。他還錄製了極具價值的 ThinkingParticles 教學 DVD,造福了廣大用戶。而我本人也曾撰寫過一本針對 tP 的實體書——《3ds Max視覺特效大製作:ThinkingParticles業界特效完全解密》

總之,tP 曾經有過輝煌的歲月。但這款曾經風光的特效外掛為何會逐漸式微呢?以下是我認為的幾個主要原因:

2020/07/26

VolumeActivate配合VolumeBreak製作摔盤子


文 / Hammer Chen

這個部落格已經很久沒更新了,決定要來把一些重要的場景檔拿來做教學文件。這個例子裏面,利用thinkingParticles的VolumeActivate Node,讓在物件(盤子)與地面(floor)碰撞的點,程序性地產生碎裂效果。用VolumeActivate配合volumeBreak Node的優點是 - 不是整體碎裂,而是根據撞擊點觸動(activate)碎裂,可以產生更寫實的碎裂動態效果。

整體群組流程是:
object(盤子)=>frag(第一次碎裂)=>more_frag(第二次碎裂)

2019/01/06

利用thinkingParticles製作破碎的玻璃杯教學

 
文 / Hammer Chen

本文將介紹常見的玻璃杯碎開的效果,利用thinkingParticles計算碎裂與rigidbody。

1. 首先,場景有一個玻璃杯,一個地板。四個dummy,其中兩個dummy用來控制球的速度方向。另外兩個靠近玻璃杯的dummy用來產生粒子(稱為impact),我們在之後的步驟會利用impact的粒子來控制volumeBreaker對玻璃杯的切割。

2018/12/26

用thinkingparticles做random horizontal的速度

做粒子特效的時候,水平隨機速度(random horizontal)是很常見的設定。例如shockwave或blast都需要這樣的速度類型。

2016/08/27

details for section斷面的細節

筆記 / Hammer Chen

thinkingParticles預設的volumeBreak切面太平滑。以下是網路上找到的幾個讓破碎斷面產生細節的技巧

2015/11/28

thinkingParticles payment tutorials

Inspired by "houdini tutorial database", here I make a list of thinkingParticles payment tutorials and it's table of contents. Easy to find them when you need to learn specific topics. Click on the link to buy it.

Allan Mckay Production FX Vol-1

1. Introduction
2. Layout + Pre-viz
3. Dynamics 1 + Fracturing
4. Dynamics 2 + Advanced Thinking Particles Setups
5. Dynamics 3 + Advanced Destruction & Secondary Effects
6. Pyrotechnics + Explosions with Fume FX
7. Pyroclastic Clouds and Heavy Dust with Fume FX
8. Additional Pyro FX
9. Secondary FX and Finishing up Particles + Fluids
10. Advanced Dynamics and Polishing Dynamic Set-Ups
11. Thinking Particles Procedural Impact FX
12. Fume FX Missile Trails
13. Summary 

2015/09/16

thinkingParticles 6的FlowSolver流體解算器

編譯 / Hammer Chen

thinkingParticles 6提供全新的流體解算器,可用來計算液體動態或是煙霧,雖然目前還不能跟FumeFX或是Realflow相比,但用在群體動態例如海裡的魚群,天空的飛鳥等似乎還蠻適合的。

tP 6的流體計算主要是透過這三個operator: FlowGroup, FlowBoundary與FlowSolver。三者雖沒有相接,可是讓其產生作用,必須要產生這三個。然後在其中選取彼此。

  • FlowGroup 是被作用的粒子,例如魚群
  • FlowBoundary 是負責碰撞來源,例如海中的珊瑚礁
  • FlowSolver是流體解算器,用來進行真正的計算

2015/09/10

用thinkingParticles 6模擬飛起的紙張


文 / Hammer Chen

本教學將介紹如何利用thinkingParticles 6模擬出紙張被風吹起的效果,效果是仿效 Adrien Rollet先生的"Houdini - Papers Cloth Simulation"的效果。請注意本教學需要有基本的thinkingParticles知識,不適合完全初學者。

English version of this tutorial please click HERE.

2015/09/07

thinkingParticles inMesh tricks

by Hammer Chen

(This article is based on thinkingParticles sample scene file "inmesh.max") Imagine you have particles scattering on floor, a moving sphere pass through the floor. You want particles outside of sphere color red, those inside of sphere color blue (with inmesh operator). If you only use one inMesh operator, those particle remain blue even if they are not longer inside of the sphere. You need two inMesh operators to control those who inside sphere shows in blue color, once they are outside of sphere, turn back to red.


Those outside particles once inside of sphere mesh, put them in "inside" group

2015/09/05

thinkingParticles 6 SoftBody基本設置



文 / Hammer Chen

Bullet Physics之賜,thinkingParticles 6可以模擬soft body效果(紙片、布料、氣球、布丁之類)。這裡根據原廠範例檔(Elois Scenes / paperplanes.max) 整理關鍵的基本設置。

2015/06/19

thinkingParticles tips and tricks 技巧補遺(一)

文 / Hammer Chen

這裡整理一些tP零碎但又重要的技巧。


這邊如果你沒有添加Particle Age的條件,也就是只在Born 的時候套用Velocity  那粒子的Velocity 會override Gravity的效果(如果之間有加gravity的重力), 這樣粒子就會以直線前進。


這樣接的意思是每一個粒子的都是介於Value 1與Value 2之間的隨機速度 (Speed)


這邊Float填入的是78,表示隨機的範圍是由-78~78之間的數值,因為Value1前面有加了一個InvertOperator 。



啟動一個事件同時關閉一個事件透過Invert

Life Span = 壽命
Age = 年齡
Age / "Life Span" 得到的數值隨著時間會越來越大,所以速度也會越來越大。(初速度為零)

 粒子隨著時間越變越大。這裡Age / Life Span,假設壽命為50,那麼隨著時間 0/50,1/50...50/50這樣的序列,也就是數值越來越大,逼近於1,最後的數值剛好等於1。輸出的數直接到ValueToTime,

將0-1的數值轉換成0-100的time,time的意思是frame,我們對Size設key由0-100,這樣就可以產生粒子漸漸變大的效果。


當粒子在z軸座標為0的位置 (相當於地板) 就會被殺掉。Threshold設為-9999 , 0 勾選inside 意思是z軸數值在-9999~0之間,就啟動Particle Die


兩個條件(InMesh與Light)同時成立,才會丟到下一個群組

DirectionPosion的差異 :
如果接到Direction的話,所有粒子都是往同一個方向 (Node的方向)
如果是接到Postion的話所有的粒子都會往單一個點移動 (Node的那個點)


Position Follow 可讓粒子跟隨物件。如果把模式改為Spring 設定Laziness 高一點就會有延遲的效果 。


沿著路徑移動 Speed直接控制粒子速度 ,當粒子走到末端就會停住所以你要增加其他條件。對速度增加一個Threshold控制當速度到達0以下就把它殺掉 。





Node有Particle Shape可吃到粒子形狀的資訊,所以新生成的粒子可以自前一個粒子的形狀表面發射。


VolumeBreak op的output只有Born Particle,可使用Particle Data Helper (綠色的),可以暴露出Particle Size的資料。 Particle Data還有另外一個是橙色,但功能不同。


透過Particle Data (橘色)可以給予粒子Life Span壽命的資訊



點擊右鍵Show in track view 可顯示出Float的keyframe曲線 


在官方檔案中surface_follow2_m9.max 可做出簡易的群體動畫效果。其中Rolling  op可以做出物件在表面移動時,同時有滾動的效果。



在官方檔案中radial_cylinder force.max 可僅利用Force就做出螺旋力場的效果,透過Radial Cylinder的選項。


如果希望粒子隨著時間漸漸消失,可接上Material Time,其中套用的材質對Opacity設key然後在Material Time  Slot中填入keyframe的結束點,本例為20


自表面生長的另一種串法


範例檔SurfaceDeformFollowshakeOffMax9.max 做出甩掉羽毛。在Follow上可以讓羽毛follow身體的表面,然後偵測其Velocity,當達到特定範圍就丟到另一個群組。


讓起始的instance geometry都旋轉方向都隨機 ,是不是一直旋轉 。透過接上Particle AgeBorn來達成 。



自中心朝外發射 ,利用Distance產生方向 


當粒子到達某個速度 就定速 ,由Float控制。

2015/06/02

color from texture map - thinkingParticles 自貼圖取得顏色


文 / Hammer Chen
常常我們需要讓粒子自模型表面生成,但同時要帶有模型貼讀圖的顏色,簡單講就是用貼圖來控制粒子的顏色。在thinkingParticles中有兩個方法:

A. 利用MatterWaves op來取得模型貼圖顏色


B.利用TexmapColor op來取得顏色資訊。這裡的Std Shape套用具有Vertex Color map的material


2015/06/01

delete overlapping - thinkingParticles刪除重疊粒子

文/Hammer Chen

這是經常會遇到的問題,如果粒子自模型表面或是體積內生成,不免會產生重疊的粒子。若是這些粒子是蘋果,彼此之間有碰撞,重疊便會是一個大問題。例如前一篇教學"N次貼的效果",N次貼在牆面隨機分布,會有重疊的問題。

可以利用PPassAB接上Particle Die,刪除彼此某距離內的粒子。

2015/05/31

Post-it effect - thinkingParticles



by Hammer Chen

N-次貼隨機地貼在布告欄,一位美女走過去後,N-次飛到人身上黏住。像這樣看起來有點複雜的效果其實三個dynamic set就可以做到了。


thinkingParticles - BringTo注意事項

tP的BringTo可以把粒子由物體A移動到物體B,但是常犯的錯誤是忘記接箭頭所指的,如果忘記接,粒子到達目的地時會開始亂跳。

2015/05/30

Fragment做簡易的生成效果 thinkingParticles


像這樣茶壺由無往上隨機生成,其實用Fragment op就可以輕易做到。對Threshold設key,設點Variation,Sorting選Bottom-->Top,自然就會由下往上生成。只是這樣的預設效果會有點呆板。


2015/05/29

Reconstruct an object from debris - thinkingParticles

Hammer Chen

This is a very common effect yet a bit difficult to create. Basically is by using "memory" operator to memorize object's initial position, and then use "BringTo" to reconstruct it.

2015/05/24

thinkingParticles 動態地交換粒子球

作者:Hammer Chen
前一陣子做的案子需要動態地交換粒子,如上圖左邊黃色的球跑到右邊,右邊白色的球跑到左邊。粒子之間要有碰撞。

最終效果:



2015/05/23

Burning box - thinkingParticles and FumeFX

Hammer Chen

This tutorial I am going to show you how to create a burning box procedurally with tP and FumeFX. The final effect seems complex but actual setup are quiet simple. I assume you have basic knowledge of FumeFX and thinkingPartciles in order to follow this tutorial.

2015/02/12

thinkingParticles控制位置產生波動效果

最近在測試用tP製作波動效果,基本上就是自中心點讓粒子在Z軸上下移動,最終的效果像水波擴散開來的效果。在Cristian Pop先生所寫的教學How to Create a Dancing Particle Effect using 3ds Max and Thinking Particles,裡面的方法是用黑白貼圖控制粒子的位移,這個方法比較不能用在通用的地方,因為粒子必須要自某平面(帶有UV)才能使用。