|
还没有账号?赶快去注册吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 ☭雷光兽☭ 于 2023-8-10 16:47 编辑
1.建模篇 首先准备好方块奔驰  版本推荐4.3.3,新版本可能有部件错误现象,不过我用着没什么问题,随便
开始! 首先学会使用建模软件,教程还是有很多的,我简要说明一下基本操作 新建“模组版实体”,不要选自由模型,里面那个多面体没用的MTR不会显示,老老实实用小方块堆吧
版本选择你喜欢的版本(现在一般都在1.18以上了吧?)
分辨率一般16边长就行了,这也是MC里一个草方块的大小,更大数值是给那些想做驾驶室操作台用的 现在,点击右侧那个方方正正的+号,嘣~第一个小物块出现了!
这个叫平移大法,通过三个箭头移动你的物块↑ 这个是拉伸↓,可以让你改变尺寸,同样是三个方向
这个是旋转工具,让你的物块绕着枢轴点旋转(一定要按下右侧的枢轴居中才能继续操作哦!)
第四个就是移动枢轴点,可以看到我们已经居中的枢轴,利用三个方向移动你的旋转中心
最后一个顶点捕捉我几乎没用过,这个工具似乎是能让物块的边完美对齐 就像这样↓ 首先点击一个小物块,上面出现小方点,点一下它的小方点,再点另一个方块的小方点
看!无缝对接上了
基本工具介绍完毕
按住控制ctrl键点击多个方块可以多选,它们会高亮(再点一次选中的一个方块取消多选,高亮消失),也可以按住舍夫特shift点击右边大纲下的方块实现同样操作,多选的方块集合可以成为一个“整体”移动、旋转,但是你不能直接在右上角输入数值,否则所有方块无视相对位置,全部跑到那个坐标,多选状态也不能使用尺寸工具
分组每个元素,每个方块都必须在小组里,MTR模组只能识别组内物体,否则就会崩溃。拖动方块移动到小组里
点击小组就能全选组内物体,平移非常方便
基本搭建介绍完毕,我们开始认真造车吧 从底座——车底开始 这个车底分为独立一组,是在每节车厢都要出现的
注意到没有那个网格平面?那个就是判定你的列车能否贴地行驶的关键,想象一下在网格下面16单位高度的地方就是MC地面,而MTR规定列车地板到轮子底部距离必须是16像素,可以创建一个16边长方块参考
我这里刚好是这个高度,正适合一个方块高度站台 然后选中底座,看左上角变换→居中,把Z轴居中,不然在MTR里你的列车可能会没法与连接棚契合,X轴也要居中。哦对了,车辆必须是沿Z轴行驶方向的,如果不这样做在游戏里你的车就是以“漂移”的姿态在轨道上 案例↓
OK车底弄好了,在车底基础上搭好车体吧,只需要一个车头和一个车厢模型就行了
我们加亿点点细节……好了现在她很符合空气动力学
车厢也一样,利用你精湛的手艺。
最后要把车厢车头分别对齐同一个车底,就像这样
如果你得寸进尺还想要开关门动画、灯光,你就得另外再分组给一些部件,然后再资源包创建器里设置了
那么,所有完成,可以导入游戏了 OH nononono~~~ 你还没上色呢总不可以开着透明列车吧 看左下角这个,创建纹理
记住!保持多纹理占用这个选项一定要关掉,不要勾!!!如果你的方块占用同一区域的材质,就会撞色,这个等纹理生成之后细说 命名、禁用“多纹理占用”,确定,然后等个三四分钟,积木越多越久,你可以在此期间打开浏览器刷会视频 哦,还得注意一点,创建纹理模板之前你得把需要用上的所有部件都显示出来,否则该物块不会有自己的领地
创建好了,现在目光转向左上角,这里有很多蓝色框,框住了色块
这些色块就是每个方块被二向箔压扁的平面展开图,而蓝框就是这些物块对应的“领地” 拖动小蓝框可以移动到其他颜色上,小蓝框也是可以多选的哦
对了,这个长得像链接的不要随便打开,否则框框会带着颜色一起移动
好了,上好色了,我们进游戏吧
2.资源包创建器的使用方法
拿出物品栏里的资源包创建器,右键打开,点击左下角选项
分别载入你的模型文件、贴图,中间那个属性文件你第一次做资源包用不上,是留给你之后修改已有资源包用的
按下完成,然后进入编辑界面
把你需要的部件(都是分组)加进去 调整右上角长度,使你的车厢之间距离合理
这时候发现你的所有部件叠在一起了咋办? 正常
我知道你很急但你先别急 点进右边任意一个部件,比如一号车头
白名单填1,代表你这个只能在第一节(前向车头)出现,黑名单填%2,%2+1,代表你在所有车厢都不会出现 车厢也一样,我这里设定车厢为“只能第二节出现”
是不是好看多了?
众所周知,高铁是需要两个车头的,但是为什么这里后面是个平板车??? 我们从左边再加一个1号车头
镜像对称 设置好黑白名单 完美
如果你做得很细,有其他部件 同样是添加,写好黑白名单 看右上角,选择它的类型 如果是车门,就把车门偏移换成别的,+左侧和-左侧代表只有左边有站台才会开门,+右侧和-右侧代表只有右边有站台才会开门 车门一定要左右两侧是独立的,不能两边车门是同一组,你可以在建模阶段做两个不同组的门,也可以只做一侧的门,在资源包创建器里添加两个一样的车门,然后镜像对称,就像车头一样,然后呢。。。 位置错啦
别忘了创建器也是有平移大法的,只不过比较鸡肋,只能输入数值回车
凭感觉慢慢移动它 对齐了!
经过类似的一堆骚操作后,你的列车已经设置并组装好了,可以导出资源包了 选项→导出
现在生成了一个压缩包,已经是可以载入游戏使用的了
等等! 有聪明的小伙伴们就要问了:“LZLZ,无限车厢怎么做?就是轨道多长列车多长的那个” 你只需要把车厢的白名单从2改成%2,%2+1,黑名单改为1就行了 “但是这样只有一个前向车头啊,怎么办?” 很简单,把你第二个车头…就是镜像的那个,黑名单设置为%2,%2+1,白名单填-1,把车厢黑名单加上-1,这样后向车头就会一直出现在最后一节了,而不是车厢。(这种设计的缺点是单节状态前后车头会叠在一起) 所以就有了2.5——子教程
2.5.让单节状态变成双向车头
首先明确车厢与车头的共同点——就是车厢,可以和底座绑定为同一组
做好其中一个驾驶舱
进入游戏,拿出资源包创建器
添加一个共同点车体和两个驾驶室,其中一个驾驶室镜像 共同点车体白名单:%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 打开它
我这里一大堆是因为我资源包里有多个列车,资源包创建器生成的资源包只包含一辆车 所以是这样的 {"custom_trains":{ "列车文件夹名称":{ "name":"你的列车名字(U码","description":"称赞你列车的华丽文案":"。","color":"颜色代码,决定你的列车在仪表板里图标的颜色", //一般不用填↓ "gangway_connection_id":"要引用连接棚的列车文件夹名称", "train_barrier_id":"(不知道啥玩意)", //一般不用填↑ "door_animation_type":"车门活动类型", "render_door_overlay":false, //↓玩家站立高度,也就是车内的地板高度,在资源包创建器里那个“乘坐偏移值”就是这个数据。如果发现玩家腿陷进地板或者车内浮空可以考虑动一下这个,是一个小数↓ "rider_offset":0.0, //↓从上到下依次是:列车贴图路径、模型路径、属性文件。这些是已经生成好的 "texture_id":"mtr:该列车文件夹/列车英文ID", "model":"mtr:该列车文件夹/列车英文ID.bbmodel", "model_properties":"mtr:该列车文件夹/列车英文ID.json" } }}
按规定语法写好上面的代码,你的单列车资源包已经可以正常使用了。(其实模组已经帮你生成了,只不过是密集堆积没有转行,不好看。
4.多列车资源包 如果你弄出很多个资源包,想合并? 选择一个已有资源包作为“核心”,把其他资源包里面的列车文件夹统一移动到“核心”对应的位置,这里依然是拿我的列车包做示例
然后打开刚刚的mtr_custom_resources.json 按照以下语法 "车1文件夹":{ "name":"\u8f95\u9f99","description":"赞美车1的文字","wikipedia_article":"","color":"车1的颜色代码", "gangway_connection_id":"", "train_barrier_id":"", "door_animation_type":" LUG_FAST", "render_door_overlay":false, "rider_offset":0.0, //模型与贴图与各部件属性 "texture_id":"mtr:dragon/dragon", "model":"mtr:dragon/dragon.bbmodel", "model_properties":"mtr:dragon/dragon.json", },←注意这,这里应该是一个逗号,如果没有,车1就会被判定为最后一辆车,游戏里不会加载
"车2":{"name":"\u78a7\u7532","description":"描述车2的文字","wikipedia_article":"","color":"车2的颜色代码", //一堆属性 "gangway_connection_id":"", "train_barrier_id":"", "door_animation_type":"STANDARD", "render_door_overlay":false, "rider_offset":0.0, "speed_sound_base_id":"k_train", "speed_sound_count": 66, "door_sound_base_id":"xuanwu", "texture_id":"mtr:xuanwu/xuanwu", "model":"mtr:xuanwu/xuanwu.bbmodel", "model_properties":"mtr:xuanwu/xuanwu.json" }←注意了,如果你还想加车,这个}后面要加英文逗号,如果这是最后一车,就千万别加逗号 }}
别忘了把pack.mcmeta(还是车1的信息)里面的信息改成组合资源包的名字哦 就这样,你完成了多列车包的组合
开车咯~~~ 咦?怎么没声音?火车的隆隆声呢?那震山岗的浑厚鸣笛声呢
5.引用MTR音效打开mtr_custom_resources.json 取其中一个列车的代码块 "列车ID":{ "name":"列车名称","description":"广告词","wikipedia_article":"。","color":"图标颜色代码", "gangway_connection_id":"", "train_barrier_id":"", "door_animation_type":" LUG_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配音(警告:本步骤对某些人可能非常耗肝!不建议肝功能低下人群做!)首先准备素材——一段1秒左右的列车行驶音,OGG格式,然后复制25份 再把它们每个重命名为speed_5a、speed_6c这样的,如图,如果手动一个个搞这个过程肯定是非常无聊低效率的,如果你会批量重命名软件就可以很快编号
然后把这些音效文件复制到两个文件夹里,文件夹分别命名为acceleration(加速)和decceleration(减速),因为MTR没有“鸣笛”音频,想要列车发出威风凛凛的“吼声”可以采取以下方法:把加速音频的前端音频(大概0a~0c之间,不要超过0c)和减速音频的末端(7b~8a)这几个音频片段替换成鸣笛音频,这样列车在起动和停车的一瞬间就会鸣笛
音频准备好后,在和列车文件夹同级的地方(资源包压缩包\assets\mtr)创建sounds文件夹,在sounds文件夹里新建文件夹,命名可以随意(只要你认得出来,后面需要在mtr_custom_resources.json填写该文件夹),把acceleration和decceleration两个文件夹拉进新建文件夹里面,我这里是选择和列车模型文件夹相同的名字了
与acceleration同级的两个door_open和door-close就是车门音效,名字不能自定义,必须是这个命名 音频文件已经放好了,现在需要“注册”它们
在资源包压缩包\assets\mtr,新建JSON文本,sounds.json 然后又是一阵无聊的重复过程——把每个音频名字填写,这一步没有任何工具可以快捷完成,真的只能玩家一个个打字进去 示例代码 { //必须是“列车英文ID_door_close“,否则MTR不知道你这个是关门音效→"phoenix_door_close":{ "sounds": [ { "name":"mtr:phoenix/door_close",←音频所在文件夹,文件夹名称也就是上面说的你刚刚命名的、包含acceleration和decceleration还有两个车门音效的文件夹 "pitch": 1,←不知道啥玩意 "attenuation_distance":32←声音传播距离,随意,但如果不是单声道,无论多远,声音也不会消减 } ] }, ←别忘了逗号 //必须是“列车英文ID_door_open”,否则MTR不知道你这个是开门音效→"phoenix_door_open":{ "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": { ←把你那25个音频按照“列车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":" LUG_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"},
|
|