快轉到主要內容

Minecraft Add-on修改sounds.json,新增自訂音效

分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On
🗓️ 民國110年 辛丑年
✍ 切換正體/簡體字

Minecraft基岩版的音效檔案都寫在 原版資源包sounds.jsonsounds/sound_definition.json中。了解這二個檔案的運作原理,不只能修改原本遊戲的音效,也能加入新音效。

下面以給新增的實體添加音效為例子,方塊的參考 這篇文章

  1. sounds.json檔案是定義有哪些要使用的音效,這裡幾乎是寫死的。

每個實體定義的方法如下,物件“entities”裡面,寫上實體的identifier,例如kanmusu:boku,volume是音量,pitch是音高。在“events”裡面的就是設定各個事件要觸發的音效,這裡必須按照遊戲給的寫,前面的代表的是遊戲事件,如ambient就是剛召喚出來的音效,hurt就是受傷音效,attack是近身攻擊的音效,shoot是遠程攻擊,還有idle、step等,或者自己寫一個也可以,可是遊戲就不會自動播放。

後面的值就是音效名稱,等會要在sound_definitions.json用到。這裡格式通常會寫成「生物名.音效名」

{
  "entity_sounds": {
    "entities": {
      "kanmusu:boku": {
        "volume": 4,
        "pitch": [
          1,
          1
        ],
        "events": {
          "ambient": "boku.say",
          "hurt": "boku.hurt",
          "death": "boku.death"
        }
      }
    }
  }
}
  1. 接著把剛才第一步定義的音效寫出音效檔案的具體路徑。跟剛才不太一樣的是,一個實體的每個音效都要分開定義,例如這裡hurt和death的音效各成一個物件。

“category”設定的是音效的種類,有weather、hostile、neutral等。

“sounds”後面的陣列裡面寫出音效的檔案位置,如此以來可以添加多個音效,遊戲會隨機播放裡面列出來的清單,例如"hurt"我就用了3種音效。

另外可以設定"sound_distance"來設定音效能被聽到的最大距離。

Minecraft的音效檔案一律要用.ogg格式,寫出檔案位置時不用標注副檔名。

{
  "format_version": "1.14.0",
  "sound_definitions": {
    "boku.say": {
      "max_distance": 10.0,
      "category": "neutral",
      "sounds": [
        "sounds/mob/boku/say",
        "sounds/mob/boku/say2"
      ]
    },
    "boku.hurt": {
      "max_distance": 10.0,
      "category": "neutral",
      "sounds": [
        "sounds/mob/boku/hurt",
        "sounds/mob/boku/hurt2",
        "sounds/mob/boku/hurt3"
      ]
    },
    "boku.death": {
      "max_distance": 10.0,
      "category": "neutral",
      "sounds": [
        "sounds/mob/boku/death"
      ]
    }
  }
}

由於上面新增的音效都是遊戲原本就有的行為,因此當這個實體受傷或攻擊時就會自動播放音效,或者用於組件音效。

用Blockbench製作動畫時,可在畫格中插入音效與 粒子效果

也可以在資源包使用動畫控制器,在轉場時設定播放音效。

{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.boku.move": {
      "states": {
        "default": {
          "animations": [
            {
              "moving": "query.modified_move_speed"
            }
          ],
          "sound_effects": [
            {
              "effect": "ambient"
            }
          ]
        }
      }
    }
  }
}

遊戲中要強制播放特定音效使用/playsound指令,例如要播放上面新增的boku的死亡音效,就使用playsound指令:

/playsound boku.death @p ~ ~ ~ 1 1 1

相關文章

Add-On 組件minecraft:variant與minecraft:mark_variant的用法
分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On
Add-On利用animation_controller製作指令延時器的一點想法
分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On
Minecraft Add-On 何謂「Molang」語言?
分類   遊戲攻略 Minecraft
標籤   Minecraft Add-On

留言板

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

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

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