[原创][教程]萌新必看!从建模到音效,史上最全资源包教程
本帖最后由 ☭雷光兽☭ 于 2024-2-20 10:59 编辑1.建模篇
首先准备好方块奔驰:loveliness:版本推荐4.3.3,新版本可能有部件错误现象,不过我用着没什么问题,随便
开始!
学会使用建模软件,教程还是有很多的,我简要说明一下基本操作新建“模组版实体”,不要选自由模型,里面那个多面体没用的MTR不会显示,老老实实用小方块堆吧
版本选择你喜欢的版本(现在一般都在1.18以上了吧?)
分辨率一般16边长就行了,这也是MC里一个草方块的大小,更大数值是给那些想做驾驶室操作台用的
现在,点击右侧那个方方正正的+号,嘣~第一个小物块出现了!
这个叫平移大法,通过三个箭头移动你的物块↑
这个是拉伸↓,可以让你改变尺寸,同样是三个方向
这个是旋转工具,让你的物块绕着枢轴点旋转(一定要按下右侧的枢轴居中才能继续操作哦!)
第四个就是移动枢轴点,可以看到我们已经居中的枢轴,利用三个方向移动你的旋转中心
最后一个顶点捕捉我几乎没用过,这个工具似乎是能让物块的边完美对齐就像这样↓首先点击一个小物块,上面出现小方点,点一下它的小方点,再点另一个方块的小方点
看!无缝对接上了
基本工具介绍完毕
按住控制ctrl键点击多个方块可以多选,它们会高亮(再点一次选中的一个方块取消多选,高亮消失),也可以按住舍夫特shift点击右边大纲下的方块实现同样操作,多选的方块集合可以成为一个“整体”移动、旋转,但是你不能直接在右上角输入数值,否则所有方块无视相对位置,全部跑到那个坐标,多选状态最好也不要使用尺寸工具,除非是要求这些物块统一往同一个方向伸展,比如“让多个柱子往同一方向伸长”。
分组每个元素,每个方块都必须在小组里,MTR模组只能识别组内物体,否则就会崩溃。拖动方块移动到小组里,按住某一物块靠近“文件夹”图标,左侧出现蓝条松开。如果是移动到两物之间是蓝横线,拖动到最底部则会把它移出小组
点击小组就能全选组内物体,平移非常方便组里面也能套组组中组套娃
基本搭建技巧完毕,我们开始认真造车吧
从底座——车底开始这个车底分为独立一组,是在每节车厢都要出现的
注意到没有那个网格平面?那个就是判定你的列车能否贴地行驶的关键,想象一下在网格下面16单位高度的地方就是MC地面,而MTR规定列车接触的”地面“正是在网格平面下方16像素处,可以创建一个16边长方块参考
我这里刚好是这个高度,正适合一个方块高度站台然后选中底座,看左上角变换→居中,把Z轴居中,不然在MTR里你的列车可能会没法与连接棚契合,X轴也要居中。哦对了,车辆必须是沿Z轴行驶方向的,如果不这样做在游戏里你的车就是以“漂移”的姿态在轨道上,全选你的车体→枢轴居中→通过圆圈或右上角箭头控制角度(旋转90°让车与Z轴平行就行),切记不要直接输入角度数值,那样会导致你的所有物块各自旋转,如果你已经手残做了请立刻按下CTRL+Z键撤销你问我怎么知道的?说多了都是泪案例↓(未Z轴居中,因为风挡是永远对齐轨道的,所以可以作为你车体是否对齐的标尺)
OK车底弄好了,在车底基础上搭好车体吧,只需要一个车头和一个车厢模型就行了
我们加亿点点细节……好了现在她很符合空气动力学
车厢也一样,利用你精湛的手艺。
最后要把车厢车头分别对齐同一个车底,就像这样公然穿模
如果你得寸进尺还想要开关门动画、灯光,你就得另外再分组给一些部件,然后再资源包创建器里设置了
那么,所有完成,可以导入游戏了OH nononono~~~你还没上色呢总不可以开着透明列车吧←这样说也不准确,因为没有纹理在游戏里会显示白色
看左下角这个,创建纹理
记住!保持多纹理占用这个选项一定要关掉,不要勾!!!如果你的方块占用同一区域的材质,就会撞色,每块不同部件必须要有属于自己的“领地”,这个等纹理生成之后细说命名、禁用“多纹理占用”,确定,然后等个三四分钟,积木越多越久,你可以在此期间打开浏览器刷会视频哦,还得注意一点,创建纹理模板之前你得把需要用上的所有部件都显示出来(戳右侧小眼睛可以隐藏组或物块,让你方便设计内部结构),否则该物块不会有自己的领地
创建好了,现在目光转向左上角,这个叫“UV贴图”,也就是整个列车的二维展开图。这里有很多蓝色框,框住了色块
这些色块就是每个方块被二向箔压扁的平面展开图,而蓝框就是这些物块对应的“领地”拖动小蓝框可以移动到其他颜色上,小蓝框也是可以多选的哦
对了,这个长得像链接的不要随便打开,否则框框会带着颜色一起移动,旁边的三角形是镜像图案,没什么用绘画的时候开镜像或者画好一面复制一面后翻转(左上角变换)比这个好用多了
每一个蓝框都是每一个物块的“色彩领地”,或者说“色彩空间”,你一定不能让任何领地有重合部分,否则当你给其中一个涂色,另一个也会出现颜色。当然同色的纯色物块可以放一起,节省图片大小,我的方法是在UV贴图边角画个纯色区域,然后把所有颜色相同的、六面同色的纯色物块的蓝框堆到那里面
好了,上好色了,我们进游戏吧
2.资源包创建器的使用方法
拿出物品栏里的资源包创建器,右键打开,点击左下角选项
分别载入你的模型文件、贴图,中间那个属性文件你第一次做资源包用不上,是留给你之后修改已有资源包用的下面ID就是你的列车在文件夹里显示的名字,只能英文,名称随便,如果要中文最好填写U码,不然可能有乱码问题(案例:乱码问题,为什么同一个资源包导出会有不同的结果? - 资源包开发 - MTRBBS 我的世界铁路中文论坛)
按下完成,然后进入编辑界面
把你需要的部件(都是分组)加进去,同一组部件可以重复添加(所以不要在建模阶段加太多一样的东西,每一种留一个就行)调整右上角长度,使你的车厢之间距离合理
这时候发现你的所有部件叠在一起了咋办?正常我知道你很急但你先别急点进右边任意一个部件,比如一号车头
白名单填1,代表你这个只能在第一节(前向车头)出现,黑名单填%2,%2+1,代表你在所有车厢都不会出现车厢也一样,我这里设定车厢为“只能第二节出现”
是不是好看多了?
众所周知,高铁是需要两个车头的,但是为什么这里后面是个平板车???我们从左边再加一个1号车头
镜像对称设置好黑白名单完美
如果你做得很细,有其他部件同样是添加,写好黑白名单看右上角,选择它的类型如果是车门,就把车门偏移换成别的,+左侧和-左侧代表只有左边有站台才会开门,+右侧和-右侧代表只有右边有站台才会开门车门一定要左右两侧是独立的,不能两边车门是同一组,你可以在建模阶段做两个不同组的门,也可以只做一侧的门,在资源包创建器里添加两个一样的车门,然后镜像对称,就像车头一样,然后呢。。。位置错啦
别忘了创建器也是有平移大法的,只不过比较鸡肋,只能输入数值回车
凭感觉慢慢移动它对齐了!
经过类似的一堆骚操作后,你的列车已经设置并组装好了,可以导出资源包了选项→导出
现在生成了一个压缩包,已经是可以载入游戏使用的了
等等!有聪明的小伙伴们就要问了:“LZLZ,无限车厢怎么做?就是轨道多长列车多长的那个”你只需要把车厢的白名单从2改成%2,%2+1,黑名单改为1就行了“但是这样只有一个前向车头啊,怎么办?”很简单,把你第二个车头…就是镜像的那个,黑名单设置为%2,%2+1,白名单填-1,把车厢黑名单加上-1,这样后向车头就会一直出现在最后一节了,而不是车厢。(这种设计的缺点是单节状态前后车头会叠在一起)所以就有了2.5——子教程
2.5.让单节状态变成双向车头 就像MTR自己一样!
首先明确车厢与车头的共同点——就是车厢,可以和底座绑定为同一组
做好其中一个驾驶舱
进入游戏,拿出资源包创建器
添加一个共同点车体和两个驾驶室,其中一个驾驶室镜像共同点车体白名单:%2,%2+1,黑名单无驾驶室白名单:1,黑名单:%2,%2+1镜像驾驶室白名单:-1,黑名单:%2,%2+1现在单节车厢会有两个车头,多节车厢也没问题了。这个办法的缺点是驾驶室这样接上去有点强行合体的感觉,不美观
“所以可以导出资源包了吗?”呃···当然可以
3.我们需要更深入一点打开你的资源包ZIP
Pack.png是你的资源包LOGO,可以不加,此时你的资源包在游戏里就是石头图案Pack.mameta是很重要的文件,打开里面写着{"pack":{"pack_format":资源包的世代,1.19的填9,"description":"赞扬你资源包的文字"}}这个文本很简单的,写好后保存更新压缩包再打开里面的文件夹
来到这里(资源包压缩包\assets\mtr),这里每个文件夹(除sounds外,这是音效区,后文会细说)都是你的列车本体点进去可以看到列车三要素——模型文件、属性JSON、贴图
这里我们着重看上一页的mtr_custom_resources.json打开它
我这里一大堆是因为我资源包里有多个列车,资源包创建器生成的资源包只包含一辆车所以你的JSON里是这样的{"custom_trains":{ "列车文件夹名称":{"name":"你的列车名字(U码)","description":"称赞你列车的华丽文案":"。","color":"颜色代码,决定你的列车在仪表板里图标的颜色",//一般不用填↓"gangway_connection_id":"要引用连接棚(其实这玩意叫风挡,不过我还是习惯叫它棚子或者水管)的列车文件夹名称","train_barrier_id":"(不知道啥玩意)",//一般不用填↑"door_animation_type":"车门活动类型", ←在资源包创建器里设置就好,是一个全大写的单词"render_door_overlay":false,//↓玩家站立高度,也就是车内的地板高度,在资源包创建器里那个“乘坐偏移值”就是这个数据。如果发现玩家腿陷进地板或者车内浮空可以考虑动一下这个,是一个小数↓经过研究,有公式:你预期想要的玩家高度位置(像素)÷16,以blockbench编辑器内的网格面为0高度点"rider_offset":0.0,//↓从上到下依次是:列车贴图路径、模型路径、属性文件。这些是已经生成好的"texture_id":"mtr:该列车文件夹/列车英文ID","model":"mtr:该列车文件夹/列车英文ID.bbmodel","model_properties":"mtr:该列车文件夹/列车英文ID.json"}}}
按规定语法写好上面的核心代码,你的单列车资源包已经可以正常使用了。(其实模组已经帮你生成了,只不过是密集堆积没有转行,不好看。你可以适当转行美观一点)
4.多列车资源包如果你弄出很多个资源包,想合并?选择一个已有资源包作为“核心”,把其他资源包里面的列车文件夹统一移动到“核心”对应的位置,这里依然是拿我的列车包做示例
然后打开刚刚的mtr_custom_resources.json按照以下语法
示例代码"车1文件夹":{"name":"名字(U码)","description":"赞美车1的文字","wikipedia_article":"","color":"车1的颜色代码","gangway_connection_id":"","train_barrier_id":"","door_animation_type":"PLUG_FAST",←PLUG_FAST代表车门动画是塞拉门"render_door_overlay":false,"rider_offset":0.0, ←乘坐偏移值,也就是玩家站立高度//模型与贴图与各部件属性"texture_id":"贴图路径", ←格式为"mtr:列车数据文件夹\贴图.png"model":"mtr:模型路径",←格式为"mtr:列车数据文件夹\模型.bbmodel"model_properties":"属性文件路径", ←格式为"mtr:列车数据文件夹\JSON文件 },←注意这,这里应该是一个逗号,如果没有,车1就会被判定为最后一辆车,游戏里不会加载
"车2":{"name":"名字(U码)","description":"描述车2的文字","wikipedia_article":"","color":"车2的颜色代码",//一堆属性"gangway_connection_id":"","train_barrier_id":"","door_animation_type":"STANDARD","render_door_overlay":false,"rider_offset":0.0,"texture_id":"贴图路径","model":"模型路径","model_properties":"属性路径"}←注意了,如果你还想加车,这个}后面要加英文逗号,如果这是最后一车,就千万别加逗号 }}
别忘了把pack.mcmeta(应该还是车1的信息)里面的信息改成组合资源包的名字哦就这样,你完成了多列车包的组合
开车咯~~~咦?怎么没声音?火车的隆隆声呢?那震山岗的浑厚鸣笛声呢
还记得前文提到的“音效区”吗
5.引用MTR音效打开mtr_custom_resources.json取其中一个列车的代码块"列车ID":{"name":"列车名称","description":"广告词","wikipedia_article":"。","color":"图标颜色代码","gangway_connection_id":"","train_barrier_id":"","door_animation_type":"PLUG_FAST",←PLUG_FAST代表车门动画是快速的塞拉门"render_door_overlay":false,"rider_offset":0.0,"texture_id":"贴图路径","model":"模型路径","model_properties":"各物块属性文件路径"},←逗号代表在本JSON文档中这个列车代码块不是最后一行,如果是最后一行则没有逗号(注意细节,反复强调)
资源包创建器生成的JSON不包含音效代码,需要你自己加上去,加在 "列车ID":{ }, 之间就行了 "speed_sound_base_id":"m_train",←行驶声音文件夹,可以填写MTR自带列车音效,比如sp1900、m_train、c_train"speed_sound_count":66, ←声音计数,不知道干啥的,可能是音频停留时间(过小的值导致音频没播完就停止)"door_sound_base_id":"sp1900", ←车门音效文件夹,可以填写MTR自带列车音效,比如sp1900、m_train、c_train 自此,你给自己的列车配上了MTR提供的音效那如果想要自己的音效呢?
5.5配音(警告:本步骤对某些人可能非常耗肝!不建议肝功能低下人群做!)首先准备素材——至少43:06秒(MTR自带列车音效有42~96份,每种车是不固定的)的列车行驶音,OGG格式,然后平均切成至少72份注意最好要多一点!除非你能把握好你的列车限速在有声音的速率你肯定也不希望轰隆隆着戛然而止一点也不丝滑反面教材:燕山A1型轨道车《巨神战击队4》五合体列车的“啸狮号”至少需要72份(按照命名规则,最后一个命名会是23c),因为这个是在300km/h极限速度下刚好能够加载到的最后一个音频我也不知道为什么其他MTR列车份数这么少却可以在更高速度连续播放,这是个未解之谜再把它们每个重命名为speed_5a、speed_6c这样的,如图,如果手动一个个搞这个过程肯定是非常无聊低效率的,如果你会批量重命名软件就可以很快编号0a到23c这些号码对应的是速度由低到高,加减速都一样,并不需要额外倒放一份来弄减速音效。因为加速阶段声音加载顺序是0a~23c,而减速阶段则是从23c开始加载到0a
然后把这些音效文件复制到两个文件夹里,文件夹分别命名为acceleration(加速)和decceleration(减速),因为MTR没有“鸣笛”音频,想要列车发出威风凛凛的“吼声”可以采取以下方法:把前端音频(大概0a~3a之间)这几个音频片段替换成鸣笛音频,这样列车在起动和停车的一瞬间就会鸣笛。你也可以随意在其他速度区间覆盖鸣笛声
音频准备好后,在和列车文件夹同级的地方(资源包压缩包\assets\mtr)创建sounds文件夹,在sounds文件夹里新建文件夹,命名可以随意(只要你认得出来,后面需要在mtr_custom_resources.json填写该文件夹的名字),把acceleration和decceleration两个文件夹拉进新建文件夹里面,我这里是选择和列车模型文件夹相同的名字了
与acceleration同级的两个door_open和door-close就是车门音效,名字不能自定义,必须是这个命名音频文件已经放好了,现在需要“注册”它们
在资源包压缩包\assets\mtr,新建JSON文本,sounds.json然后又是一阵无聊的重复过程——把每个音频名字填写,这一步没有任何工具可以快捷完成,真的只能玩家一个个打字进去加减速总共要写72+72句啊示例代码{ "phoenix_door_close":{ ←必须是“列车英文ID_door_close“,否则MTR不知道你这个是关门音效 "sounds": [ { "name":"mtr:phoenix/door_close",←音频所在文件夹(我这里名字是phoenix,文件夹名称也就是上面说的你刚刚命名的、包含acceleration和decceleration还有两个车门音效的文件夹 "pitch": 1, ←不知道啥玩意 "attenuation_distance":32 ←声音传播距离,随意,但如果不是单声道,无论多远,声音也不会消减 } ] }, ←别忘了逗号"phoenix_door_open":{ ←必须是“列车英文ID_door_open”,否则MTR不知道你这个是开门音效 "sounds": [ { "name":"mtr:phoenix/door_open", "pitch": 1, "attenuation_distance":32 } ] }, ←别忘了逗号……//以此类推,每辆需要自定义的车都加个开关门音效 "lion_acceleration_0a":{ ←把你那25个音频按照“列车ID_acceleration_数字+字母”的方式一个个加进来 "sounds": [ { "name":"mtr:lion/acceleration/speed_0a", "pitch": 1, "attenuation_distance":32 } ] }, ←别忘了逗号 "lion_acceleration_1a": { ←把你那72个音频按照“列车ID_acceleration_数字+字母”的方式一个个加进来 "sounds": [ { "name":"mtr:lion/acceleration/speed_1a", "pitch": 1, "attenuation_distance":32 } ] }, ←别忘了逗号…………………………………………… "lion_deceleration_8c": { "lion_deceleration_8c": { "sounds": [ { "name":"mtr:lion/deceleration/speed_8c", "pitch": 1, "attenuation_distance":32 } ] } ←别忘了加逗号(反面教材) } "sounds": [ { "name":"mtr:lion/deceleration/speed_8c", "pitch": 1, "attenuation_distance":32 } ] } ←别忘了最后一个音频不能加逗号 }
OK,所有音频注册完成,可以到mtr_custom_resources.json里配置了就像引用音效一样,只不过这次不是填sp1900那些,而是填写自己的音效文件夹忽略其他属性参数代码,剩下声音代码块就是这样的"列车ID":{"speed_sound_base_id":"m_train","speed_sound_count":66,"door_sound_base_id":"tiger",} 给每个列车代码加上声音吧~
6.恭喜你看完了这篇教程!完结撒花! 小贴士JSON语法不限制转行与空格,所以你可以在冒号后面加多点空格,变成…这样的↓"texture_id": "mtr:19/19","model": "mtr:1145/4514.bbmodel","speed_sound_base_id": "m_train","speed_sound_count": 66,"door_sound_base_id": "666",
或者是这样的↓"louzhu":{"name":"\u697c\u4e3b","description":"§9教程的作者,发出这篇帖子的用户","wikipedia_article":"","color":"114514","gangway_connection_id":"mtr:air","train_barrier_id":"","door_animation_type":"PLUG_FAST","render_door_overlay":false,"rider_offset":0.8,"texture_id":"mtr:1919/810","model":"mtr:1919/810.bbmodel","model_properties":"mtr:1919/810.json","speed_sound_base_id":"lanseyaoji","speed_sound_count":666,"door_sound_base_id":"big_door_boy♂boy"},地球村EarthVillage 本帖最后由 杨岱.我的世界 于 2023-9-13 06:21 编辑
我崩溃,怎么下软件?
怎么调中文
感谢大佬的教程,终于知道资源包怎么制作了:'( 本帖最后由 ssah0618 于 2023-9-24 17:17 编辑
杨岱.我的世界 发表于 2023-9-13 05:48
我崩溃,怎么下软件?
怎么调中文
点这个 车厢连接处纹理则么改啊 感谢大佬的教程,不过有个问题
关于车底部分(转向架等)有制作教程或资源吗? MLREMU 发表于 2024-3-20 17:27
车厢连接处纹理则么改啊
不知道,下一个 shumou_ya 发表于 2024-4-16 11:00
感谢大佬的教程,不过有个问题
关于车底部分(转向架等)有制作教程或资源吗? ...
没有,你肘吧 shumou_ya 发表于 2024-4-16 14:00
感谢大佬的教程,不过有个问题
关于车底部分(转向架等)有制作教程或资源吗? ...
我有转向架,别人那里下的https://wwi.lanzoub.com/iCPBE25l2tte
页:
[1]