【Unity】快速練習建立 2d 平台遊戲 (持續更新中

前言

在網路上搜刮到了
https://www.youtube.com/playlist?list=PLfQU2ch2UpvFO-H2MAwQ2dYekAwQ69IPM
這個免費但又相對完整的教學…

所以為了練習,
決定搜集素材來搭建一個簡單場景的平台遊戲作為這類遊戲的基底練習。

目標

  • 雙場景平台遊戲
  • 主角動作:跑、跳、攻擊*2 、蹲下、攀牆、受身、受傷、衝刺
    • 缺少的素材:蹲下、攀牆、受身、衝刺
  • 有AI的敵人
  • 拾取物品
  • 音樂、音效整合

前置作業

素材搜集

操作記錄

0615

0618

  1. 從 png slice sprite
  2. 2d movement
  3. flip charactor

0619

  • 發現 VScode 沒有自動完成 Unity 相關詞語
    • 安裝 Unity Code Snippets
      1. Jump
    • input axis 的定義列表?
      • 如何新增、修改 axis?
    • IsTouchingLayers
    • LayerMask
      1. Jump 動畫
      2. DoubleJump
    • 不同動畫如果要不同 collider 要怎麼辦?
      1. Attack
    • input manager key mapping 問題
    • has exit time
      • 像攻擊這種「需要被播完」的動畫才需要加 has exit time
        1. Hitbox
    • 如何編輯路徑
      • 如何移除節點
    • IEnumerator
    • gizmos

0620

  1. enemy

    • sprite editor delete slice
      • command + delete
  2. enemy take damage 閃紅光

    • Invoke("ResetColor",time)
  3. enemy move ai

  4. enemy 扣血粒子效果

    • 例子效果範例集
    • Instantiate
    • prefab 單獨修改跟改全體的差異
    • 粒子特效顯示位置
      • 改 renderer 特性的 soft layer (第18教學)
  5. camera follow

    • Lerp
  6. camera shake

  7. camera limit

  8. player damage blink

0621

  1. player death anim
    • anim Exit 啥時要用?
  2. Layer和Sorting Layer
    • Layer 負責碰撞
      • project settings -> physic 2D
    • Sorting Layer 負責顯示
    • Tag 負責?
  3. TileMap
  4. hp bar
  5. Screen Flash
  6. spike
    • flash collidbox

      0622

  7. moveplatform
  8. onewayplatform
    • 要 move 又要 oneway 要怎麼改

0626

  1. ladder

0627

  1. 金幣
  2. 告示牌
    • 繪製 climb sprite
  3. 光源

0703

0704

0705

  • 掛上部分怪物動畫
    • 蘑菇人
    • 蝙蝠
    • 兔子

0706

  • 確認主題方向
    • 地下城的一週考核

0714

心得

關於

AI Computing / 武術 / 登山 / IT / - 貪多而正努力咀嚼的人生小吃貨