- UID
- 1550059
- 主题
- 1
- 阅读权限
- 50
- 帖子
- 1109
- 精华
- 2
- 积分
- 1175
- 金钱
- 1996
- 荣誉
- 22
- 人气
- 0
- 在线时间
- 79 小时
- 评议
- 0
- 帖子
- 1109
- 精华
- 2
- 积分
- 1175
- 金钱
- 1996
- 荣誉
- 22
- 人气
- 0
- 评议
- 0
|
2.2.5 HNR车体转化定律
HNR车体转化定律:根据HNR黄金组合定理可知,所有AI车头均可转化成可驾驶车头,反之,所有可驾驶车头亦可转化成AI车头。转化的具体操作由XXX.SII文件和相关的XXX_storage.sii文件决定。当AI车转化成可驾驶车头时,其XXX.SII文件中的“AI车辆辅助引导指向”语句必须删除;反过来,当将可驾驶车头转化成AI车头时,“AI车辆辅助引导指向”语句可有可无,但当其存在时,必须是以“lod.pmd”结尾的文件,不能是以“车名.pmd”结尾的文件。
2.2.5.1使用HNR车体转化定律应注意的几个事项
1.如果还不清楚何谓“AI车辆辅助引导指向”语句,那么是你没有认真阅读前面的相关章节,请回过头去认真阅读;
2.因为本定律是根据HNR黄金组合定理实践推导出来的,所以,必需按照HNR黄金组合定理的使用原则来严格使用,即在组合过程中,必须遵循HNR对称原则;
3.根据HNR递增原则,车体的双向转化都是可以多重复制的,但在重复复制的过程中,请一定要遵循HNR第二定律(唯一性定律);
4.在AI车体转化成可驾驶车体时,涉及到的实体文件为vehicle--ai文件夹中的相关实体车头文件,涉及到的相关引导文件为vehicle--ai--definition文件夹中的相关xxx.sii文件,最终的引导文件为:vehicle--truck--truck_storage.sii,具体的搭配操作,请应用好HNR第一定律;
5.在可驾驶车体转化成AI车体时,涉及到的实体文件为vehicle--truck中的相关实体车头文件,涉及到的相关引导文件为vehicle--truck-definition文件夹中的相关XXX_traffic.sii文件,最终的引导文件为:vehicle--truck--traffic_storage.sii,具体的搭配操作,请应用好HNR第一定律;
6.当将可驾驶车头转化成AI车头时,“AI车辆辅助引导指向”语句使用与否要看在vehicle--truck中的相关实体车头文件中是否存在“lod.pmd”这个文件,若存在,请加上这句,若没有,请删之,不能无中生有;
7.当将可驾驶车头转化成AI车头时,在XXX_traffic.sii文件中,需要的语句为:交通车辆数据指向语句,实体文件指向语句,AI车辆辅助引指向语句(可选),匹配指向语句,前轮实体文件指向语句,后轮实体文件指向语句,平均速度语句以及速度活动范围幅度语句。其他的均不要。并注意是否挂接货柜,否则当你将BUS车头转化成AI车头时,挂接个货柜就不伦不类了。
例6:请看可驾驶车头kt600转化成AI车头kt600_traffic.sii里面的相关语句写法:
traffic_vehicle_data: traffic.kt600
{
attachable: 1(这句的作用是是否挂接货柜,1为挂接0为单车头)
model: "/vehicle/truck/kt600/kt600.pmd"
lod: "/vehicle/truck/kt600/lod.pmd"
collision: "/vehicle/truck/kt600/kt600.pmc"
fwheel_model: "/vehicle/wheel/5/wheel.pmd"
rwheel_model: "/vehicle/wheel/8/wheel.pmd"
speed: 15.0
speed_class: 1
}
例7:在迷宗MOD里面,原欧洲车头部分经常会跳出的一个原因,就是里面的vehicle--truck--definition--xxx_traffic.sii文件中的“AI车辆辅助引导指向”语句写法错误,违背了”HNR车体转化定律“,很多都是:”车名.pmd“而不是”lod.pmd“。当然,这个只是其中一个原因,另外的原因主要是AUTOMAT文件错误,这会在后文详述。这也是目前反复出相关后续版本都没有修复的原因,因为,AUTOMAT文件实在是太多了,毫不夸张地说,它们有180个左右,虽然采取了批处理方式,但始终没能全部解决,所以,现在决定,由我自己来制作南帝北丐部分,不再修改原德国人制作的那个版本。
例8:在迷宗MODV1.1以后,都有了BUS帝国部分,主要是将可驾驶BUS转化成了AIBUS,主要就是修改了vehicle--truck--definition--xxx_traffic.sii文件的语句。
例9:在ALH豪华系列版本中,经常可以看到将AI救护车,AI BUS,AI卡车,AI轿车等转化成可驾驶车头,这都是应用了车体转化定律。
2.2.6 使用替换法和递增法增加车头
当我们增加新的车头时,可以使用替换原有车辆或者是直接增加新车辆的方法。(这里以可驾驶车头为例,AI车头操作方法相似)大家可能会问,为什么不直接增加呢,何必去替换?这有两个方面的限制,一个方面是从护航以后,SCS在编程方面加了一些车头的限制,当你加入太多车辆时,在进入游戏的时候,将会非常不稳定,非常容易跳出,不像原来的金属,几乎是随心所欲地加车头也不会影响游戏的进入,所以说,从这个方面讲,花之雨是幸运的,因为其制作的”超强综合版“里面的车头让人看了眩晕,实在太多了,什么品种都有,最多就是颜色文件上有瑕疵,因为太多,肯定会有相互覆盖的情况(匹配文件的覆盖),但此作就像醇酒醉影一样,回味无穷。所以,由于受到这方面的影响,让我制作迷宗MOD时,费尽了心机;另一方面,由于有些车头的制作比较粗糙,多来几个,就容易让游戏在进入的时候跳出,特别是AI车转化成可驾驶车头时候,就存在这个因素,因此,很多时候,都得使用替换法。
2.2.6.1 使用替换法时的心法口诀
1.交叉替换易避跳;
2.实体相同莫替换;
3.匹配文件莫重叠;
4.引导改姓不改名;
5.预览指向可更换。
现在来介绍下上面所述的口诀的意义:
1.交叉替换易避跳;这句话的意思是在truck_storage.sii文件里面,不要把你所要替换的车头写在一起,可以岔着点原始车头,因为,在truck_storage.sii里面XXX.SII的排列顺序和SHOWROOM里面的是一致的,即排在第一个的,在SHOWROOM里面也排第一。。
例10:大家可以观察迷宗MOD里面的”东邪西毒“,”中神通“的车头替换部分,在SHOWROOM里面,可以看到,它们不是全部排在一起的,而是分开的,这样可以有效避免游戏进入时跳出。
2.实体相同莫替换:在一个MOD群系中(所谓MOD群系,指的是在MOD文件夹中,包含有多个MOD,就叫做MOD群系),不能在两个或两个以上的MOD中,包含有同名称的车头实体文件,否则会让你在SHOWROOM或者车头管理里面选择此车头的时候,游戏跳出。
例11:在一个MOD文件夹里面,存在两个MOD,它们的车头实体文件夹名都是:FCOR(vehicle--truck里面),那么,当你进入游戏里的SHOWROOM,或者去买车时,选择了这台车,游戏会不顾情面地立刻跳出。
3.匹配文件莫重叠:指的是在做综合MOD时,如果要合并的两个MOD里面都含有automat文件夹,并且里面有重叠的内容,这时最好不要覆盖合并,应仍然分成两个部分,因为,虽然看似一样,但里面的具体参数不一定一样,分开的好处是游戏会自动去寻找匹配它的匹配文件。
4.引导改姓不改名:指的是只将一个要替换的车头MOD里面的AAA.SII文件名改成要被替换的那个BBB.SII文件名,而里面的所有语句均不改。
5.预览指向可更换:指的是车名可以更换,车头小图片也可以更换,具体更换的办法都有两个,对于车名更换,一个办法就是上面提到过的,通过更改XXX.SII文件里面的车名(这个方法比较直接,灵活);另一种是通过更改script--en--local.def里面的命名;车头小图片更换的办法可以是替换法,也可以是添加法。对于替换法,就是把material--ui--truck里面的相应小图片替换掉;添加法这样操作:在material--ui--truck里面建立一个XXX.TOBJ文件(用记事本),在里面加上:
眕 ? /material/ui/truck/XXX.tga,前面的乱码可以从其他已存在的同类文件中取样,然后复制一个MAT文件,再改名为XXX.MAT,用记事本打开,把里面的改为:material : "ui"
{
texture : "XXX.tobj"
}
最后,再在车体文件的引导文件XXX.SII里面的全车预览指向那里改为:”XXX“注意:这里的”XXX“指的是你要添加车头的名字。请灵活运用。最后别忘了封装。
2.2.6.2 使用递增法应注意的问题
1.别忘了相关引导文件的注册,应将HNR第一定律牢记在心;
2.要充分应用HNR第二定律来检验文件的唯一性;
3.递增的同时,也可以局部采取替换,就是把一些质量差的车头交叉递增。
2.2.7 存在于DEF文件夹中的车体引导文件
2.2.7.1 camera(视角)讲解
2.2.7.1.1 units
展开units:(以迷宗MOD--PART5为例)
这里,重点以interior_XXX.sii(车内视角)为例,其他的请类推。
先看几个车内视角模板:(hnrran,volvo850,ayats,2004w900l)
actor_interior_camera: camera.interior.hnrran
{
camera_offset: (-0.51, 1.5, -3.5)
mouse_right_limit: -140
mouse_left_limit: 90
mouse_up_limit: 30
mouse_down_limit: -30
mouse_up_down_default: -6
uplift: 0.12
}
actor_interior_camera: camera.interior.volvo850
{
camera_offset: (-0.51, 1.5, 0.0)
mouse_right_limit: -180
mouse_left_limit: 90
mouse_up_limit: 30
mouse_down_limit: -30
mouse_up_down_default: -4
uplift: 0.01
}
actor_interior_camera: camera.interior.ayats
{
camera_offset: (-0.51, 1.7, -3.5)
mouse_right_limit: -140
mouse_left_limit: 90
mouse_up_limit: 30
mouse_down_limit: -30
mouse_up_down_default: -6
uplift: 0.12
}
actor_interior_camera: camera.interior.2004w900l
{
camera_offset: (-0.51, 2.522, -1.4)
mouse_right_limit: -120
mouse_left_limit: 90
mouse_up_limit: 90
mouse_down_limit: -90
mouse_up_down_default: -8
uplift: 0.17
}
其中,在语句:camera_offset: (-0.51, 1.5, -3.5)中的“1.5”即为车内视角高低调节。可以看出,不同的车头,有不同的车内视角高低。
下面几句很容易理解,分别是鼠标转向角度最大值。
这个引导语句可以自己增加,编写适合每个车头的车内视角高低。
2.2.7.1.2 camera_storage.sii与车头引导文件XXX.SII的关联
camera_storage.sii文件和truck_storage.sii,traffic_storage.sii等文件一样,均为最终引导文件,凡是_storage.sii后缀的,均为最终引导文件,是筋骨文件中的核心部分。
展开camera_storage.sii:
SiiNunit
{
@include "units/behind_rotation_basic.sii"
@include "units/bumper_basic.sii"
@include "units/top_basic.sii"
@include "units/tv_basic.sii"
@include "units/interior_volvo850.sii"
@include "units/interior_freight.sii"
@include "units/interior_keenworth.sii"
@include "units/interior_peterbitl.sii"
@include "units/interior_volvo9700.sii"
@include "units/interior_ayats.sii"
@include "units/interior_agressor.sii"
@include "units/interior_b_mack.sii"
@include "units/interior_impalatre.sii"
@include "units/interior_bgressor.sii"
@include "units/interior_2004w900l.sii"
@include "units/interior_spr.sii"
@include "units/bumper_volvo9700.sii"
@include "units/bumper_ayats.sii"
@include "units/behind_rotation_volvo9700.sii"
@include "units/behind_rotation_ayats.sii"
@include "units/behind_rotation_basic_car.sii"
}
和车头引导文件一样,camera_storage.sii为以上这些文件的引导文件,以上这些文件需要注册到camera_storage.sii里面,才能生效。
请大家回顾”2.2.4 HNR黄金组合定理“,看一开始的“vehicle--truck--definition--fcol.sii:”里面的这几句:
behind_camera: camera.behind.basic 车后视角指向:camera.behind.basic
“ interior_camera: camera.interior.keenworth 车内视角指向:camera.interior.keenworth
bumper_camera: camera.bumper.basic 保险杠视角指向:camera.bumper.basic
cabin_camera: camera.cabin.basic 车顶视角指向:cabin_camera: camera.cabin.basic(这个是ALH特有的,HAULIN不具备)
cabin_cam_off: (0.0, 4.2, 1.7) (必需加上这一句,否则会造成使用车顶视角错误!)
top_camera: camera.top.basic 全车视角定义指向:camera.top.basic
tv_camera: camera.tv.basic tv视角定义指向:camera.tv.basic”
这些语句指向的文件,就是这节上面所述的文件,当在车头文件XXX.SII里面写入了新的视角文件后,必需满足:1.在def--camera--units里面须有相关的视角文件;2.在def--camera--camera_storage.sii里面,相关的视角文件必需在此注了册。两个条件缺一不可!
相关的内饰文件的操作与此相仿,请注意interior_storage.sii,相关内饰引导文件以及车头引导文件之间的关联,当然,不要忘记最终的引导文件老大:truck_storage.sii。 并注意HNR第一定律,第二定律的应用
2.2.7.2 vehicle 参数讲解
2.2.7.2.1 sound 声效篇
先看下原版的:
再看下迷宗里面的:
请大家回过头去重新体会下:“2.2.3 HNR递增原则”“2.2.4 HNR黄金组合定理”然后再去看上述两副图。
大家可以注意到,迷宗里面的SII文件比原版里面的多,这些都是我后面加进去的声效文件,这样可以在不替换远声效文件的基础上,再增加一些新的车头声效。其中,“-ext”代表车头外部声效(车外视角),“-int”代表车头内部声效(车内视角),它们可以是同一文件,如果做得细腻一点,可以分别寻找或者录制不同的声效。比如喇叭声车内和车外的效果就不一样。
我们展开:sound0-int.sii
SiiNunit
{
sound_group_data:“ sound.0.int”
{
start: .start (这些语句很好理解,分别代表相关命令的语句,比如启动的语句引导为:“.start”)
stop: .stop (熄火)
idle: .idle (空转)
tick: .tick (运转)
low_freq: .low(低速运行)
high_freq: .high(高速运行)
air_brake[0]: .airbrake0(汽刹)
air_brake[1]: .airbrake1
air_brake[2]: .airbrake2
air_brake[3]: .airbrake3
air_brake[4]: .airbrake4
air_brake[5]: .airbrake5
motor_brake: .mbrake(电刹)
horn: .horn(喇叭)
change_gear: .changeg(换挡)
crash_metal[0]: .crashm0(金属碰撞)
crash_metal[1]: .crashm1
crash_metal[2]: .crashm2
crash_metal[3]: .crashm3
crash_metal[4]: .crashm4
crash_soft[0]: .crashso0(软体碰撞)
crash_soft[1]: .crashso1
crash_soft[2]: .crashso2
crash_soft[3]: .crashso3
crash_soft[4]: .crashso4
crash_scratch[0]: .crashsc0(刮擦)
crash_scratch[1]: .crashsc1
crash_scratch[2]: .crashsc2
crash_scratch[3]: .crashsc3
}
sound_data: .start(引导)
{
name: "/sound/truck/ext/start_4.ogg"(实体文件指向)
looped: false
}
sound_data: .stop
{
name: "/sound/truck/ext/stop_01.ogg"(注意音效文件要用.OGG的格式,而且要注意声道的选择,像这些音效,都要选择单声道)
looped: false(循环:否)
}
sound_engine_data: .idle
{
name: "/sound/truck/ext/idle_11.ogg"(“idle_11.ogg"这个实体文件可以重命名)
looped: true(循环:是)
min_frequency: 0.45(低速循环次数)
max_frequency: 0.65(高速循环次数)
min_rpm: 100.0(低速对应转速)
max_rpm: 1500.0(高速对应转速) 这些可以逐渐改变以取得最好效果。
}
sound_engine_data: .tick
{
name: "/sound/truck/ext/tick_3b.ogg"
looped: true
min_frequency: 0.5
max_frequency: 1.4
min_rpm: 800.0
max_rpm: 2800.0
}
sound_engine_data: .low
{
name: "/sound/truck/ext/low_01.ogg"
looped: true
min_frequency: 0.5
max_frequency: 1.5
min_rpm: 500.0
max_rpm: 2200.0
}
sound_engine_data: .high
{
name: "/sound/truck/ext/high_02.ogg"
looped: true
min_frequency: 0.5
max_frequency: 1.8
min_rpm: 600.0
max_rpm: 3200.0
}
sound_data: .airbrake0
{
name: "/sound/truck/ext/air_05.ogg"
looped: false
}
sound_data: .airbrake1
{
name: "/sound/truck/ext/air_06.ogg"
looped: false
}
sound_data: .airbrake2
{
name: "/sound/truck/ext/air_07.ogg"
looped: false
}
sound_data: .airbrake3
{
name: "/sound/truck/ext/air_02.ogg"
looped: false
}
sound_data: .airbrake4
{
name: "/sound/truck/ext/air_01.ogg"
looped: false
}
sound_data: .airbrake5
{
name: "/sound/truck/ext/air_03.ogg"
looped: false
}
sound_data: .changeg
{
name: "/sound/truck/ext/changeg1.ogg"
}
sound_engine_data: .mbrake
{
name: "/sound/truck/int/mbrake8.ogg"
looped: true
is_2d: true
min_frequency: 0.5
max_frequency: 1.5
min_rpm: 200.0
max_rpm: 3500.0
}
sound_data: .crashm0
{
name: "/sound/truck/ext/crashm6.ogg"
looped: false
}
sound_data: .crashm1
{
name: "/sound/truck/ext/crashm7.ogg"
looped: false
}
sound_data: .crashm2
{
name: "/sound/truck/ext/crashm8.ogg"
looped: false
}
sound_data: .crashm3
{
name: "/sound/truck/ext/crashm3.ogg"
looped: false
}
sound_data: .crashm4
{
name: "/sound/truck/ext/crashm2.ogg"
looped: false
}
sound_data: .crashso0
{
name: "/sound/truck/ext/crashso0.ogg"
looped: false
}
sound_data: .crashso1
{
name: "/sound/truck/ext/crashso4.ogg"
looped: false
}
sound_data: .crashso2
{
name: "/sound/truck/ext/crashso3.ogg"
looped: false
}
sound_data: .crashso3
{
name: "/sound/truck/ext/crashso1.ogg"
looped: false
}
sound_data: .crashso4
{
name: "/sound/truck/ext/crashso2.ogg"
looped: false
}
sound_data: .crashsc0
{
name: "/sound/truck/ext/crashsc5.ogg"
looped: true
}
sound_data: .crashsc1
{
name: "/sound/truck/ext/crashsc4.ogg"
looped: true
}
sound_data: .crashsc2
{
name: "/sound/truck/ext/crashsc1.ogg"
looped: true
}
sound_data: .crashsc3
{
name: "/sound/truck/ext/crashsc2.ogg"
looped: true
}
sound_data: .horn
{
name: "/sound/truck/ext/horn2.ogg"
looped: true
}
}
当在车头文件XXX.SII里面写入了新的声效文件后,必需满足在def--vehicle--sound里面须有相关的声效文件。
2.2.7.2.2 chasis 颠簸篇
展开:def--vehicle--chasis,现在先展开原版的:
有:”chasis0.sii“和”police_chasis.sii“两个文件。打开”chasis0.sii“:
SiiNunit
{
chasis_data: chasis.0
{
# The air resistance and the wheel rolling resistance force constant
cdrag: 1.0
ccr: 50
# The frontal area of the vehicle for the resistance force computing
frontal_area: 100.0
// cfm: 0.0004
cfm: 0.0006
erp: 0.7
}
}
再看下ALH豪华版V1.03B里面的,有”chasis0.sii“,”chasis1.sii“两个,很明显,是使用了递增法增加了一个额外的。
”chasis0.sii“:
SiiNunit
{
chasis_data: chasis.0
{
# The air resistance and the wheel rolling resistance force constant
cdrag: 0.4 ccr: 4
# The frontal area of the vehicle for the resistance force computing
frontal_area: 100.0
// cfm: 0.0004
cfm: 0.0013 erp: 0.9}
}
”chasis1.sii“:
SiiNunit
{
chasis_data: chasis.1
{
# The air resistance and the wheel rolling resistance force constant
cdrag: 0.4 ccr: 4
# The frontal area of the vehicle for the resistance force computing
frontal_area: 100.0
// cfm: 0.0004
cfm: 0.0013 erp: 0.9
}
}
这些数字上的变化,就是V1.03B的这些介绍:“
3.车辆的物理性能发生了质的改变,你可以体验到像开极品飞车11那样的感觉(比如开快了会“飘”,路面的颠簸,过快转弯的惯性效应(不仅仅是漂移那样简单!)等);4.极品飞车10式的碰撞,当你碰到AI车后,对方不会“粘”着你,而是像极品飞车10那样,立马“飞走”;”(http://game.ali213.net/thread-1868974-1-1.html)具体的,请自己慢慢实践来获得更加真实的效果。
当在车头文件XXX.SII里面写入了新的颠簸文件后,必需满足在def--vehicle--chasis里面须有相关的颠簸文件。
police_chasis.sii文件的一个作用是可以锁死警察,具体的可以自己去参看原版police_chasis.sii和“锁死警察.SCS这个MOD里面相关数据的区别”(锁死警察的MOD在迷宗MOD里面有收录)
[ 本帖最后由 HNRRAN 于 2008-4-14 10:14 编辑 ] |
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|