- UID
- 3803
- 注册时间
- 2014-2-24
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 精华
- 阅读权限
- 30
- 听众
- 收听
|
今天我来教大家如何制作MOD
首先,你需要3ds Max或Blender等(至少一种)建模软件,PS,还有unity3d游戏引擎
Unity3d Parttools插件:http://pan.baidu.com/s/1sjvuYPv
让我们先打开3ds max,建造模型,因为是教程,所以我就随便弄个圆柱
首先配置一下3ds max的单位设置
自定义-单位设置
KSP里的单位是米,所以把单位比例改成米
注意你的模型面数(单个模型面数最好不要超过5万面,到游戏里可能会卡)、大小。2.5米直径相当于游戏里的橙罐。
模型完成以后,让我们把做好的贴图弄到模型上面
找到渲染-材质编辑器,快捷键是M
选择一个材质球
点一下漫反射后面的按钮
找到位图,确定
选择你已经制作好的贴图(注意贴图格式最好是PNG,不要有中文,不能用DDS贴图,因为unity3d不支持DDS贴图)
后把材质球拖到模型上,贴图位置不对就需要用UVW贴图、UVW展开来调整(这里就不做讲解了,自己去找教程)如果想让模型细节更多而不想增加面数就可以使用法线贴图
模型做好了,接下来该导出了,导出之前让我们先把模型的坐标全部归零
导出FBX文件(FBX支持动画)或者OBJ文件
导出的时候把翻转YZ轴勾选,不勾选的话,到unity3d模型会是倒的
导出完后,我们关掉3DMAX,打开unity3d,把下载好的插件导入进去
双击这两个文件
然后点击Import进行导入,等一会就完成了
然后,找到你导出的模型还有贴图拖到这里
如果Scale Factor不是1,那么将他改成1。Scale Factor影响模型大小
然后让我们把模型拖到场景中
模型的坐标全部归零
然后把贴图贴上去,选择KSP的shader
随便选择一个材质,我就选择Specular吧,这个有反光效果
然后给模型设置碰撞网,选择Mesh Collider,其他的collider是各种形状的碰撞网。
把这个勾上,然后你就可以看到模型上出现了绿色的网。
开始取节点,创建一个空对象,GameObject的create empty,把这个空对象的坐标归零,然后移动到你想要设置
节点的地方,然后把transform的第一行的坐标记下来,写CFG的时候用的上
不用特别精确,比如这样就直接记下0,5.99,0
接着空对象就可以删掉了
然后开始导出到KSP
点击Add Component,找到KSP里的Part Tools和Part Tools Library
选择你的GameData目录
设置完成贴图和路径后,点击Write导出,然后你就可以看到文件夹里出现了MU文件和MBM文件(注意 PNG贴图会影响加载速度)
这两个名字最好一样
(注意,贴图文件导出后不能改名,否则游戏会找不到贴图)
OK,开始写cfg
WIKI上的CFG教程:http://wiki.kerbalspaceprogram.com/wiki/CFG_File_Documentation
在cfg中输入以下内容
PART
{
name = cylinder //组件名称,不是在游戏里的名字
module = Part
author = 11111 //作者
mesh = cylinder.mu //模型名称
rescaleFactor = 1 //缩放大小,修改此项不会影响节点的位置
//此项是节点
(组件连接点坐标前三个从左到右为X Y Z轴,4-6是方向,1为正向,-1为反向(对应的坐标轴),最后一个为连接点有效半径)
node_stack_top = 0.0, 5.99, 0.0, 0.0, 1.0, 0.0, 2(把我们刚刚记录下来的节点填上去)
(顶部节点,stack_后面的名字不影响节点位置)
node_stack_bottom = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2(同样把节点填上去)
(底部节点)
TechRequired = heavyRocketry
entryCost = 4200
cost = 1800 //价格
category = Propulsion
subcategory = 0
title = cylinder //组件名称 }
manufacturer = 23333 //生产商 }这几项都是介绍
description = aaaaaaaa //组件介绍 }
//贴附规则
attachRules = 1,1,1,1,0
第一个为堆叠,基本都是允许
第二个表面附着,此组件可以附着于其他的组件表面
第三个允许其他组件在自身上堆叠
第四个允许其它组件附着于自身
第五个,允许碰撞(就是可以和其它组件挤在一起了)
mass = 1 //质量
dragModelType = default
maximum_drag = 0.2 //最大阻力
minimum_drag = 0.3 //最小阻力
angularDrag = 2
crashTolerance = 6 //结构强度,单位是米/秒
breakingForce = 200 //节点强度
breakingTorque = 200 //节点强度
maxTemp = 2900 //耐热
fuelCrossFeed = True //允许燃料通过,True是,False否
RESOURCE //资源
{
name = LiquidFuel//(燃油)资源名称,不要随便起名,游戏不会识别
amount = 720 //初始容量
maxAmount = 720 //最大容量
}
RESOURCE
{
name = Oxidizer //氧化剂
amount = 880
maxAmount = 880 //和上面的一样
}
}
把上面的注释删掉以后就可以到游戏里进行测试了,组件介绍想改成中文的可以用notepad+ +这个软件,用UTF-8编码添加中文。
|
|