---
# System prepended metadata

title: 動畫：火箭發射台

---

# 動畫：火箭發射台
![](https://i.imgur.com/FBkhxzH.gif)

接續前一次的主題，接著透過骨架、相機與粒子系統來製作火箭發射動畫。

## 骨架
- 建立Armature，調整bone位置和旋轉角度
- 將Support物件綁定至該Armature，分配權重
- 加入Rotation Constraint以方便製作動畫

在Support物件底部建立一個Armature，將之設為穿透顯示、並顯示軸向
![](https://i.imgur.com/M1t89Y5.png)

透過Extrude長出骨頭，建立main、rotate、hand_outer_0/1、hand_inner_0/1六根骨頭
1. 使用3D cursor來使骨頭端點都調整到在理想的位置。
2. 如果骨頭旋轉位置歪掉，可以按N打開輔助面板調整Item->Roll，或者按Shift+N重新設定
3. 如需重新設定parent關係：
   Alt+P為清除parent、Ctrl+P為設為parent（成為active者之children）
![](https://i.imgur.com/f9eO5Am.png)

調整完畢後，先選擇Support再選擇Armature，按Ctrl+P->With Empty Groups，即可綁定
綁定完成代表: 
1. Armature可以使Support產生形變
2. Support可以進入Weight Paint模式（定義如何影響、程度）
3. Armature可以進入Pose模式（決定某個影響狀態）

![](https://i.imgur.com/7upFVt5.png)
我們需要改變其初始定義（Empty Groups代表沒有定義）
在edit mode選擇欲影響的mesh，然後再到object data中assign給相對應的骨頭1的權重
![](https://i.imgur.com/CS5aspu.png)
將每個需要改變的部分都assign好權重
可以透過選擇Armature+Support後進入weight paint模式查看（按Ctrl+左鍵選擇）
![](https://i.imgur.com/4fRS8Sq.png)
進入Pose Mode，然後加入bone constraint以限制旋轉角度或縮放程度
![](https://i.imgur.com/MpSdIGp.png)


## 影格動畫與相機
- 改變屬性後按I插入關鍵影格
  - 如果在3D viewport上按的話，可以選擇想要interpolate的屬性
  - 如果在properties的值上按的話，會直接加入關鍵影格
  - 若想讓一切更動都成為關鍵影格，可以在timeline editor中間處打開Auto Keying功能
- 使用Timeline Editor控制動畫
  - 播放/暫停：Space
  - 前進/後退一格：左右鍵
  - 到開頭/結尾：Shift+左右鍵
  - 快速移動：左鍵點擊或拖曳（按住Ctrl可以以一秒為單位移動）
  
![](https://i.imgur.com/sFaTGRZ.png)

- 使用Dope Sheet Editor控制關鍵影格的行為
  - 使動畫變快/變慢：拉近/拉遠關鍵影格之間的距離，可以使用scale來縮放多個關鍵影格
  - 使動畫延遲/提早開始：左鍵拖曳移動關鍵影格
  - 改變動畫的預設平滑行為：選擇關鍵影格後按T，然後選擇自己想要的行為
  - 另外，如果想精準控制interpolation曲線，可以打開Graph Editor（預設沒有，要自己開）

![](https://i.imgur.com/er3go9N.png)

理解工具使用方式後，來開始練習製作分鏡動畫吧！
1. 建立數個相機，對其location & rotation加入關鍵影格來控制運鏡動畫
   （可以按N->View->Lock Camera鎖定相機視角，使用Ctrl+Num_0來切換不同相機）
2. 在pose mode下轉動/縮放Support的Armature來控制Support的動畫
3. 移動rocket body來控制火箭升空動畫

![](https://i.imgur.com/88719BW.gif)

![](https://i.imgur.com/OF5PIfh.gif)


## 推進器粒子（火與煙）
- 使用particle system來製作推進器的火焰與氣體
- 使用particle texture來控制粒子大小
- 改變base particle的材質來控制顏色與光亮程度

![](https://i.imgur.com/NuqZbqt.gif)

![](https://i.imgur.com/XJEPOvD.gif)


首先，將所有火箭的mesh合併（選取後按Ctrl+J）
接著建立一個圓盤放到火箭底部（可以從火箭的mesh複製），並將其設為parent
最後加入一段上升的動畫，以便稍後加入粒子系統模擬
![](https://i.imgur.com/sx5zXQZ.png)

照之前建立岩石的方法建立一顆小球（代表煙粒子），作為
然後選擇emitter，加入particle system（Emitter）：
- Render section（控制粒子外型）
  - 選擇render as [Object]，選擇該小球
  - Scale調整至合適的大小並提高一點Scale Randomness
- Emisson section（控制粒子系統模擬參數）
  - 將Frame Start設為上升動畫即將開始的frame、Frame End設為上升動畫結束時
  - 將Life Time設為合適frame數，並提高一點Randomness
  - 若硬體允許亦可提高Number，使煙粒子再濃一點

![](https://i.imgur.com/NC36BdV.png)

接著設定隨機旋轉
- Rotation（勾選）
  - 上半部設定控制初始旋轉狀態，記得勾選Dynamic
  - Angular Velocity部分控制各自粒子的旋轉受力，設為Random並提高Amount

![](https://i.imgur.com/IJBdEby.png)

接著設定粒子大小隨時間減少（利用Particle Texture）
[Stack Exchange Link](https://blender.stackexchange.com/questions/114300/how-to-affect-particle-size-over-time)

最後設定粒子材質隨時間變化（利用Particle Info Node，只在Cycles有效）
[Stack Exchange Link](https://blender.stackexchange.com/questions/8052/how-do-i-get-particles-to-change-color-over-time?fbclid=IwAR2DI4MHG_G59LDvpGN6PYmiCZC0Ek2eQJcTBj7PygVQHQdFjudVI9TiAFQ)

![](https://i.imgur.com/H8KTg3Y.png)


## 輸出設定（Cycles）
輸出動畫的基本步驟：
1. 在最上方工具列選擇要渲染的Scene和View Layer
2. 在Timeline Editor選擇Start/End Frame
3. 在Render Tab選擇渲染引擎
4. 在Scene Tab選擇使用相機
5. 在Output Tab選擇解析度、FPS、輸出格式、檔名
6. 按下Ctrl+F12（或者在上排工具列的Render->Render Animation）


以下是需要注意的設定：
- Render Property
  - Device：選擇顯示卡
  - Sampling：調整render的sample數，對於Low poly風格的動畫可以調低一點（eg.32）
  - Light Path：調整光線最高反彈次數，可以將default的12設為8
  - Performance：主要調整Tiles，渲染時的工作單位，若使用Nvidia的GPU可以設為32x32
- Output Property
  - Dimentions：Resolution底下的%代表最後解析度將會乘上的趴數
  - Output：file format選擇FFmpeg video，encoding選擇MPEG-4，video中的品質視情況而定
- View Layer Property
  - 勾選Denoising，由於Cycles是採用ray tracing演算法，會產生噪點

若需要更詳細的渲染設定資訊，這邊提供兩個參考
https://www.youtube.com/watch?v=zqK4m8a52U8
https://www.youtube.com/watch?v=eIHbzzvwQWo

關於Cycles渲染加速，可以參考：
https://www.youtube.com/watch?v=8gSyEpt4-60

