查看完整版本: [-- NEBULA震动包制作简明教程 --]

【 浮游城 - Castle in the Sky | 开放邀请注册,PS|SS|WII|DC下载研究中心 】 -> 【 精华区 | Distillates 】 -> NEBULA震动包制作简明教程 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

dc_cd 2004-04-21 00:41

本文精简整理自《模拟与游戏vol3:NEBULA震动包的编制》一文
一.测试手柄的兼容性
下载微软的FORCE EDITOR(FEDIT.EXE),这是用来制作FFE文件用的,同时也可以测试手柄支持的震动效果.(附件里有)
二.制作FFE震动文件
FFE文件主要是用来描述一种震动效果的,比如NFS中在不同路面上对应的效果就不一样.用FEDIT来编制FFE方法很简单,这个工具提供了几种基本的震动类型,几种合在一起可以实现复杂的效果.对每种基本震动类型可以设定如下属性:幅度 震动时间长短 以及渐强渐弱等效果.全部设置完后存为FFE文件,例如如果用做减血时的效果就可存为HIT.FFE.其实NEBULA已经自带有一些FFE文件了,偷懒的话直接用就行了.
user posted image

三.制作HT2文件
HT2文件是FFE文件震动效果对应游戏SOUND CODE 和MEMORY CODE参数的启用文件,HT2文件应该与其对应的游戏的打包文件同名. 找个19XX的HT2文件做例子:

HIT2 Force Table V2 (Don't change, otherwise Nebula will not recognize it) ;这行不能去掉

;制作者:WDPQU (模拟网站:WWW.EMU-ZONE.NET) ;教学目的引用,尊重原作者知识产权

;==19XX:命运否决战==的震动包

[Effect Map] ;在这里可添加震动效果,不一定只有三种
1=HIT.FFE
2=GUARD.FFE
3=START.FFE

[Codes] ;代码->震动效果对应表
;游戏启动 (P1 SHOCK PAD)
S40 1 3 ;S代表声音CODE,40指具体的声音代码,S40 1 3 即指 当出现声音代码40时手柄1出现第3种的震动效果,此为START.FFE
S52 1 1 ;类推
S53 1 3

S183 1 1
S192 1 1

;BOOS DEAD
SC8 1 1
SC9 1 1
SCA 1 1
SCB 1 1
SCC 1 1
SCD 1 1
SCE 1 1
SCF 1 1

SD8 2 1
SD9 2 1
SDA 2 1
SDB 2 1
SDC 2 1
SDD 2 1
SDE 2 1
SDF 2 1

;第一位玩家震动参数设置
-FF82ed,0 1 3 ;- + =号是游戏的内存锁定码,-FF82ED即指内存地址为FF82ED的单元值减小,
    ; ",0"表示减去0(应该是对应十进制16)的时候,如果是",F"就是减去 F(15),1 3则和声音代码的情况一样
;+号表示对应的单元值增加,=号表示对应的单元值为某个数值
;总之这条语句是说明某单元值出现某种变化时出现震动
-FF8304,0 1 3
+FF830E,0 1 1
S1E 1 1
S42 1 3
S44 1 2

S104 1 1
S105 1 3
S106 1 3
S107 1 1

S108 1 2
S109 1 3
S10A 1 3
S10B 1 1
S10C 1 1
S10D 1 1
S10E 1 2
S10F 1 3

;第二位玩家震动参数设置
-FF83ed,0 2 3
-FF8404,0 2 3
+FF840E,0 2 1
S1F 2 1
S43 2 3
S45 2 2

S204 2 1
S205 2 3
S206 2 3
S207 2 1

S208 2 2
S209 2 3
S20A 2 3
S20B 2 1
S20C 2 1
S20D 2 1
S20E 2 2
S20F 2 3

剩下来的工作也就是寻找某种需要震动的事件所对应的代码,这也是整个过程中最能体现个人风格的地方了.模拟器也提供了很多功能来为我们服务,找内存代码可以用自带的做弊码或者用EMU CHEATS来查找(找到的地址前需加FF).找声音代码要打开showsoundcodes的选项,然后需要有副好耳朵,用nebula带的JUKEBOX可以通过填入音乐代码来进行测试.另外声音代码不能使两只或以上的手柄震动,只有用内存代码的话才能实现.
本文只是把制作震动包的一般过程讲解了一遍,但相信已经能把一些最基本的东西讲清楚了,至于具体的实施还得靠个人的努力.最后祝大家能做出与众不同的优秀震动包,一起分享模拟的乐趣


查看完整版本: [-- NEBULA震动包制作简明教程 --] [-- top --]


Powered by PHPWind Code © 2003-08 PHPWind
Gzip enabled

You can contact us