石爐 MOD製作教程 職業物品特效MOD製作 MOD怎麽用
石爐 MOD製作教程 職業物品特效MOD製作 MOD怎麽用
基礎知識:
我們首先講一講製作mod所使用的軟體還有遊戲的基本框架.
1.遊戲的基本框架:
這遊戲的模型是.qb格式,是利用qubicle軟體製作,跟以往的C4D和3Dmax等貼圖模型軟體,是不一樣的。.qb模型是一種體素模型。
這遊戲 引擎是C++和OpenGL。大多數都是Lua腳本。GUI是寫在HTML / JS。文本和屬性是json.
2.需要的軟體:
模型製作需要qubicle軟體,模型文件後綴名是: .qb (正版需要購買,免費版功能不全,另有軟體代替,模型製作教程會講到)
遊戲腳本文件推薦用Notepad++軟體打開,遊戲文件包含有:.json .lua .html .less .js .
3.認識遊戲文件的框架:
該遊戲的主文件在:X盤:\Stonehearth v0.1.0r240\mods 文件夾裡,
"stonehearth.smod"文件就是主要的遊戲文件,該文件實質是壓縮文件,可以用壓縮軟體打開,也可以修改擴展名為.zip後再打開.
打開後,我們認識一些文件夾的作用:
-ai------------------遊戲AI
-call_handlers-------控制人物的腳本
-components----------存放遊戲的組件
-data----------------遊戲數據存放地方
-docs----------------說明文件
-entities------------遊戲模型存放的地方
-jobs----------------遊戲職業的文件
-lib-----------------遊戲的一些腳本
-locales-------------遊戲的大部分文本
-mixins--------------插入遊戲內容放置的地方
-release_notes-------更新日誌
-renderers-----------遊戲渲染器
-scenarios-----------情景劇情文件
-services------------遊戲伺服器
-ui------------------遊戲的界面文件
-manifest.json-------遊戲指引文件
其中有一些文件我們不需要了解太多,後面會講到我們需要的文件.
如何製作簡單的mod:
我們該如何在遊戲中添加自己做的模型呢:
我們先定下一個目標,我們要製作一個添加裝飾物的mod,這個裝飾物的名字是:xxx
第一步:
我們先新建一個文件夾 YYYmod (YYY是自己定的)
在裡面按照這樣子建立文件夾和文件:
-YYYmod
----recipes
-------xxx_recipes.json
----mixins
--------recipes.json
----entities
-------xxx.json
-------xxx.qb
-------xxx.png
----manifest.json
第二步:
建立好後,我們先打開manifest.json文件 複製粘貼這段代碼
{
"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)裡的內容
插入到"/stonehearth/jobs/carpenter/recipes/recipes.json"
前面是原版的路徑,後面是我們mod的路徑.意思是把該物體合成配方添加
到木匠的工作台的合成配方,carpenter是木匠,可以改為其他職業.第三步:
好了,我們編寫好了指引文件,接下來要編寫,添加該物體的合成配方到木匠的工作台上:
我們打開 YYYmod/mixins/recipes.json 複製粘貼這段代碼
{
"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 複製粘貼這段代碼
{
"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" 材料,後面跟著的是需要合成的材料和數量.
8."wood resource" 這裡可以替換的,石頭是"stone resource".
9."produces" 產物. 而"item":"YYYmod:decoration:xxx"這個就是前面提到的ID.
第五步:
編寫物體的屬性和數據:
打開 YYYmod/entities/decoration/xxx/xxx.json 複製粘貼這段代碼
{
"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" 這裡是設置物體在倉庫時和虛影時分別的模型,
"iconic_form"是物體在倉庫時的模型,"ghost_form"是物體虛影時的模型.後面的是相應的路徑.
"placeable_on_ground" : true,表示該物體可以放在地方,"placeable_on_wall" 是在牆上,可以替換
4."region_collision_shape"設置模型的碰撞體,x y z 數據自己填,要看自己的模型大小來調.
5."entity_data" 實體數據,"value_in_gold" 價值是多少."rarity" : "common" 稀有程度:普通.
6."shop_info" 商店設置;"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"圖標.
3."stonehearth:material": {"tags" : "wood furniture crafted"} 定義物體,是木製的物品.
4."mob" 這個沒什麽實質意義,是對於模型是奇數像素時,用來調整的.不用管.
第七步:
編寫物體圖標文件:
打開 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文件夾裡.
關於.qb模型的製作 我放到另一個教程裡說-(模型製作教程).
第九步:
完成製作後,把文件夾 YYYmod 壓縮為.zip文件,再修改擴展名為 YYYmod.smod
(文件夾也可以)把YYYmod.smod 放到 X盤:\Stonehearth v0.1.0r240\mods 文件夾裡 即可.
附件:
1.軟體: Notepad++ 6.7.5 下載地址: 點我進入
2.製作mod的文件和代碼: 下載地址: 點我進入
3.檢查json文件的軟體工具: 下載地址: 點我進入
4.在線加成json格式的網站: 點我進入
ps:
1.不懂寫代碼的,可以下載mod框架文件,然後按教程,把xxx替換你想要的名字.
2.編寫代碼是要注意代碼的格式.別漏了" , "符號.
3.第一章的教程,不一定非要這樣,這只是最簡單的,你可以看原文件了解更多.
4.並非只能添加一個物體,你可添加多個物體,道理相同的.
點擊進入3DM《石爐》遊戲論壇專區