1. 先畫人的動作 做像醬子的連續圖

    girl_flip.png

  2. 在放到專案資料夾後,對他點右鍵 [ Sprite Action > Extract Sprite ] 把圖檔各自拆開

    Screenshot 2025-09-05 at 5.30.08 PM.png

  3. 會進入到這個介面,一般來說直接按Extract就好

    Screenshot 2025-09-05 at 5.37.04 PM.png

    如果不滿意可以在右邊選單切換成手動切割

    如果不滿意可以在右邊選單切換成手動切割

  4. 切割完的獨立圖片全部選取後右鍵 點選Create Flipbook

    Screenshot 2025-09-05 at 5.45.17 PM.png

    Screenshot 2025-09-05 at 5.45.33 PM.png

  5. 如果動畫怪怪的可以進入 Flipbook 和 分開的圖檔 調整

    Flipbook介面底下可調關鍵幀

    Flipbook介面底下可調關鍵幀

    分開的圖檔可調 Pivot Mode 改變對其的中心點。另外 Pixels per unit記得按旁邊箭頭調回預設值

    分開的圖檔可調 Pivot Mode 改變對其的中心點。另外 Pixels per unit記得按旁邊箭頭調回預設值

  6. 再來建立角色的 Blueprint。在資料夾右鍵找到 Blueprint Class,底下搜尋找到 PaperZD Character

    Screenshot 2025-09-05 at 6.06.18 PM.png

    Screenshot 2025-09-05 at 6.07.24 PM.png

  7. 右鍵點擊剛剛建立這個藍圖的子藍圖 Create Child Blueprint Class。這個功能可讓所有角色繼承主藍圖的程式,方便製作、統一管理及修改。而目前建置的工作都在主藍圖

    Screenshot 2025-09-06 at 1.42.35 AM.png

  8. Blueprint 打開後把剛剛建立的 Flipbook 加進右邊的 [ Sprite > Source Flipbook ]

    Blueprint 介面長這樣

    Blueprint 介面長這樣

    Screenshot 2025-09-05 at 9.56.05 PM.png

  9. 再來到左邊 Components 點選 Capsule Components ,然後回到右邊的 Shape 調整碰撞框的大小

    Arrow Sprite可調整圖片的相關參數

    Arrow Sprite可調整圖片的相關參數

    碰撞框的半徑高度、寬度及線的粗細

    碰撞框的半徑高度、寬度及線的粗細

  10. 再來到底下 Materials ,把Element 0 改為 [ MaskedUnlitSpriteMaterial ] 、 勾選 Lighting 的 [ Cast Shadow ]讓角色會受到光線影響及產生陰影

    Screenshot 2025-09-06 at 1.48.50 AM.png

    Screenshot 2025-09-06 at 1.56.21 AM.png

  11. 再來建立讓角色動起來的程式。回到資料夾右鍵找到 Blueprint Class,選擇 Game Mode Base

    Screenshot 2025-09-06 at 1.59.17 AM.png

  12. 進入 Game Mode Base 介面,把剛才建立的角色 子藍圖 掛在 Classes > Default Pawn Class。這樣遊戲開始後就會優先加載這個角色。

    Screenshot 2025-09-06 at 1.59.58 AM.png

  13. 再來到 Edit > Project Setting > 右邊選單 Game > Maps & Modes,左邊有 Default Modes,把剛剛建立的 Game Mode Base 掛在 Default Game Mode

    Screenshot 2025-09-06 at 2.09.03 AM.png

    Screenshot 2025-09-06 at 2.09.19 AM.png

    Screenshot 2025-09-06 at 2.09.47 AM.png

  14. 回到資料夾右鍵找到 Input 建立 Input Action ,在 Action > Value Type 設為 Axis2D(Vector 2D)。因為目前僅需平面移動( x.y軸),若需要飛行可選 Vector 3D( x.y.z軸 )

    Screenshot 2025-09-06 at 2.25.14 AM.png

    Screenshot 2025-09-06 at 2.26.02 AM.png

  15. 回到資料夾右鍵找到 Input 建立 Input Mapping Context,在 Mappings 掛載剛剛建立的 Input Action

    Screenshot 2025-09-06 at 2.25.29 AM.png

    Screenshot 2025-09-06 at 2.27.07 AM.png

  16. 在底下按 + 選項建立移動的WSAD鍵,點選旁邊的鍵盤圖示可直接輸入

    Screenshot 2025-09-06 at 2.27.40 AM.png

  17. 接下來打開選項,設定他們移動的方向

    D為預設 [ X軸正值 ] 方向,不需改變

    D為預設 [ X軸正值 ] 方向,不需改變

    A 為 [ X軸負值 ] 方向,在Modifiers 下加入 [ Negate ],將移動的值變成負數

    A 為 [ X軸負值 ] 方向,在Modifiers 下加入 [ Negate ],將移動的值變成負數

    S 為 [ Y軸正值 ] 方向,在Modifiers 下加入 [ Swizzle Input Axis Values ],將移動的值轉為 Y 軸

    S 為 [ Y軸正值 ] 方向,在Modifiers 下加入 [ Swizzle Input Axis Values ],將移動的值轉為 Y 軸

    W 為 [ Y軸負值 ] 方向,在Modifiers 下加入 [ Negate ] 及 [ Swizzle Input Axis Values ],將移動的值變成負數還有為 Y 軸

    W 為 [ Y軸負值 ] 方向,在Modifiers 下加入 [ Negate ] 及 [ Swizzle Input Axis Values ],將移動的值變成負數還有為 Y 軸

  18. 接著回到角色的 子藍圖,打開上排的 Event Graph 介面

    Screenshot 2025-09-06 at 3.00.43 AM.png

  19. 在底下編輯區域右鍵,加入Get Player Controller、 Enhanced Input local Player Subsystem、Add Mapping Context,接起來長這樣。最後接回 Event BeginPlay

    Screenshot 2025-09-06 at 10.24.55 PM.png

    Screenshot 2025-09-06 at 10.23.12 PM.png

  20. 加入你前面建立的 Input Action,他會變成紅色的EnhancedInputAction ,在Triggered 接兩個 Add Movement Input 出來,一個代表X,另一個是Y,並在 World Direction 各自輸入移動的數值。Action Value 接 Break Vector 2D,把 X,Y各自接到剛剛 Add Movement Input 的 Scale Value,Y 軸那條線記得點兩下讓他出現一個節點。

    Screenshot 2025-09-06 at 10.26.59 PM.png