2026/01/09

Image-based colored smoke 用貼圖控制煙霧顏色


by Hammer Chen

Creating an image-based colored smoke is pretty straightforward with Phoenix FD. Here are three key steps you need to know:

1. Output RGB channel
Check RGB checkbox in the output section


Fluid color mixing with Phoenix FD 牛奶巧克力混色教學


by Hammer Chen

Phoenix FD allows you to mix the liquid with different RGB color, chocolate, and milk for example. Here are few steps you can follow:

1. Out Grid RGB Channel

2. Set two of your LiquidSrc with different RGB color. In this particular example, I set my milk LiquidSrc with black RGB color and white for chocolate.

Fruit explosion using turbulence 亂流產生水果爆炸


by Hammer Chen

How could you explode a liquid in CG? The most intuitive approach is to put a gravity in the center of orange with a negative value. Here we use Phoenix FD Turbulence to agitate the liquid, making it spray out.

Create one Phoenix FD Turbulence in your scene and animate it's size and strength multiplier.

Creating a shockwave with Phoenix FD 衝擊波特效


By Hammer Chen

This tutorial is requested by one of our users who said that it was difficult to create a shockwave with Phoenix FD. Here, I am going to explain the critical step that he might miss.

This is my scene setup: a Pflow (PF Source) in the middle, spreading out particles horizontally; a PhoenixFD Fire / Smoke Simulator; and a Phoenix FD Fire / Smoke Source (PHXSource) that picked up the PF Source in the scene.

Making of Fruit Explosion 水果爆炸特效教學


By Hammer Chen, Kristin Ivanova

In this article, I show how to create a fruit explosion with Phoenix FD for 3ds Max. The fruit explosion consists of two fruits colliding at a high speed, then they smash and their juices splash out.

For the purpose of illustrating this article, we’ve shaded the fruits to get a tomato-ye look. However, the shape and shaders of the two geometries can be customized to your liking to get whatever kind of fruit you want to smash We don’t focus on the shading information of the fruits here..

The most challenging part of this animation is the fruit mesh smashing. Instead of softbody or cloth simulation, I use 3ds Max's Morpher Modifier and keyframe the splitting fruit meshes. I avoid using any softbody/cloth simulation in this tutorial, because it is difficult to control the results. By keyframing the animation, you have full control and are able to add layers of detail.

Since the mesh motion purely relies on keyframe animation, it is crucial to find the right reference footage to align with. You could search for keywords like "high speed fruit" or "fruit explosion." Or you can go through any stock footage sites. Once you find a good footage, load it in 3ds Max. This way, you can align your keyframe animation to the footage in the viewport accurately.


1. Fruit geometry deformation
Based on observation from reference videos, I concluded that one basic fruit mesh and four different deformed meshes would be enough to recreate the fruit splitting effect. Start from modeling the basic shape. The fruit is modified from a simple sphere and the mesh is split as shown in the image above. All other four deformed meshes are derived from this basic mesh. This is to make sure all five geometries have the same topology and can be used as morph targets later.


We duplicate the basic mesh into four other meshes.. By moving the vertices or adding modifiers on top, we create four different deformed fruit meshes: split, bump_shape, dent, and FFD_deformed. These four geometries represent the various stages of changing the shape of the fruit during the collision. Add a Morpher modifier to the basic mesh and load up the four geometries as morph targets.

Fruit splashes with Phoenix FD 掉落水花效果

by Hammer Chen

Ever wanted to create high-speed fruit splashes photography in 3dsMax? With Phoenix FD, it might be much easier than you thought.

A. Rigid body dynamics with PFlow
Once your 3D fruit geometry is ready, import it into your scene and layout your objects like this:


You could create a basic MassFX Pflow by right click on your PFlow / New / mParticles Flow

Procedural ground dust with Phoenix FD 程序性產生煙塵


by Hammer Chen

It will be a very tedious job if we have to mannualy adding smoke emitters at each hoof of horses.

Fortunately, with the help of VRayDistance map, we could generate ground dust more procedurally. Here we have one single Alembic file containing hundreds of animated horse and one ground plane.

Phoenix FD Maelstrom tutorial 漩渦教學


By Hammer Chen

(This Tutorial was disapproved by my supervisor cause it take some tricks and might not be physically accurate maelstorm. Anyway, today I share it here for those who need it.)

This tutorial will show you how to make a big whirlpool with Phoenix FD. Instead of using a 3dsMax standard vortex force, we will design a particular geometry (a large funnel), and an array of emitters sit on the edge of a funnel, creating an artificial whirlpool. The idea is inspired by the Giant Whirlpool outside Marina Bay Sands Hotel, a Singapore attraction. We will also simulate Foam, Splashes, and Mist. A ship was also placed in the scene, and we set keyframes for the ship, and created a realistic whirlpool.

This method is excellent for a close-up shot, highly detailed whirlpool, but it might not be suitable for making whirlpools on an infinite ocean. For maelstrom on an infinite ocean, we will prepare another tutorial using 3dsMax standard vortex force, which is perfect for a wider shot.


1. System Unit
The funnel geometry in this tutorial is about 1650 cm in diameter, and the length of the ship is about 235 cm, so we use centimeters as our system unit.



2. Animation Length

Set the animation length to 300 in Time Configuration. Because it takes a few frames until water flood covers the whole surface of the funnel, the actually usable animation is ranging from frame 190 to frame 290.


3. Scene Layout

There is a ship in the scene; its size is about 238 cm in length. A funnel with a diameter of 1650 cm. A sphere with a radius of 99 cm, and placed right below the funnel. We also use this sphere as the source of the Body Force, letting the liquid flow down the funnel, and also attracted by the Body Force, like a sinkhole. There are 16 Boxes arranged along the edge of the funnel. The emitting direction is tangent to the side of the funnel so that the liquid flow forms a whirlpool naturally. A LiquidSrc, select 16 boxes as the source. The three Particle Shaders for Splash, Foam, and Mist respectively. We also created a Cylinder that can be used as a liquid Cutter Geom at the edge of the funnel, which cuts off the liquids and particles we don't want.

Creating Fluid with FollowPath in PhoenixFD 流水特效

by Hammer Chen

For most of Phoenix FD users, you probably aware there is a helper called PathFollow comes from Phoenix FD. It allows your fluid (water or smoke/fire) moving along a spline. But if you leave its parameters as default, there are high chances you get this cucumber shape of water stream:


The key to making your water stream looks realistic is introduce falloff to the FollowPath. To do so, you can also use Phoenix FD 's Force Preview while tweaking the force:

Noted the color difference at the edge of the spline, you see a beautiful red-to-blue transition of that force strength.

Making of Fire Trails 火道與火焰特效教學


By Hammer Chen, Gergana Lilkova

This is a kind of request tutorial. Many people have been asking me how I created a burning car in my previous "Burning Car RnD" video. It was done with fuel-based burning. The fuel starts to burn when the temperature reaches its ignition temperature. Fuel-based fire gives you a realistic burning effect; however, the fuel itself is a fluid, meaning the fuel will flow all over the surface. The overflow of fuels is harder to control and might cause undesired results.

In this tips & tricks article, I am going to show you an alternative method for creating a growing fire, based on an animated mask. The mask is generated with VRayDistanceTex from an animated box. Since we have full control over how far and how fast the mask expands, the fire is more directable than fuel-based. This method is more practical for production. That's why I prefer this technique.

Though I am using fire trails as an example, the same concept can be applied to many other burning effects - like a burning watchtower, a burning paper with the flame growing on a path of a letter, etc.

Overall setup. The fire is emitted from the plane on the ground. To control where the fluid is to be emitted, we place an animated box on top of the plane. The box is then added to the VRayDistanceTex object list. The VRayDistanceTex is a V-Ray specific procedural texture that returns a different color based on a point's distance to an object(s) specified in a selection list. So this procedural texture can be used in the mask slot of PHXSource. This way, we can direct the growth of fire simply by keyframing the box.

2026/01/08

Phoenix FD Variable viscosity 可變黏度

 

By Hammer Chen, Kristina Gaytandzhieva, Kristin Ivanova

This scene is actually a small test I did back in 2018, for variable viscosity - a new feature of Phoenix 3.10 at the time. I found this scene in my drive while I was looking for my previous works. Some people liked it, so I decided to share how I set up the scene.


Final animation


Scene setup
The simulation setup consists of a highly viscous liquid which is emitted from a teapot.
The emission was masked by using a Stucco texture, so the yellow-slimy liquid seemed to come out from small pores on the teapot. I used the same texture to map the viscosity of the Liquid source. To make the animation more interesting, I assigned a Waveform controller to the Outgoing Velocity of the liquid source. A V-Ray Dome light was used for the lighting, the HDRI is from Chaos Cosmos (Studio 002).

Car Explosion with Phoenix and tP 汽車爆炸製作教學

 

By Hammer Chen, Kristin Ivanova

In this article I put everything I learned about thinkingParticles and Phoenix explosions together. Car explosion is my go-to scene setup as it contains some key components: 
  1. Car rigid body simulation: hinges joint for car doors and spring joint for car suspension 
  2. VolumeBreaker for shattering glasses
  3. Fire and explosion with Chaos Phoenix, using thinkingParticles; particles are used as fluid sources. 
Once again, with this setup I cover all the essential components for a basic but convincing car explosion. 

Final animation

Here are the key steps for setting up the scene. Though I use thinkingParticles for the particles/dynamics effects, the concept is applicable even when using other particle systems such as PFlow or tyFlow, for some parts of the scene setup at least. 

Although the tips and tricks I convey here are pretty straightforward, the actual setup can be rather complex. You need some basic knowledge of thinkingParticles and Phoenix to begin with.

A Solid car model

Nuclear Bomb Explosion with Condensation Rings 核爆與凝結環製作教學


By Hammer Chen, Kristin Ivanova, Slavina Nikolova

The last blog  post “VrayVolumeGrid and Nuclear Explosion” talks about how you can create a nuclear explosion on the ground. But how about a nuclear explosion in a humid sky? In this proof-of-concept setup, I show you how to create nuclear condensation rings with Phoenix, simply by brushing out some smoke from manually arranged Tube geometries. The cloudscape below is also simulated with Phoenix.

How exactly do these condensation rings form? The condensation cloud, also known as a Wilson cloud, is formed by transit water vaporization around the nuclear blast. 

When a nuclear weapon or a large amount of a conventional explosive is detonated in insufficiently humid air, the "negative phase" of the shock wave causes a rarefaction of the air surrounding the explosion, but not contained within it. This rarefaction results in a temporary cooling of that air, which causes a condensation of some of the water vapor contained in it...Wikipedia

References


I searched for nuclear explosion images on the internet and there are some interesting rings around the nuclear fireball in these photos. Most of the bombs were detonated in the sea, where the humid condition facilitates the formation of condensation clouds.

Overall setup


Let's see how to set the scene. It contains four Fire/Smoke Simulators: 
  • the nuclear bomb explosion itself that simulates the rings, too (PhoenixFDFire-Nuke), 
  • the cloudscapes (PhoenixFDFire-Cloud), 
  • the fog that covers a larger region (PhoenixFDFire-fog), 
  • and the lower fog (PhoenixFDFire-fog-lower). 
Only the PhoenixFDFire-Nuke Simulator and the PhoenixFDFire-Cloud Simulator are actually running the simulation. The other two just have their Volumetric Options tweaked, with no simulation involved.


Let's try to match the real explosion as close as possible. The end result of the simulation fireball is around 520 meters in diameter, which is very close to the size in a reference image.

The nuke explosion serves as a light source in the scene. I don't add any other lights to the environment.

2026/01/07

Termbase for 3D CG articles 電腦動畫文章翻譯資料庫

這篇文章延續了我兩年前被 Chaos Group V-Ray 辭職一事所寫的內容,但這次我想把重點放在 3D CG 相關文章的翻譯詞彙資料庫上,因此才會下這樣的標題。

首先我要說明的是:我在 Chaos 的前主管 Claudio Meireles(CI Mei)在兩年前開除我時,完全沒有進行任何職務交接。所謂的職務交接,至少應該包含以下幾個項目:

  1. 確認在該公司的各項帳號(包含 YouTube 帳號)權限已確實取消
  2. 要求該員於任職期間所累積的相關資產進行提交
  3. 對接替職務的員工進行必要的教育訓練

以上三項,我的主管 Claudio Meireles 一項都沒有做到。我當時還特別提醒他,幾乎九成以上在中國發表的文章都是由我翻譯完成的,而 Claudio 回覆我說,未來 Chaos 不需要再把文章進行中文化。事實上,在我離職之後,Claudio 仍然讓趙樹森(Shusen Zhao)繼續接替我的翻譯工作。

在我任職 Chaos 的七年期間,我翻譯了大量技術文章、新產品與新功能的發表內容,以及數小時以上的教學影片。剛開始時,翻譯工作完全是以人工方式進行;後來為了提高效率,我開始把常用的專業詞彙整理成表格。長期累積之下,便能透過自動化的 script,快速修正電腦翻譯,甚至是 AI 翻譯可能產生的錯誤。

這篇文章的目的,就是要介紹這個 3D CG/動畫相關文章的翻譯資料庫架構與內容。當然,我不會完整公開整個資料庫,而是希望將資料庫中所包含的詞彙類別加以整理與說明,在這個 AI 翻譯當道的時代,嘗試找出一條人類仍然具有價值與角色的方向。

1. 首先是「我們的……」這一類用法。英文中非常常使用所有格,因此在自動翻譯的結果裡,常常會出現「我們的……」「我們的……」不斷重複的情況,但在中文閱讀時就會顯得相當彆扭。翻譯資料庫中收錄了大量這類詞彙替換規則,例如將「我們的 GPU」直接取代為「GPU」。

2. 翻譯本身正確,但不符合台灣的慣用法。例如將「寬高比」改為「長寬比」,把「小貼士」改為「小竅門」。所有偏向中國用語的表達方式,也都可以歸類到這個類別中進行統一調整。



2025/12/03

From Gaea to 3dsMax 輸出貼圖與模型快速教學

 

最近趁特價購買了一套專業版的QuadSpinner Gaea 2.2。這是地形產生軟體。最大的好處是他有很多sample scenes可以直接拿來修改成自己要的,算是非常容易上手,效果也很專業。


Gaea 官網上還有AI宣言,宣布他們不會導入AI功能。這在瘋AI的世代裡面是非常不簡單的,我覺得他們算是腦袋清楚的軟體開發商 (不像某愚蠢的渲染軟體高層,以為AI就是寶)。為什麼我會反對軟體商轉向AI呢? 答案並不是AI本身的問題,問題在於AI不是你的本業。當今的AI公司是基於幾十年的經驗與開發才會在最近開花結果,如果軟體公司高層決定要轉向AI為主,那憑什麼贏過十幾年前就起跑的AI公司? 當然我不反對傳統的軟體公司利用AI來寫code,debug,但把自己當作是AI公司來搞那絕對是自殺的行為。


扯遠了。這篇主要是講從Gaea輸出貼圖與模型到3ds Max的關鍵步驟。開啟任意sample scene後,在你想要輸出貼圖的節點上按右鍵 / Mark for Export,這樣可以標註要輸出那個節點的貼圖。 通常你會想要輸出color map, normal map與mesh。


輸出mesh需要額外添加Mesher node。 但是你不能亂接。通常場景複雜的節點串,是由創建地形的模型開始,然後以替模型上色的節點為結束。Mesher node要接到跟模型本身有關的那個節點串結尾 (本例來說是Erosion2 node)。這樣輸出的模型才會是正確的,如果你直接接到節點串的尾巴,那麼export的mesh會非常地noisy。

Mesher node裡面記得勾選Create UVs,這樣才能正確地上貼圖。

再來談Normal map的輸出。一樣要自行添加Normal node,然後接到最多模型細節的那個節點串。

Normals type選擇Detail,用來表現細節。

一切就緒,就可按下Build。設置Resolution貼圖解析度。注意Indie版的最高只能輸出到8K解析度,因此建議您升級到Professional。

後記: 寫了這麼多,我覺得這樣的輸出設置還是太麻煩了,應該要再更簡化成統一的export介面。

2025/10/28

Phoenix FD以Particle為Source的技巧

今天來談談以Particle作為Phoenix FD的Fire Smoke Source的技巧。一般來說我們會用幾何體的某個表面來作為Fluid Source,但是在某些情況用particle作為來源會更好。

比方說飛彈的拖尾煙。因為飛彈往往飛得很快,如果只用飛彈的幾何體的話,必須要很高的Steps per frame才能產生不會斷斷續續的煙霧。這樣模擬會非常沒有效率。

如果是用particle的話,可以用其life span來控制拖尾的長度,因此SPF就不需要這樣高,會更有效率進行模擬。

還有一點要注意的是,Phoenix FD的Source mode有三種模式,其中Volume Brush會更適合用在拖尾煙效果。預設的Surface Force Mode並不好控制,效果也比較不好。

而在以Particle作為Source時,其中最重要的參數是Custom Prt Size,用來控制Src的粒子大小。在決定這個數值到底要多大時,可以參考Simulator的Voxel Size。可以用Vozel Size為基準點然後調小一點。也就是說Grid resolution會明顯地影響你需要設置Custom Prt Size的大小,這點要特別注意。



2025/09/20

Exclusive Distributor 獨家經銷商,英語小教室

今天想談談一個詞 —— 獨家經銷商(Exclusive Distributor)

有一次,某國外原廠派了一位區域經理來台灣拜訪幾家軟體經銷商。我就姑且稱他為 A 經理吧。那次拜訪行程為期數日,拜訪不只一間經銷商。某一天,A 經理私下透露,他打算讓某家經銷商成為該軟體在台灣的「獨家代理」,也就是獨家經銷商。我心想,如果是真的話,那家公司應該會很高興吧~

事實上,台灣有不少軟體代理商都希望能拿下獨家,有些甚至私下暗示我可否提前透露些什麼。但那時候身為原廠員工,我從頭到尾都守口如瓶,這是基本的職業道德。而現在回想起來,我想說的是:A 經理口中的「獨家經銷商」事實根本就是空話一場。

軟體原廠在業務上是極其現實的。最終仍是看銷售數字說話: 誰賣得好,就給誰最好的條件與折扣。或許表面上有等級制度,但那也只是反映你賣得多寡罷了。

所以我認為:應該學學SideFX Houdini,對軟體使用者直接銷售,線上購買,也不會有那麼多中間繁雜的事,把花在中間商的成本回饋給終端用戶。

2024年的奇異經歷:從獎金到與Chaos解約(二)

這篇是2024年的奇異經歷:從獎金到與Chaos解約(一)的續集。讓大家知道Chaos V-Ray是如何以不專業的方式進行裁員。分享的目的是希望各位讀者能夠在遇到類似的遭遇能夠比我有更好的應對與準備。

上一篇談到經過一番波折,我終於從Chaos V-Ray拿到最終版離職協議書(Cancellation Agreement)PDF檔案! 收到文件的確切的時間是2024年5月30日,這時候我開始要正式處理離職後的手續。要把前公司配的筆電寄到保加利亞,因為運費是要Chaos V-Ray出的,所以跟一般的DHL國際快遞有點不同,我需要拿到Chaos給得對方付錢的認證碼給在台灣的DHL,這樣才能避免自付運費。

因為前主管 Claudio Meireles (CI Mei)的種種惡劣行為,我那時候就已經對Chaos V-Ray印象很差了,希望能夠趕快擺脫這家公司,因此很迅速地就把兩台公司的筆電打包,連同簽好名離職協議書文件,以DHL國際快遞寄出。這兩台筆電可不便宜,當初是為了跑Phoenix FD流體模擬,其中一台還為了Vantage的即時光跡追蹤,配有昂貴的RTX顯示卡。兩台筆電的規格如下:

Lenovo ThinkPad P51 聯想電腦 行動工作站 總價格台幣93051元

-Intel Core i7-7820HQ vPro MB

-NVIDIA Quadro M1200M 4GB

-64GB(16x4) DDR4 2400 SoDIMM

-512GB SSD

- 外加1年延長保固


Lenovo ThinkPad P17 Gen 1 聯想電腦 行動工作站 總價格台幣177050元

-Intel Core i7-10750H

- NVIDIA Quadro RTX 5000 16GB GDDR6 256

- 128GB(32x4) DDR4 3200MHz SoDIMM

- 256GB + 1TB 固態硬碟

- 外加1年延長保固


這兩台筆電總價大約是27萬台幣 (匯率差一點也有25萬台幣),說實在在寄的時候會有點怕怕的,擔心中間出了什麼差錯要我賠償 (沒錯我已經完全不信任Chaos Group V-Ray這家公司),所以特地全程錄影加上拍照,把包裹打包的過程全部存證。用DHL寄件中間還有很多雜七雜八的Waybill文件要填,Custom海關之類的,還要請人來收件說真的搞到煩都煩死了。還好最終完成了。

包裹寄出後大約10天,我所擔心的事果然發生了!

Chaos負責郵件收發的Evelina Bacheva女士竟然寫email給我,說她收到包裹了,但是沒看到離職協議書文件,她給我的照片是以MSI Prestige紙盒的包裝,這根本就不是我寄給Chaos的包裹。如果以2024年最頂級的MSI Prestige系列筆電來估算,該筆電的價值落在台幣4萬5千至7萬之間。 如果真的是這樣,損失昂貴的筆電不說,裡面最重要的離職協議書竟然不見了?!

收到這封email我當下心臟停了半秒。心情平復後,去找我預先拍好的包裹照片(還好我有這樣做),寫email回覆給Evelina女士。


儘管Evelina女士在收到我email後沒多久就告訴我更正後的訊息,但這件事又更加深我對Chaos Group V-Ray管理層鬆散的印象。先是請假系統壞掉了,讓我不能用線上系統請假,接著說員工評鑑系統Peakon壞掉了,讓我無法對主管提供意見回饋,然後連續好幾個月的薪水延遲發放亂說我在另外一家公司借了什麼硬體要歸還,然後是這件事--- 明明是價值至少25萬的筆電卻寄給我MSI Prestige紙盒照片?! 

呼~ 把前公司的筆電寄回保加利亞,算是告一段落了(吧?)。

同時間,也就代表我還需要花錢另外買一台新的電腦,這樣我才能無縫接軌地持續工作與產出。玩流體模擬的電腦可不便宜。而這種高容量的記憶體,特製的筆電往往不是下訂後就馬上拿到手,很快地我就下訂新的筆電。 我離職的波折就到這裡應該就結束了吧 (笑) ? 待續....

2025/08/12

笠原弘子 - Good morning pie 中文歌詞

 


自転車じてんしゃごとカゴなか
腳踏車連著籃子裡的生菜和長麵包一起搖晃
レタスながパンゆれてる
昼前ひるまえ並木なみき
中午前的林蔭道,在昨晚雨停後閃閃發光
ゆう雨上あめあがりひか
あさよわかれ まだゆめなか
不擅長早起的他,還在夢裡
おはよう Kissはい
帶著早安之吻,去做早午餐吧
ブランチつくいこ

2025/08/11

笠原弘子 - Tea for Me 中文歌詞

 



おも つまびい
輕輕撥動回憶

秋空あきぞらまち ひとり
一個人走過秋空的街道

つよがる自分じぶん
對逞強的自己也…

ころ かぜ
感到厭倦的時候,風吹起來了