sr汉莎吧 关注:176贴子:5,398
  • 0回复贴,共1

【备份】自制零件教程第二季-----武器系统的修改

只看楼主收藏回复

此为零件自制的进阶教程,没有看过的零件自制基础教程的请自动出门左转寻找基础教程。
这里我用自制我激光炮的代码进行讲解,因为我修改了几乎所有特征值,所以这是一个比较有代表性的示例。
首先打开Prototype文件,在哪里?看本帖第一句话。认识一下火炮代码。

以上就是一段完整的武器代码。相对于普通零件,武器的修改相对复杂。首先我要介绍一个完整的武器代码所包含的关键信息。
像名字代码,零件介绍,占地位置等问题这里就不赘述了,请参考基础教程。
红色部分:轴位置。
浅蓝色部分:炮管长度。
橙色部分:弹药直径。
粉色部分:子弹阻力。
深绿色部分:子弹伤害。
深红部分:子弹质量。
黄色部分:子弹时间。
浅绿部分:子弹特征属性。
深蓝色部分:子弹速度。
淫荡红部分:火炮死角定义。
黑色部分:模型定义。
关键代码就这么多,现在我就详细分析一下这些参数是如何影响一个火炮性能的。
第一部分就是和模型有关的信息:所谓模型信息包括你在船坞中看到的火炮,在试航中炮管的仰角,射击角度,弹丸射出位置,开火效果等等。其中最为主要的的就是黑色部分定义的模型。一个火炮模型包括4个部分,从上到下依次是底座,炮身,炮管,弹药。

其中底座可以去除,比如我的古典火炮就没有底座。图片来自:eabytt的百度相册
其次就是红色部分的轴线位置,XY轴定义炮身旋转的中心,Z轴定义炮管升降的中心。这个部分出错的话在船坞中是看不出来的,但是一射击就会发现你的炮管炮身通通错位了。有了轴就要有角度限制,谁也没见过炮管360度转的,这一部分由淫荡红部分定义。Maxpitch 和 Minpitch定义了最大最小的炮管仰角,Yaw定义了炮身旋转的角度范围。所以你如果想放大系统炮,一定要等比例放大模型文件并且调整轴线位置,当然不要忘记修改Shape文件中对应的模型参数啊啊。至于怎么放大?不告诉你,看本文第一句话。还有一些次要参数虽然不会影响到火炮模型在游戏中的显示,但是会影响射击效果。比如蓝色部分,这个代码是barrellength(炮管长度),但是其实它定义的是你的弹丸出现的位置而不是炮管的长度。如果你想炮弹从炮管口精确出现,你一定要弄清楚你的炮口到末端到底有多长。游戏里面的一格在这里是5,所以你如果用的是长为两格的火炮,那么你的barrellength 就是10。还有就是粉色部分,这个代码bulletdiameter(子弹直径),其实它定义的是子弹射出时的火光大小。想要绚烂的开火效果?适当改大一点,不要太大了哦。
第二部分是火炮性能:
在游戏中你点开一个火炮零件能就能看到相关的性能,比如射程和威力。
威力的定义很简单,两条信息分别是伤害和爆炸半径,图中深绿部分。当然你可以把火炮的威力和爆炸半径改成天文数字,但是那有什么意义呢。相信能看到这里的盆友绝对不是乱改威力的熊孩子。而射程的定义相对复杂,你在游戏中看到的射程是由许多变量共同决定的,并非一个单一的值。其中最主要的的是bulletdrug (阻力)和bulletmass (质量)粉色和绿色部分,而不是很多人认为的bulletvelocity (速度)和bullettime (时间)的乘积。这部分的修改需要你对物理有一定了解。比如我的激光武器射出去的激光我需要它保持直线而不是抛物线,射程要够远,那么我就把它的质量(bulletmass)改小,这样它在速度不变的情况下的抛物线的弧就会非常长,长到你无法察觉。但是这也带来了一个问题,那就是阻力影响变大,你会发现你的我炮射程几乎为0,就像你不能把羽毛扔很远一样。所以我把阻力(bulletdrug)改成了0,这样你的轻质炮弹就能正常发射了。当然你不需要制造打直线的弹药,那你可以直接把子弹速度改大,当然太大的速度也会让你看不到子弹发射出去以后的轨迹。所以你对速度的修改最好配合对阻力和质量的修改就行。还有一个是时间代码(bullettime),这个代码只对防空武器有明显影响。其实这个时间是指子弹射出后在没有接触目标或者海面之前能飞行的时间,这就是你为什么看到的高射机枪都是空爆效果的原因。
说到这里基本就是火炮修改的主要内容。至于多炮管炮的修改,发射频率的修改,小盆宇们自己触类旁通一下吧。


IP属地:河南1楼2014-05-02 17:30回复