跑跑車首頁

當前位置:首頁攻略秘籍單機攻略 → 我的世界命令方塊普通disco作品展示與制作原理

我的世界命令方塊普通disco作品展示與制作原理

作者:乙烯_中國來源:MCBBS 發(fā)表時間:2016/2/1 8:41:55 評論(0)

小編為大家?guī)砹恕段业氖澜纭访罘綁K普通disco作品展示與制作原理,乙烯_中國的命令方塊簡直是牛爆了啊,這里我們先來看看這次為大家?guī)砹诉@個普通Disco In Minecraft。

其實吧,這個作品的結(jié)構(gòu)非常簡單粗暴,差不多就是圖中這三個命令方塊,其中命令結(jié)構(gòu)基本如下

tp @a ~ ~ ~1

復(fù)制代碼

clone ~1 ~ ~ ~1 ~ ~ ~1 ~ ~1 replace move

復(fù)制代碼

這倆是移動玩家和傳送信號(紅石塊),其實這里不得不說一句,這里完全可以不tp玩家的,但是呢,由于不加上這個看上去實在是沒有mc的感覺,所以你們在視頻背后看到的“cb在抖動”是因為mc在不停的tp玩家。

然后傳送信號保證了每tick播放一幀。

接下來是核心命令。

/replaceitem entity @a slot.weapon.offhand minecraft:diamond_axe 1 3

復(fù)制代碼

損害值不停的改變。

這里應(yīng)用的是1.9不同損害值的物品能夠被附上不同的材質(zhì)的特性。所以其實真正的名堂在資源包內(nèi)部。

這個地圖用了總大小大約為150MB的三個資源包。是的,三個。為啥會變成這么糾結(jié)的情況呢,我本來呢,資源包的大小是一個0.5GB大小的文件,但是MC并帶不動。于是在不停的嘗試下做出了這種妥協(xié)。每個資源包所代替的為單獨的一把鉆石工具。每個工具有1560幀。這也是為什么你會在視頻里看到有三排單元的原因。

那么現(xiàn)在來解包這個資源包,我們來看一下我是怎么做出這樣的效果的。首先呢,我們需要一個資源包!臼裁垂

我們?nèi)绻趍c里面播放視頻的話我們就需要視頻,那么我們需要把視頻拆成每幀的圖,最好還是20fps的,那么其實呢,這種軟件很方便的,網(wǎng)上一搜大的小的有源碼沒源碼的都有,我就不在這里班門弄斧了。

這里是拆成圖的視頻。

那么如果我的視頻是30fps呢,那我需要怎么辦呢。這解決辦法是很簡單的。

這么一劃拉,然后選中刪除1/3就好了。

強行20fps。恩

然后我們又要注意一件事,這些圖片的格式都是jpg,而且長寬并不是是2的指數(shù)。所以我們需要轉(zhuǎn)換格式,教程請自行百度Photoshop批處理,講的絕對比我詳細。

那么這里我們準備好了材質(zhì),那么我們是不是該準備模型了呢?

那么我的模型使用的是什么呢?是修改物品拿在手里的模型,實現(xiàn)玩家拿到屏幕的效果,相信類似的效果大家也見識過吧,比如盤靈古域里面的金箍棒。而玩家手持屏幕這種效果我也并非首創(chuàng),不過閑到像我這么用的估計沒幾個。。。

這里是json代碼。

{

"__comment": "ethylene_china",

"textures": {

"texture": "blocks/disco (1)"

},

"elements": [ 

{

"from": [ 18, 4, 6 ],

"to": [ 19, 21.5, 23.5 ],

"faces": {

"west":  { "uv": [ 0, 0, 16, 16 ], "texture": "#texture"}

}

}

],

"display": {

"firstperson_lefthand": {

"rotation": [ 0, -90, 0 ],

"translation": [ 5.1, 7.75, -6.05 ],

"scale": [ 0.44, 2.02, 2.08 ]

}

}

}

復(fù)制代碼

這里的代碼就是剛好能夠?qū)崿F(xiàn)一個基礎(chǔ)的手持屏幕。

這里是效果。

這里使用了材質(zhì)丟失的貼圖以便于讀者體會這個屏幕在屏幕中的大致位置。

很顯然中間這個位置并不是和指針對齊的,相反,差了很多。而且我的UV寫的是一個完整的貼圖,那么我為什么要這么做呢?

答案很簡單,因為mc的機制,一般玩家都會注意到有這樣的一個動畫——物品的拾起。那么如果物品模型是現(xiàn)在這樣的話,這個動畫效果是怎樣的呢?

答案我就不截動態(tài)圖了,是一個物品模型向上移動的過程,而大家應(yīng)該也知道,我這個模塊是20fps的視頻,很明顯我們不能讓屏幕抖動,而實際操作過程也確實實現(xiàn)了這點。

那么一旦工作起來,這個模型就會顯示這樣的效果。

對齊的非常完美。

那么這里我們解決了單幀的問題,那么我們需要將其整合起來了。

這是一個整合的例子。

{  

"parent": builtin/generate",  

"textures": {  

"layer0": "items/apple"  

},  

"overrides": [  

{ "predicate": { "damaged": 0, "damage":  0.000640615 },   "model": "item/disco1"},

{ "predicate": { "damaged": 0, "damage": 0.00128123 },   "model": "item/disco2"},

{ "predicate": { "damaged": 0, "damage": 0.001921845 },   "model": "item/disco3"},

{ "predicate": { "damaged": 0, "damage": 0.00256246 },   "model": "item/disco4"},

{ "predicate": { "damaged": 0, "damage": 0.003203075 },   "model": "item/disco5"},

{ "predicate": { "damaged": 0, "damage": 0.9993594 },   "model": "item/disco1560"}

]  

復(fù)制代碼

別的大家應(yīng)該都耳熟能詳了,其中的damage后面的數(shù)字是1/1561的倍數(shù),其正好鎖定了每個損害值都擁有其自己的材質(zhì)。這個json對應(yīng)著1560個單獨的模型文件。


玩家評論
我要點評

網(wǎng)名 注:您的評論需要經(jīng)過審核才會顯示出來。

已有 0 位玩家參與點評
下載排行