【Unity】快速練習建立 2d 平台遊戲 (持續更新中
前言
在網路上搜刮到了
https://www.youtube.com/playlist?list=PLfQU2ch2UpvFO-H2MAwQ2dYekAwQ69IPM
這個免費但又相對完整的教學…
所以為了練習,
決定搜集素材來搭建一個簡單場景的平台遊戲作為這類遊戲的基底練習。
目標
- 雙場景平台遊戲
- 主角動作:跑、跳、攻擊*2 、蹲下、攀牆、受身、受傷、衝刺
- 缺少的素材:蹲下、攀牆、受身、衝刺
- 有AI的敵人
- 拾取物品
- 音樂、音效整合
前置作業
素材搜集
- 教學
- 美術素材
挑選要點為之後自己土炮可以改得動,所以以 pixel、小圖為主要風格- itchi.io
- https://o-lobster.itch.io/platformmetroidvania-pixel-art-asset-pack
- https://lyaseek.itch.io/minifundead
- https://adamatomic.itch.io/cavernas
- 解析度不符合
- https://s4m-ur4i.itch.io/huge-pixelart-asset-pack
- https://aamatniekss.itch.io/free-pixelart-platformer-tileset
- https://incolgames.itch.io/dungeon-platformer-tile-set-pixel-art
- https://pixel-poem.itch.io/dungeon-assetpuck
- https://9e0.itch.io/cute-legends-cat-heroes
- https://thkaspar.itch.io/1-bit-icons
- itchi.io
- 音效素材
操作記錄
0615
- 蒐集美術素材、建立空白 repo
0618
- 從 png slice sprite
- 如果格子不對齊該怎麼處置
- 攻擊動畫跟角色怎麼切割
- ans: sprite pivot in sprite editor https://forum.unity.com/threads/how-to-align-different-sized-sprites-with-the-ground.1067621/
- 2d movement
- flip charactor
- transform.localRotation
- Quaternion.Euler
- Mathf.Epsilon
0619
- 發現 VScode 沒有自動完成 Unity 相關詞語
- 安裝 Unity Code Snippets
- Jump
- input axis 的定義列表?
- 如何新增、修改 axis?
- IsTouchingLayers
- LayerMask
- Jump 動畫
- DoubleJump
- 不同動畫如果要不同 collider 要怎麼辦?
- Attack
- input manager key mapping 問題
- has exit time
- 像攻擊這種「需要被播完」的動畫才需要加 has exit time
- Hitbox
- 像攻擊這種「需要被播完」的動畫才需要加 has exit time
- 如何編輯路徑
- 如何移除節點
- IEnumerator
- gizmos
- 安裝 Unity Code Snippets
0620
-
enemy
- sprite editor delete slice
- command + delete
- sprite editor delete slice
-
enemy take damage 閃紅光
- Invoke("ResetColor",time)
-
enemy move ai
-
enemy 扣血粒子效果
- 例子效果範例集
- Instantiate
- prefab 單獨修改跟改全體的差異
- 粒子特效顯示位置
- 改 renderer 特性的 soft layer (第18教學)
-
camera follow
- Lerp
-
camera shake
-
camera limit
-
player damage blink
0621
- player death anim
- anim Exit 啥時要用?
- Layer和Sorting Layer
- Layer 負責碰撞
- project settings -> physic 2D
- Sorting Layer 負責顯示
- Tag 負責?
- Layer 負責碰撞
- TileMap
- 卡牆如何解決、攀牆如何實作
- 延伸 除了tilemap 之外有啥選擇
- hp bar
- transform 對齊定義
- 非 bar 狀 UI 怎麼做
- https://www.youtube.com/watch?v=3uyolYVsiWc
- 如何做到程式化無上限?
- 增加動畫的位置
- https://www.youtube.com/watch?v=3uyolYVsiWc
- fillamount
- Screen Flash
- spike
- flash collidbox
0622
- flash collidbox
- moveplatform
- onewayplatform
- 要 move 又要 oneway 要怎麼改
0626
- ladder
- 跳躍時會有 bug
- 卡牆 bug
- https://home.gamer.com.tw/creationDetail.php?sn=4800497
0627
- 金幣
- 告示牌
- 繪製 climb sprite
- 光源
- light weight RP -> Universal RP
- dash
- https://www.youtube.com/watch?v=yB6ty0Gj7tA
0703
- wall climb
- https://www.youtube.com/watch?v=XgoT-KyvbGo
- 洛克人 X 系列的蹬強跳
- 總之 Climb 判定跳後要 disable X 方向的輸入一下下
- 不然User 很難操作 & 很難做出反向跳躍
- 總之 Climb 判定跳後要 disable X 方向的輸入一下下
0704
0705
- 掛上部分怪物動畫
- 蘑菇人
- 蝙蝠
- 兔子
0706
- 確認主題方向
- 地下城的一週考核
0714
-
更快速的畫地圖