創作內容

4 GP

【Minecraft】指令紅石音樂簡介

作者:鴻Scarlet│當個創世神(Minecraft)│2021-03-05 00:34:05│巴幣:1,006│人氣:1545
【指令紅石音樂簡介】

大概在5、6年前開始接觸紅石音樂的時候,我使用的1.5.2、1.7.10版本還沒有像現在原版Minecraft就有這麼豐富的音階盒聲音。前前後後我嘗試利用Note Block Studio這個軟體來生成音樂或者是使用piano+等等的資源包進行製作,但聽起來總是覺得怪怪的。

直到某天我翻到了這一個作品(妖妖夢全曲(B站)),我才知道原來還有這種操作(震驚)。就決定聯繫作者1U_s,開啟我的指令紅石音樂之路,也因此認識了許多同好可以一起研究XD。

在這篇文章當中,主要著重在分享一些我在製作指令紅石音樂的心得,而不是如何製作。
註:本文使用電腦瀏覽為佳

【常用指令簡介】

以下僅簡略介紹幾種我較常使用在紅石音樂中的指令,以及它們較常被運用在那些地方,與紅石音樂製作無關的部分不會特別說明。

註1不同版本的指令格式可能會有所不同,方塊、實體名稱也可能有所變動。
註2本文中CB為指令方塊,CCB為連鎖型指令方塊,RCB為重複型指令方塊。
註3如果沒有特別標示,本文中的tick皆為gt遊戲刻(0.05秒),而非rt紅石刻(0.1秒)。
註4我目前使用的版本為1.7.10、1.10.2、1.12.2,如果有弄錯的地方再麻煩各位指正。

  • playsound
playsound <聲音> <來源> <玩家> [x] [y] [z] [音量] [音調] [最小音量]
最重要的一個指令,通常會配合自製的資源包來使用
<聲音>就是資源包當中所定義的聲音名稱
<來源>建議使用voice、record等等不受其他聲音影響的類別(例如方塊放置、玩家聲音)


playsound minecraft:13s57.16p62voice @p ~ ~ ~
在最近玩家的處播放名稱為"13s57.16p62"的聲音,由資源包的sounds.json,我們得知這個聲音的路徑是在資源包的song13/057trumpet/016/062.ogg
註:關於資源包的製作這邊就不多提了

  • stopsound (版本1.9.3以上)
stopsound <玩家> [來源][聲音]
用於停止聲音,有的資源包製作時會將聲音檔拉的很長,最後再利用stopsound把該聲音終止,達到不同時長的聲音效果,個人比較少使用,原因是使用stopsound停止聲音時會有很明顯的斷點,聽起來不太自然。

  • setblock
setblock <x> <y><z> <方塊名稱> [原方塊處理方式]
常用於製造1 tick的延時效果、製作指令鋼琴等等,有時候也會加上數據標籤來生成帶有指令的指令方塊。

[For 1.7.10/1.10.2/1.12.2]
setblock ~ ~1 ~ minecraft:redstone_block
setblock ~ ~1 ~ minecraft:air
[For 1.7.10] (可以使用ID代替方塊名稱)
setblock ~ ~1 ~ 152
setblock ~ ~1 ~ 0

  • summon
summon <實體名稱> [<座標>] [<數據標籤>]
大部分的時候都是拿來召喚下落的沙子或是盔甲座製作視覺效果,或者是利用落沙不同的下落高度達到不同的延時長度。

[For 1.7.10]
summon FallingSand ~ ~10 ~{TileID:152,Time:1}

[For 1.10.2]
summon FallingSand ~ ~10 ~{Block:redstone_block,Time:1}
summon FallingSand ~ ~10 ~{TileID:152,Time:1}

[For 1.12.2]
summon minecraft:falling_block~ ~10 ~ {Block:redstone_block,Time:1}
summon minecraft:falling_block~ ~10 ~ {TileID:152,Time:1}
summon falling_block ~ ~10 ~{TileID:152,Time:1}
上述的指令結果皆為在上方10格處召喚一個落沙,落地後會形成紅石塊,需要注意的是各版本能使用的實體名稱、數據標籤不一定相同(所以每次切換版本時都很頭痛),如果想要生成其它的方塊,修改TileID或是Block數據即可。
其他較常使用的標籤像是Motion可以讓落沙的移動軌跡變成拋物線,或者是NoGravity來生成不受重力影響,能夠水平移動的實體(最後需要kill掉)。

  • clone (版本1.8以上)
clone <x1 y1 z1> < x2y2 z2> < x3 y3 z3> [replace|masked] [force|move|normal]
第一個用途,常用於製造1 tick的延時效果,且大多出現在CB條、CB板的形式當中(後述)
第二個用途,遇到曲子重複的地方也可以用clone進行複製,但操作失誤時無法復原,建議用worldedit會比較保險。

  • particle (版本1.8以上)
particle <粒子名稱> <x> <y><z> [<xd> <yd> <zd>] [速度] [數量] [顯示模式] [目標玩家]

大部分用於視覺效果,各版本中粒子名稱可能不同,使用時也需要注意,個人較常使用endRod、flame、lava、fireworksSpark。

  • scoreboard
大部分被用於1 tick的延時效果,藉由RCB反覆將計分板的數字+1,配合Replay Mod錄影的時候非常好用。

  • execute (版本1.8以上)
註:1.13、1.14後execute指令有較大的更動,格式和這邊列舉的並不相同
execute的用途很廣泛,這邊舉兩個比較常用的的為例:

[Ex1]配合particle選取落沙實體,製造落沙移動時後方拖動一條粒子的效果(放在RCB中反覆執行)→(本圖的粒子有經過材質包修改)
execute @e[type=FallingSand] ~~ ~ particle endRod ~ ~ ~ 0 0 0 1 0 force


[Ex2] 配合計分板達到在特定時間執行指令
execute @p[score_time=100,score_time_min=100]~ ~ ~ setblock 65 6 -15 minecraft:redstone_block

  • function (版本1.12以上)
function <名稱>
可以將許多指令打包成一個函數,一併執行,也能藉此大幅減少遊戲內指令方塊的數量,例如:生成粒子畫。


在Minecraft中還原OSU的譜面及Storyboard→(影片連結(YT))


【延時方法】

在原版的Minecraft中1個紅石刻=0.1秒=2tick。
我們以BPM=150的音樂來舉例,在BPM=150時,1分鐘會演奏150個4分音符,也就是每個4分音符為0.4秒=4個紅石刻=8tick。

若使用中繼器在原版的遊戲中製作BPM=150的音樂時,最高的精度就只能到16分音符(0.1秒=1個紅石刻=2tick),如果需要更高的精度,就需要使用指令來進行延時,製作出32分音符。
註:遇到BPM非150的曲子時,通常會用tickrate changer這個模組來進行變速(後述)。

  • 紅石中繼器 (2tick)
最容易上手的方法之一,剛開始接觸的玩家幾乎都會從這裡開始。最大的缺點就是精度為2tick,如果需要1tick的延時必須使用指令、活塞等方法配合,還有不小心被水流沖到會悲劇(真的)。


  • 指令延時 (1tick)
指令的延時方法非常多元,但大致上都是藉由觸發指令方塊到執行指令需要1 tick的方式達成的,例如:setblock、clone、計分板
使用clone指令將正上方的紅石塊移動到左方的指令方塊上,並同時觸發下一次的clone
clone ~ ~1 ~ ~ ~1 ~ ~-1 ~1 ~replace move


另外還有使用summon召喚不同高度的落沙來進行延遲,大多是利用過去測量的下落高度與tick數據進行建表,或者是直接利用公式計算。由於操作麻煩,大部分的情況不太會選擇利用summon來做延時的工作,但是其衍伸出的跳跳糖格式(後述)觀賞性是很不錯的。

  • 礦車 (120BPM) →這東西是玄學
礦車在直線行駛時的最高速度為8m/s 對應到的BPM為120,大部分會利用達到最高速的礦車進入一段由動力鐵軌與壓力鐵軌交錯排列的路線,並在壓力鐵軌旁放上指令方塊
由於經過每一格的時間為0.125秒,與遊戲內最小時間單位1 tick不是整數倍的關係,有時候會出現一些想不透的結果,不建議與其他方法混用。


  • 活塞、絆線勾、漏斗、非門、水延遲等等→這些東西是玄學中的玄學
這幾個方法在製作、控制上通常更為麻煩,不建議使用這些方法
絆線勾(或壓力板):藉由玩家/生物跑動來進行觸發←這兩個用的人稍微多一些
漏斗:藉由物品數量與比較器進行訊號輸出
非門、水延遲:藉由非門反轉紅石火把信號來觸發


【視覺效果】

這邊會簡單介紹幾種比較常被玩家們所使用的一些視覺效果,這裡會用一些我自己以及其他同好作品的截圖說明,並附上影片網址(已詢問可以使用相關素材)。

  • 屏障方塊(版本1.8以上):
把紅石電路搭建在屏障方塊上,讓紅石電路看起來浮在半空中,也能更清楚看到背景、搭建的其他建築等等。
註:1.7.10也可以藉由修改方塊材質得到透明方塊的效果
  • 一字:
通常會將中繼器延遲設置為一個紅石刻(2tick),多軌並行,移動速度為每秒20格。並且配合Replay Mod錄製(部分早期版本會給玩家上加速效果,用跑步的方式追上紅石線路)。

EX1:YTB站 / 故郷の星が映る海/作者:我】

EX2:B站 / 永遠的十七歲/作者:1U_s

  • 非字:
非字通常有一或兩個主軸,並向左右分支出去,可以讓紅石線路前進的速度降低,錄影的難度比一字下降了許多。

EX1:YTB站 / 上海紅茶館 ~ Chinese Tea/作者:我】

EX2:【YTB站 / 妖魔夜行/作者:我】

  • 蛇狀
可以大幅度的減少使用的空間,可以讓玩家幾乎不用移動就能夠聽完整首曲子,與Note Block Studio生成出來的結構挺相似的。通常不會把它直接拿來當成發聲部,而是會配合指令鋼琴,當作控制部來使用。


  • 攻城車
這種結構主要出現在音階盒玩家當中,我不是很了解,下面敘述是我詢問群裡其他玩家得知。可以在很多日本的作品看到這種格式,又稱為reverb格式(reverb有混響的意思),主要是透過在不同位置、距離擺放大量音階盒,來達到模擬混響的效果。

EX1:B站 / Red Sign/作者:紙折的折紙


  • CB條(板)
此格式大多配合clone延遲方法使用,整面的指令方塊用途皆為clone紅石塊,其餘不論是playsound、或是其它指令則沿著這個CB板的上下去建造,用途與前面提到的蛇狀結構相似,主要會配合指令鋼琴作為控制部使用,通常影片中不會讓觀眾看到整片CB版的結構(←因為很醜)。



  • 指令鋼琴
指令鋼琴主要用於玩家維持在一個定點觀賞,最常見的如:setblock鋼琴、summon/motion、粒子、可移動琴鍵或者是多者混用。

對於summon的指令鋼琴,落沙碰到地面後變成方塊被消除需要1tick的時間,因此要確保同一個位置的落沙時間差距有1tick以上,否則會造成後續的方塊持續堆疊起來無法消除,製作黑樂譜的時候很常遇到這個狀況(這時候落只能把落沙實體kill掉)。

EX1:【B站 / 17歲 加速版/作者:1U_s】


EX2:YTB站 / 明治十七年の上海アリス/作者:

  • 跳跳糖
跳跳糖是一個比較特別的形式,利用summon生成一個帶有Motion的落沙,由點A飛行到點B,再由B生成新的落沙移動到C。

飛行的時間會受到起訖點的高度差與y方向的Motion數值影響,也就是前面提到的利用summon來做延遲。由於計算這些數值較為麻煩,使用的玩家也比較少。

EX1:YTB站 / 宇宙を飛ぶ不思議な巫女/作者:

  • 粒子效果
指幾乎整個作品的視覺效果都使用粒子來呈現,甚至看不到任何的方塊,有時候會被別人懷疑這是不是在Minecraft內做的。

大部分玩家會使用1.12以上的版本,利用function配合其他方法(例如:excel、自己編寫的程式)來計算粒子的位置、速度,部分玩家會修改材質包或是加上模組來控制粒子的顏色、壽命,且通常會借助Replay Mod來錄影。

EX1:【B站 / 小人族表演曲/作者:1U_s】

EX2:【B站 / Mirror Night/作者:Soma-Komeiji】

EX3:【YTB站 / 偶像に世界を委ねて~ Idoratrize World/作者:我】

Minecraft是個非常自由的遊戲,上面列舉的指是比較常見的格式,許多玩家不會只侷限在一種格式中,而是同時使用多種呈現方法,而且時不時就會有發展出新的玩法(orz

【常用MOD】

這邊會列舉幾個較常被紅石音樂玩家使用的模組。

  • Tickrate changer
大部分的玩家都會安裝,主要用途是變速,原版遊戲每一秒有20tick,對應到我們先前提到的BPM=150。若今天曲子的BPM=180,那麼遊戲內就必須設置為20*180/150 =24tick/s,可以使用/tickrate 24 這個指令來達到目的。

註:安裝好tickratechanger後,必須進到/.minecraft/config,打開tickratechanger.cfg這個檔案,並將B:change-sound這一項改為false,否則變速的時候資源包內的聲音也會被改變。

  • Replay Mod
對於錄影非常實用的一個模組,可以自訂鏡頭路徑、選轉、加速等等,比起純手動錄製輕鬆得多。錄製時可以先不要將材質包和光影加載上去,等到要渲染輸出的時候再將光影、材質包補上就好,也能減少卡頓的機會,只可惜沒辦法錄製聲音。如果於影片時間軸要求準確,或是認為Replay Mod提供的時間軸不夠精細,可以配合記分板,利用計分板的分數來對準時間軸。

註:使用replay編輯路徑請隨時存檔,避免遊戲崩潰而作白工(←尤其用了大量粒子)。

  • WorldEdit
複製方塊用,也可以配合Mcedit等地圖編輯器。

  • OptiFine
高清材質、高光材質、光影需求。


【個人作品集】

下面是我個人的一些作品列表,歡迎點進去看看~(我的頻道:YTB站)
註:有一些比較古老影片我後來就沒有丟YT了,B站上有→黑歷史(誤)
註:本區佛系不定期更新
  • 【紅石音樂】東方紅魔鄉【全曲目】

製作期間:2016.12 ~ 2017.03  /  發布:2017.03.10
資源包:RealPiano、鴻Piano
MC Vresion :1.7.10
早期的代表作之一,三個多月的期間耗時300個小時,也是我花最多心思在佈景上的一個作品,年代久遠,只剩下720P了

  • 【紅石音樂】There is a reason【遊戲人生zero】
製作期間:2018.03 ~ 2018.04  /  發布:2018.04.28
資源包:There is a reason ONLY
MC Vresion :1.10.2
第一次開始自製多音長資源包,耗時30個小時,上面文章內的CB板就是這個作品的,我少數非東方曲的作品(X)

  • 【紅石音樂】故郷の星が映る海【東方紺珠傳】

製作期間:2018.09 ~ 2018.10  /  發布:2018.10.03
資源包:紺珠傳資源包v0.1
MC Vresion :1.10.2
製作難度並不高,總耗時約20個小時,但在兩個平台上的反應都還不錯,個人滿喜歡的一首曲子,這也是我第一次使用Replay Mod來錄影,流暢度比過去的作品好得多

  • 【紅石音樂】宇宙巫女現る【東方紺珠傳】

製作期間:2019.03 ~ 2019.04  /  發布:2019.04.05
資源包:紺珠傳資源包Title for 1.7.10
MC Vresion :1.7.10
單純是因為先前做了一張紺珠傳的封面像素畫(影片),所以把這首曲子填坑了,1.7.10沒有屏障方塊,這裡是我把鑽石的材質改成透明的圖片

  • 【紅石音樂】宇宙を飛ぶ不思議な巫女【東方紺珠傳】
製作期間:2019.04 ~ 2019.08  /  發布:2019.08.17
資源包:紺珠傳資源包三面/紺珠傳材質包三面
MC Vresion :1.10.2
耗時大約40小時,修改了粒子、方塊、天空材質,用了跳跳糖格式

  • 【4K紅石音樂】偶像に世界を委ねて~ Idoratrize World【東方鬼形獸】
製作期間:2021.01 ~ 2019.02  /  發布:2021.02.10
資源包:偶像に世界を委ねて資源包/偶像に世界を委ねて材質包
MC Vresion :1.12.2
耗時大約2~3周,由於前一年忙畢業,都在玩一些雜七雜八的東西(像是上面提到的Minecraft x OSU),這也是我第一個粒子格式的作品,算是一次非常大的技術突破,觀看的感覺和以往完全不同,多虧了Replay讓我能輸出4K的畫面。
註:1080P在部分地方可能會比較模糊,可以使用更高畫質觀看


【後記】

玩了5年的指令紅石音樂,回頭看看幾年前的作品,真的不得不佩服玩家們的創意以及Minecraft的自由程度(當時誰會想到之後有玩家會讓紅石塊和粒子在空中飛來飛去啦XD)

做紅石音樂是一個極度耗時、費力的事情,從編曲(或改譜)、製作、錄影、後製都要花費不少時間,要達到頻繁更新是非常不容易的,也常常會看到許多優秀的作品被淹沒在演算法當中,所以我只做我自己想聽的音樂(←自己的音樂自己弄X),製作的時候也會比較放鬆一點。

關於地圖檔的部分,大部分的玩家並不傾向釋出存檔,通常一個作品會需要數十~上百小時的製作。除了有時候會遇到盜片仔或是直接拿存檔轉錄的盜錄仔以外,在沒有配合資源包、模組甚至是遊戲內的音量、顯示設定的情況下,就算有空存檔也是很難有相同的觀賞效果,放出存檔也就沒甚麼意義了。

今天的介紹大概就到這裡,感謝大家!

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=5087209
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:當個創世神(Minecraft)|東方 Project 系列

留言共 3 篇留言

茶茶
佩服XD之前都只有看過HOSOTCH的影片 最近也開始玩紅石音樂 沒想到這坑這麼大...

08-15 00:55

鴻Scarlet
HOSOTCH我知道,前幾年參加音ブロック東方祭り才開始關注他,超佩服他這類的純音階盒玩家XD
在Minecraft內創作是非常自由的,有的紅石音樂作者喜歡用音符盒,有人喜歡用指令,也有人喜歡用原版音色,也有人喜歡用自己做的聲音資源包,有的人著重在音樂編曲,有的人著重在背景或是畫面特效。
坑的大小是自己決定的,找到適合自己的創作方式就行XD08-15 02:22
茶茶
想請問HOSOTCH在這一兩年也會用到指令方塊 蠻好奇那指令方塊的作用 因為我對指令&音樂完全不行= =現在都是用NBS點完音色再手動去蓋 所以會傾向於純音樂盒的形式去玩 但還是想知道那個指令方塊的作用

08-15 20:43

鴻Scarlet
我能想到的大概就以下幾個可能,其實這些在指令紅石音樂也是滿常用的:
1.tp玩家/調整遊戲時間等
2.setblock放置紅石塊/空氣方塊,用於觸發其他線路
3.tickrate,曲子變速修改tick用 (我文中提到的Tickrate changer這個mod)
4.effect,早期沒有replay mod的時候可能會對玩家上加速效果,配合透明方塊+移動來錄製,這個我不確定HOSOTCH大佬有沒有用過(#

Ps. Tickrate changer只有到1.12.2,更高版本需要用carpet mod代替08-15 21:22
茶茶
謝謝 剛剛去看了幾部影片 應該是用來變速的(飛行速度有變) 感謝解惑~

08-15 21:46

我要留言提醒:您尚未登入,請先登入再留言

4喜歡★ccs99a08 可決定是否刪除您的留言,請勿發表違反站規文字。

追蹤私訊切換新版閱覽

作品資料夾

coopdar1345我的GP超人
「你是特別的。正因為你的特別,而它讓你來到這裡。」火星科學家・薩昂——《遙遠的星球》看更多我要大聲說昨天23:22


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】