快轉到主要內容

自訂粒子 & 給實體添加粒子效果|Minecraft基岩版Add-On模組製作教學

分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

Minecraft基岩版允許新增粒子(particle),粒子可用於輔助實體動畫,或用作槍械的煙霧特效。

粒子都是2D圖像,因此只有XY寬高二個數值。要新增粒子,只需要用到資源包。另外可以結合行為包讓粒子有條件顯示在實體上。

文章最後可以下載我製作的JoJo粒子範本。

影片版過程參考

1. 使用Snowstorm製作粒子
#

粒子不需要模型檔案,只由資源包裡粒子本身的json和材質圖片構成。

使用JannisX製作的 Snowstorm工具可以像建模一樣線上預覽、製作粒子,也能匯入做好的粒子檔案參考。這個程式也有 VSCode擴充功能版

  1. 進入後就是編輯畫面。

  2. 按一下上方的Examples就能載入範本,例如彩虹、下雨。這時可以觀察左邊面板變數的變化。

  3. 或者按"Files",“Import”,從遊戲原版資源包的particles/資料夾選取json,載入遊戲中的粒子。

  4. 粒子的組件可以在左邊的面板調整,並且結果會馬上反映在右邊的畫面。

組件的詳細說明看下一段,這裡簡單調整好之後點選"Files",“Download"就會得到一個粒子的json檔案。

這裡我製作了一個JoJo的粒子,是從範本裡面的"Fire"改造來的。

  1. 將粒子的json放到資源包的particles/資料夾,識別符為myparticle:jojogo

粒子的材質jojogo.png放在/textures/particle/。另外我製作的Jojo粒子材質其實是長這樣,256x512:

2. 粒子的組件用途
#

具體內容可參考 官方文檔

只看文字說明會比較抽象,直接來看Snowstorm裡面提供的選項:

1. Emitter

Mode: Steady為讓粒子連續產生,Instant為產生一次。

Rate: 產生數量。

  1. Shape

Mode: 選擇一群粒子生成的形狀,有point、disc、sphere、box可以選。

  1. Appearance: Size是粒子XY大小;Material可以選擇Alpha顯示透明圖層,或是Opaque不透明。Facing則是要朝向哪個方向。

  2. Motion: 可給粒子添加加速度,以及設定生成的方向。

  3. Lifetime: 設定粒子多久後會消失,預設使用Time的話就是按照Max Age所設定的時間,到了就會消失。

  4. Texture: 粒子的材質

Texture Size: 粒子材質的實際圖片大小。

(接下來的屬性如果要做動圖就會用到,例如遊戲中的火焰粒子)

UV Start: 粒子的材質從UV哪個座標為起始點。

UV Size: 粒子的UV大小。

UV Step: 粒子動畫每步移動的UV距離。

Max Frame: 最大畫格數,至少應該大於實際的畫格率。

例如,原本我的粒子只是這樣:

設定動畫後會快速切換成其他顏色:

所以這個動畫有二個畫格,Max Frame就不應該小於2。

3. particle指令用法
#

要讓實體製造粒子,很多組件都能在觸發行為時順便生成,例如"minecraft:projectile"可設定拋射物的粒子。

/particle指令也可以用來顯示自訂的粒子:

例如:

/particle myparticle:jojogo ~ ~ ~

基岩版的原版粒子列表可以參考 這裡

4. 讓粒子跟著實體 (動畫)
#

先了解 Add-On如何新增實體

另外可以參考原版資源包烈焰神和貓的檔案,看是如何生成粒子的。

可在動畫(animation)畫格直接新增粒子,或者使用動畫控制器(animation controller)。

  1. 首先在資源包entity/的實體檔案聲明要使用的粒子:
//...
"animations": {},
"particle_effects": {
  //jojogo是粒子代號
  "jojogo": "myparticle:jojogo"
},
"scripts": {}
//...
  1. 該實體的模型檔案裡必須用Blockbnech在骨骼新增定位器(locator)這個元素,例如我想要讓粒子附著在手上:

  2. 在動畫模式中,聲明要使用粒子(按時間軸上的"Animate Effect"魔術棒按鈕)

左下角的Keyframe欄位,Effect就是實體檔案聲明的粒子效果代號。

locator則是剛剛在實體模型新增的定位器。

這樣這個動畫播放時就會產生粒子。

也可以改在動畫控制器設定要顯示粒子的時機:

{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.shimakaze.move": {
      "states": {
        "default": {
          "animations": [
            {
              "move": "query.modified_move_speed"
            }
          ],
          "particle_effects": [
            {
              "effect": "jojogo"
            }
          ]
        }
      }
    }
  }
}

如果要讓粒子精確的附著在某一個骨骼,就加上定位器:

{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.shimakaze.move": {
      "states": {
        "default": {
          "animations": [
            {
              "move": "query.modified_move_speed"
            }
          ],
          "particle_effects": [
            {
              "effect": "jojogo",
              "locator": "locator"
            }
          ]
        }
      }
    }
  }
}

範本下載
#

只有資源包,按 這裡下載。

也可於 Github檢視原始碼。

在實體上新增粒子的原理已經寫在上面了,剩下的是少女的秘密。

相關文章

新增生態系並生成建築物|Minecraft基岩版Add-On模組製作教學
分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On
新增mcfunction指令 & 自動執行指令|Minecraft基岩版Add-On模組製作教學
分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On
使用Minecraft Entity Wizard快速新增實體|Minecraft基岩版Add-On模組製作教學
分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On Minecraft Behavior Pack Minecraft Resource Pack

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。