石爐 MOD制作教程 職業(yè)物品特效MOD制作 MOD怎么用
- 來源:lee_振光
- 作者:售夢者
- 編輯:售夢者

石爐 MOD制作教程 職業(yè)物品特效MOD制作 MOD怎么用
基礎(chǔ)知識:
我們首先講一講制作mod所使用的軟件還有游戲的基本框架.
1.游戲的基本框架:
這游戲的模型是.qb格式,是利用qubicle軟件制作,跟以往的C4D和3Dmax等貼圖模型軟件,是不一樣的。.qb模型是一種體素模型。
這游戲 引擎是C++和OpenGL。大多數(shù)都是Lua腳本。GUI是寫在HTML / JS。文本和屬性是json.
2.需要的軟件:
模型制作需要qubicle軟件,模型文件后綴名是: .qb (正版需要購買,免費版功能不全,另有軟件代替,模型制作教程會講到)
游戲腳本文件推薦用Notepad++軟件打開,游戲文件包含有:.json .lua .html .less .js .
3.認(rèn)識游戲文件的框架:
該游戲的主文件在:X盤:\Stonehearth v0.1.0r240\mods 文件夾里,
"stonehearth.smod"文件就是主要的游戲文件,該文件實質(zhì)是壓縮文件,可以用壓縮軟件打開,也可以修改擴展名為.zip后再打開.
打開后,我們認(rèn)識一些文件夾的作用:
-ai------------------游戲AI
-call_handlers-------控制人物的腳本
-components----------存放游戲的組件
-data----------------游戲數(shù)據(jù)存放地方
-docs----------------說明文件
-entities------------游戲模型存放的地方
-jobs----------------游戲職業(yè)的文件
-lib-----------------游戲的一些腳本
-locales-------------游戲的大部分文本
-mixins--------------插入游戲內(nèi)容放置的地方
-release_notes-------更新日志
-renderers-----------游戲渲染器
-scenarios-----------情景劇情文件
-services------------游戲服務(wù)器
-ui------------------游戲的界面文件
-manifest.json-------游戲指引文件
其中有一些文件我們不需要了解太多,后面會講到我們需要的文件.

如何制作簡單的mod:
我們該如何在游戲中添加自己做的模型呢:
我們先定下一個目標(biāo),我們要制作一個添加裝飾物的mod,這個裝飾物的名字是:xxx
第一步:
我們先新建一個文件夾 YYYmod (YYY是自己定的)
在里面按照這樣子建立文件夾和文件:
-YYYmod
----recipes
-------xxx_recipes.json
----mixins
--------recipes.json
----entities
-------xxx.json
-------xxx.qb
-------xxx.png
----manifest.json
第二步:
建立好后,我們先打開manifest.json文件 復(fù)制粘貼這段代碼
{
"info" : {
"name" : "YYY Mod",
"version" : 1
},
"aliases" : {
"YYYmod:decoration:xxx" : "file(entities/decoration/xxx)"
},
"mixintos" : {
"/stonehearth/jobs/carpenter/recipes/recipes.json" : ["file(mixins/recipes.json)"]
}
}
注釋:
1."info"是信息,填寫你的mod的信息,名字和版本號什么的.
2."aliases"作用是為你的項目和物體命名,就是賦予它一個ID.
前面就是該物體的ID,后面是它存放的地方.
(decoration)是裝飾的意思,多了這個我們更好的將物體分類,就好像你是幾班的某某.
這個英語,要看你給該物體分什么類,還有家具furniture等等,以后再說.
3."mixintos"作用是將某段語句插入到某個文件中,
上面說的就是,將"file(mixins/recipes.json)里的內(nèi)容
插入到"/stonehearth/jobs/carpenter/recipes/recipes.json"
前面是原版的路徑,后面是我們mod的路徑.意思是把該物體合成配方添加
到木匠的工作臺的合成配方,carpenter是木匠,可以改為其他職業(yè).第三步:
好了,我們編寫好了指引文件,接下來要編寫,添加該物體的合成配方到木匠的工作臺上:
我們打開 YYYmod/mixins/recipes.json 復(fù)制粘貼這段代碼
{
"craftable_recipes" : {
"furniture" : {
"recipes" : {
"xxx" : {
"recipe" : "file(/recipes/xxx_recipe.json)"}
}
}
}
}
注釋:
1."craftable_recipes"是工作臺合成配方,這個不用管,是固定的.
2."furniture"是工作臺的合成分類,可以修改,一般用回原版的分類,也可以自定義一個.
3."recipes"是配方,后面跟著的就是你要添加的配方.xxx是物體的名字.
4."recipe" : "file(/recipes/xxx_recipe.json)"}是該物體的合成配方存放的路徑.
第四步:
編寫xxx物體的合成配方:
我們打開 YYYmod/recipes/xxx_recipes.json 復(fù)制粘貼這段代碼
{
"type":"recipe",
"work_units" : 3,
"recipe_name" : "xxx",
"description" : "--------------------",
"flavor" : "---------!!!!",
"portrait" : "/YYYmod/entities/decoration/xxx/xxx.png",
"ingredients": [
{
"material" : "wood resource",
"count" : 1
}
],
"produces": [
{
"item":"YYYmod:decoration:xxx"
}
]
}
注釋:
1."type" 類型
2."work_units" 制作該物體的時間,3下
3."recipe_name" 顯示在合成界面上的名字.也就是物體的名字.
4."description" 物體的描述文字,作用和用途.
5."flavor" 特別的描述,類似后綴描述.
6."portrait" 顯示在合成界面上的圖片,后面是圖片存放的路徑.
7."ingredients" 材料,后面跟著的是需要合成的材料和數(shù)量.
8."wood resource" 這里可以替換的,石頭是"stone resource".
9."produces" 產(chǎn)物. 而"item":"YYYmod:decoration:xxx"這個就是前面提到的ID.
第五步:
編寫物體的屬性和數(shù)據(jù):
打開 YYYmod/entities/decoration/xxx/xxx.json 復(fù)制粘貼這段代碼
{
"type" : "entity",
"mixins" : "file(xxx_ghost.json)",
"components": {
"stonehearth:entity_forms" : {
"iconic_form" : "file(xxx_iconic.json)",
"ghost_form" : "file(xxx_ghost.json)",
"placeable_on_ground" : true
},
"region_collision_shape" : {
"region": [
{
"min" : { "x" : -1, "y" : 0, "z" : 0 },
"max" : { "x" : 2, "y" : 2, "z" : 1 }
}
]
}
},
"entity_data" : {
"stonehearth:net_worth" : {
"value_in_gold" : 50,
"rarity" : "common",
"shop_info" : {
"buyable" : true,
"sellable" : true,
"shopkeeper_level" : 1,
"shopkeeper_type" : "caravan"
}
}
}
}
注釋:
1."type" 物體的類型,entity是實體
2."mixins" : "file(xxx_ghost.json)" 意思是該物體混入到某個屬性里,不用管.
3."stonehearth:entity_forms" 這里是設(shè)置物體在倉庫時和虛影時分別的模型,
"iconic_form"是物體在倉庫時的模型,"ghost_form"是物體虛影時的模型.后面的是相應(yīng)的路徑.
"placeable_on_ground" : true,表示該物體可以放在地方,"placeable_on_wall" 是在墻上,可以替換
4."region_collision_shape"設(shè)置模型的碰撞體,x y z 數(shù)據(jù)自己填,要看自己的模型大小來調(diào).
5."entity_data" 實體數(shù)據(jù),"value_in_gold" 價值是多少."rarity" : "common" 稀有程度:普通.
6."shop_info" 商店設(shè)置;"buyable"是否可以購買,"sellable"是否可以出售.
第六步:
編寫物體虛影文件:
我們打開 YYYmod/entities/decoration/xxx/xxx_ghosts.json 制粘貼這段代碼
{
"components": {
"model_variants": {
"default": {
"models": [
"file(xxx.qb)"
]
}
},
"unit_info": {
"name": "xxx",
"description": "---------------------------",
"icon" : "file(xxx.png)"
},
"stonehearth:material" : {
"tags" : "wood furniture crafted"
},
"mob" : {
"model_origin" : { "x": -0.05, "y": 0, "z": 0.05 },
"region_origin" : { "x": 0.5, "y": 0, "z": 0.5 }
}
}
}
注釋:
1."models":[ "file(dresser.qb)" ] 是物體虛影的模型來源.
2."unit_info":信息."name"名字; "description"描述;"icon"圖標(biāo).
3."stonehearth:material": {"tags" : "wood furniture crafted"} 定義物體,是木制的物品.
4."mob" 這個沒什么實質(zhì)意義,是對于模型是奇數(shù)像素時,用來調(diào)整的.不用管.
第七步:
編寫物體圖標(biāo)文件:
打開 YYYmod/entities/decoration/xxx/xxx_icionic.json 制粘貼這段代碼
{
"mixins": "stonehearth:mixins:item_properties",
"type": "entity",
"components": {
"item" : {
"category" : "furniture"
},
"model_variants": {
"default": {
"models": [
"file(xxx_iconic.qb)"
]
}
},
"mob" : {
"model_origin" : { "x": 0, "y": 0, "z": 0 }
}
}
}
注釋:
1."item" : { "category" : "furniture" } 是給物體歸類的,是倉庫用來分類的.
2.其他的雷同,請參考其他的注釋.
第八步:
物體模型:
1.xxx.qb 是物體模型.
2.xxx_iconic.qb 是物體存放在倉庫時的縮小模型,尺寸是10*10*10的像素.制作模型時要注意,簡單的制作一下就行.
把 .qb 格式的模型放入到 YYYmod/entities/decoration/xxx文件夾里.
關(guān)于.qb模型的制作 我放到另一個教程里說-(模型制作教程).
第九步:
完成制作后,把文件夾 YYYmod 壓縮為.zip文件,再修改擴展名為 YYYmod.smod
(文件夾也可以)把YYYmod.smod 放到 X盤:\Stonehearth v0.1.0r240\mods 文件夾里 即可.
附件:
1.軟件: Notepad++ 6.7.5 下載地址: 點我進(jìn)入
2.制作mod的文件和代碼: 下載地址: 點我進(jìn)入
3.檢查json文件的軟件工具: 下載地址: 點我進(jìn)入
4.在線加成json格式的網(wǎng)站: 點我進(jìn)入
ps:
1.不懂寫代碼的,可以下載mod框架文件,然后按教程,把xxx替換你想要的名字.
2.編寫代碼是要注意代碼的格式.別漏了" , "符號.
3.第一章的教程,不一定非要這樣,這只是最簡單的,你可以看原文件了解更多.
4.并非只能添加一個物體,你可添加多個物體,道理相同的.
點擊進(jìn)入3DM《石爐》游戲論壇專區(qū)

玩家點評 (0人參與,0條評論)
熱門評論
全部評論