-  设为首页   -   加入收藏
火凤游戏首页   |   资讯   |  游戏库   |   排行榜   |   攻略   |   合集  |  正版商城  

《三国群英传7》修改-打造完美新兵模型

  动机

  发现用OL的素材制作新兵种模型存在一些问题,所以把自己的解决办法写出来,希望和大家交流经验,祝愿大家都可以利用有限的素材快速制作出相对完美的模型。

  制作流程

  一。图片名称和存放位置的处理

  存放位置必须调整到和群英7一致,选择一组OL中兵种图,他们被放在一个4位数命名的文件夹的6个子文件夹中,将他们包括_COV文件夹(有些图组没有它)都复制到同一个文件夹中,在把此文件夹改名为三位数命名(和你要替换的兵种编号对应,首位是0)然后放到游戏目录下的shapeBFObjBFSoldier下

  可以不改图片名称,而去修改BFSoldier.OBD文件中的图片名称,这样比一个个改文件名轻松些,但要弄清对应关系。如果修改图片名称,那修改OBD文件就会轻松一点。

  二。修改OBD文件,先说明一下ODB文件的作用和原理

  (一)ODB文件作用:调用指定文件夹下图片,组织播放顺序控制显示时间,形成动画短片,如士兵的攻击动作,等待动作等等。然后供执行程序调用,构成我们看到的整体游戏内容

  (二)详细解析ODB文件的各种参数

  [OBJECT]

  Name = 山賊槍兵--------此为兵种名称,只起到注释作用,不影响游戏中显示的兵种名

  Sequence = 70054-------此为兵种编号 ,后两位与Soldier.ini文件中ObjID =的值相等

  Space = 0, 100, 0------模型定位(理论上影响模型在游戏中的位置,但实际修改不见变化)

  Process = BF_CLASS_BFSoldier-------此为数据库连接位置(与.so文件相关)

  Directory = BFObjBFSoldier�54---文件夹,此模型的图片存放在Shape文件夹下的具体路径

  Sprite = Wait, w010001, #12, w010002, w010003, w010004, w010003, w010002--等待动作

  Sprite = Walk, r010001, #5, r010002, r010003, r010004, r010005, r010006, r010007, r010008--------------移动

  Sprite = Attack1, a010001, #5, a010002, a010003, a010004, a010005, @SP_EVENT_ACT_ATTACK, a010006, a010007, a010008, a010008, @SP_EVENT_ACT_WAIT-----------攻击1

  Sprite = Attack2, a020001, #5, a020002, a020003, a020004, a020005, @SP_EVENT_ACT_ATTACK, a020006, a020007, a020008, a020008, @SP_EVENT_ACT_WAIT-----------攻击2

  Sprite = SAttack1, a010001, #5, a010002, a010003, a010004, a010005, @SP_EVENT_ACT_CHECK, a010006, a010007, a010008, a010008, @SP_EVENT_ACT_WAIT----------特殊攻击1

  Sprite = SAttack2, a020001, #5, a020002, a020003, a020004, a020005, @SP_EVENT_ACT_CHECK, a020006, a020007, a020008, a020008, @SP_EVENT_ACT_WAIT----------特殊攻击2

  Sprite = Defend, d010001, #5, d010002, d010002, @SP_EVENT_ACT_WAIT------------防御

  Sprite = Hurt, h010001, #5, h010002, h010002, @SP_EVENT_ACT_WAIT--------------受到攻击

  Sprite = Die1, f010001, #5, f010002, f010003, f010004, f010005, #90, f010005,

  @SP_EVENT_ACT_FADEOUT--------死亡动作1

  Sprite = Die2, f020001, #5, f020002, f020003, f020004, f020005, #90, f020005,

  @SP_EVENT_ACT_FADEOUT--------------死亡动作2

  Sprite = Die3, f030001, #5, f030002, f030003, f030004, f030005, #90, f030005,

  @SP_EVENT_ACT_FADEOUT--------------死亡动作3

  Sprite = Die4, f040001, #5, f040002, #90, f040002, @SP_EVENT_ACT_FADEOUT--------------死亡动作4

  Sprite = Die5, f050001, #5, f050002, #5, f050003, #5, f050004, #5, f050005, #90, f050005, @SP_EVENT_ACT_FADEOUT--------------死亡动作5

  ;Sprite = WalkHorse, --------------乘马匹移动,看到前面的‘;’吧,所有兵种本条都被屏蔽了,修改时可以无视它了。

  Sprite =这是我们修改的重点,而它上面的几项参数可以不动。把它砸碎了讲

  Sprite = Wait(动作名称不可修改), w010001(图片名称可以修改,保证它和图片实际名称一直既可), #12(图片显示时间), w010002(图片名称), w010003, w010004, w010003, w010002------本组动画是等待动作

  Sprite = Die1(动作名称不可修改), f010001(图片名称可以修改,保证它和图片实际名称一直既可), #5(图片显示时间), f010002, f010003, f010004, f010005, #90(图片显示时间), f010005, @SP_EVENT_ACT_FADEOUT(图片的行为参数,本条是:事件行为淡出移除,作用对象是它前面的那个图片;在每个OBD文件开始处都进行了这些参数的定义)-------本组动画是死亡动作1

  注意:1.动画有两种结尾方式,等待动作以图片名结尾,所以被调用后它以循环方式播放直到调用其他动作;死亡动作以行为参数结尾,所以每次被调用只播放一次。

  注意:2.每组动画的总时间是固定的,以上两组动画为例

  Sprite = Wait, w010001, #12, w010002, w010003, w010004, w010003, w010002

  等同:Sprite = Wait, w010001, #12, w010002,#12, w010003,#12, w010004,#12, w010003, #12, w010002#12, --这样写作用完全一样,总时间是每个图片显示时间之和:12+12+12+12+12+12=72,每个循环固定#72,时间到#72就从头再放。

  Sprite = Die1, f010001, #5, f010002, f010003, f010004, f010005, #90, f010005,

  @SP_EVENT_ACT_FADEOUT

  等同:Sprite = Die1, f010001, #5, f010002, #5,f010003, #5,f010004, #5,f010005, #90, f010005, @SP_EVENT_ACT_FADEOUT --这样写作用完全一样,总时间是每个图片显示时间之和:5+5+5+5+90=110,注意“@SP_EVENT_ACT_FADEOUT”前面的图片名只是表明参数作用对象不计时,如果要计时会在参数后面标出,

  例如:a010005, @SP_EVENT_ACT_ATTACK, #5(这段参数是攻击动作中的一部分)

  常见问题和对策(其实多数问题都是图片组数量不同造成的)

  

进入《三国群英传7》专区
查看更多《三国群英传7》攻略
标签: 
http://www.huofeng.cn/strategy/20509.html复制本文地址

相关资讯

首页
资讯
游戏库
排行榜
攻略
合集