标题: [原创] SG7修改-打造完美新兵模型.txt
本主题由 suncheng2004 于 2008-3-30 14:41 设置高亮
长风吹云
游侠会员


Rank: 1

精华 1
积分 787
帖子 1408

金钱 2874
经验 65
荣誉 10
互助 13

来自 过去,站在今天,走向未来 ... ... . ...
醒目提示:游侠武林三国大型游戏将在26号下午3点正式开服!无需下载客户端,直接进入即可游戏!
SG7修改-打造完美新兵模型.txt

本帖最近评分记录
suncheng2004 2008-3-30 14:40 金钱 +50 文章不错,继续努力!



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

制作流程

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

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

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

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

(二)详细解析ODB文件的各种参数
[OBJECT]
Name = 山賊槍兵--------此为兵种名称,只起到注释作用,不影响游戏中显示的兵种名
Sequence = 70054-------此为兵种编号 ,后两位与Soldier.ini文件中ObjID =的值相等
Space = 0, 100, 0------模型定位(理论上影响模型在游戏中的位置,但实际修改不见变化)
Process = BF_CLASS_BFSoldier-------此为数据库连接位置(与.so文件相关)
Directory = \BFObj\BFSoldier\054---文件夹,此模型的图片存放在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(这段参数是攻击动作中的一部分)


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


1。尸变。

       最常见问题,成因群英7有多组死亡图片,而OL只有一组
       解决办法:利用OL只有的一组制作Sprite = Die1,然后用Sprite = Die1,逗号后面的内容替换另外4组死亡动作。好处:不缺少动作,这样不论调用那个死亡动作,看到的效果都一样,而且不用复制有关死亡的图片。

举例:
Sprite = Die1, f010001, #5, f010002, f010003, f010004, f010005, f010006, #85, f010006, @SP_EVENT_ACT_FADEOUT
Sprite = Die2, f010001, #5, f010002, f010003, f010004, f010005, f010006, #85, f010006, @SP_EVENT_ACT_FADEOUT
Sprite = Die3, f010001, #5, f010002, f010003, f010004, f010005, f010006, #85, f010006, @SP_EVENT_ACT_FADEOUT
Sprite = Die4, f010001, #5, f010002, f010003, f010004, f010005, f010006, #85, f010006, @SP_EVENT_ACT_FADEOUT
Sprite = Die5, f010001, #5, f010002, f010003, f010004, f010005, f010006, #85, f010006, @SP_EVENT_ACT_FADEOUT

2。同类动作图组数量不同。

       注意看上例,OL的死亡动作6张图,而群英7死亡动作5张图。所以我利用每组动画的总时间是固定的特点,减少了最后一个图片(最终落地的那张)的显示时间,加入了一张图。

修改前后对比:

原版:Sprite = Die1, f010001, #5, f010002, f010003, f010004, f010005, #90, f010005, @SP_EVENT_ACT_FADEOUT
修改:Sprite = Die1, f010001, #5, f010002, f010003, f010004, f010005, f010006, #85, f010006, @SP_EVENT_ACT_FADEOUT 红色是修改处

3。多图,在使用中看到了不该出现,和新模型级不协调的多余贴图
如图


       成因在群英7士兵图组文件夹下有一个cover文件夹其中有一套和士兵图同名的图片文件。这套图片可以显示为旗帜的颜色,以区分战场上的士兵属于对战双方的那一方。如果新图组中没有这组图片,就会把被替换的原兵种的这组图片显示出来,造成多图。

       解决办法:
            1)OL中与cover文件夹对应的是_COV文件夹,只要把其中的图片放到cover文件夹中,并保证和士兵图组文件夹中的文件一一同名对应就行了。
            2)如果是OL中没有_COV文件夹的模型,那就自己建立一个cover文件夹,再用一个空图片(如常见的s.shp图)创建一套和士兵图同名的图片。

4。阴影问题处理,OL中经常没有阴影文件夹shadow

            1).最懒得办法,不用去管。可能出的问题:被替换的原兵种和新兵种体积相去甚远,或同类动作图组数量不同,就会看出影子和人物的不匹配。

            2).勤快点,自己建立shadow文件夹,选一组和新兵种匹配的阴影文件,注意把数量名称调整到和新兵种图同名同数量。


5。图片偏移(这是从别人哪偷得)
       其实是用OL的素材不存在偏移问题,但还是把解决办法说一下。
       就是用WinHex等编辑内码的软件解决,
       上面这排是横向移动,下面这排是竖向移动



________________________________
欢迎跟帖交流修改心得和所遇问题

[ 本帖最后由 长风吹云 于 2008-4-6 08:52 编辑 ]



附件: 您所在的用户组无法下载或查看附件




三国英豪难胜数
长风吹处烟云消
三国群英传7修改用Excel版ini说明+obd参数说明电子书!把唯一精华挂在屁股上[嘿嘿嘿]
顶部
zfx10a
游侠会员



Rank: 1

精华 0
积分 113
帖子 361

金钱 399
经验 0
荣誉 0
互助 1

youki 系统正式开放!可方便检索和录入大量有价值的游戏相关信息。

占个沙发慢慢看 不过很麻烦滴说

顶部
一二三四五
游侠会员


Rank: 1

精华 0
积分 178
帖子 592

金钱 743
经验 0
荣誉 0
互助 0

来自 非洲
参与论坛活动,赚取LTB!

好东西,顶,顶啊20202020202020





我不在江湖,江湖上却一直有我的传说~!
顶部
长风吹云
游侠会员


Rank: 1

精华 1
积分 787
帖子 1408

金钱 2874
经验 65
荣誉 10
互助 13

来自 过去,站在今天,走向未来 ... ... . ...
醒目提示:游侠武林三国大型游戏将在26号下午3点正式开服!无需下载客户端,直接进入即可游戏!

不跑题,技术帖,只有等着陈么??
明天在这里挂机组我做的模型看看有没有反映





三国英豪难胜数
长风吹处烟云消
三国群英传7修改用Excel版ini说明+obd参数说明电子书!把唯一精华挂在屁股上[嘿嘿嘿]
顶部
szjalw
游侠会员


Rank: 1

精华 1
积分 555
帖子 751

金钱 1036
经验 20
荣誉 10
互助 6

来自 咖啡和我的夜
youki 系统正式开放!可方便检索和录入大量有价值的游戏相关信息。

杖改成双手拿的还有点好看. 技术贴.





咖啡和我的夜-----设身处地~~~计出万全... -!-惟天下之至诚能胜天下之至伪~惟天下之至拙能胜天下之至巧。

欢迎加入我的空间CLUB:http://81166234.qzone.qq.com/club
顶部
长风吹云
游侠会员


Rank: 1

精华 1
积分 787
帖子 1408

金钱 2874
经验 65
荣誉 10
互助 13

来自 过去,站在今天,走向未来 ... ... . ...
参与论坛活动,赚取LTB!

谢谢支持,我会在你的新武器帖子,和你研究武器问题





三国英豪难胜数
长风吹处烟云消
三国群英传7修改用Excel版ini说明+obd参数说明电子书!把唯一精华挂在屁股上[嘿嘿嘿]
顶部
gaoqi143 (韓雲水羽)
版主
~§一满盒的月光§~
呼風喚雨 召喚法師
天師道 俗家弟子


Rank: 6Rank: 6

精华 1
积分 2651
帖子 7519

金钱 12456
经验 795
荣誉 10
互助 19

来自 亲热天堂

醒目提示:游侠武林三国大型游戏将在26号下午3点正式开服!无需下载客户端,直接进入即可游戏!
这下子有完整的攻略了啊

很方便啊

支持中………………





韓,井上的木欄
雲,地氣上為雲,山川氣也.雲根(古人認為雲從山石中產生)雲翻雨覆(比喻反復不定)
水,積陰之寒氣為水.五行一曰水.星名,水宿.凖也.北方之行.象眾水並流,中有微陽之氣也.凡水之屬皆從水.
羽,羽蟲三百六十,而鳳為之長.羽族(泛指鳥類)羽翔(首翼色青的鸞鳥)
顶部
长风吹云
游侠会员


Rank: 1

精华 1
积分 787
帖子 1408

金钱 2874
经验 65
荣誉 10
互助 13

来自 过去,站在今天,走向未来 ... ... . ...
youki 系统正式开放!可方便检索和录入大量有价值的游戏相关信息。
回复 #7 gaoqi143 的帖子

OBD我也掌握了大部分,打算做成类似ini说明那样





三国英豪难胜数
长风吹处烟云消
三国群英传7修改用Excel版ini说明+obd参数说明电子书!把唯一精华挂在屁股上[嘿嘿嘿]
顶部
gaoqi143 (韓雲水羽)
版主
~§一满盒的月光§~
呼風喚雨 召喚法師
天師道 俗家弟子


Rank: 6Rank: 6

精华 1
积分 2651
帖子 7519

金钱 12456
经验 795
荣誉 10
互助 19

来自 亲热天堂

参与论坛活动,赚取LTB!


QUOTE:
原帖由 长风吹云 于 2008-3-30 19:02 发表
OBD我也掌握了大部分,打算做成类似ini说明那样

还有那个.SO文件呢??~~~(小小声的问)





韓,井上的木欄
雲,地氣上為雲,山川氣也.雲根(古人認為雲從山石中產生)雲翻雨覆(比喻反復不定)
水,積陰之寒氣為水.五行一曰水.星名,水宿.凖也.北方之行.象眾水並流,中有微陽之氣也.凡水之屬皆從水.
羽,羽蟲三百六十,而鳳為之長.羽族(泛指鳥類)羽翔(首翼色青的鸞鳥)
顶部
情天恨海
游侠会员


Rank: 1

精华 0
积分 4
帖子 13

金钱 47
经验 0
荣誉 0
互助 0

醒目提示:游侠武林三国大型游戏将在26号下午3点正式开服!无需下载客户端,直接进入即可游戏!

支持~~长风兄~~``~~
好东西``一定要顶`~``

顶部
长风吹云
游侠会员


Rank: 1

精华 1
积分 787
帖子 1408

金钱 2874
经验 65
荣誉 10
互助 13

来自 过去,站在今天,走向未来 ... ... . ...
youki 系统正式开放!可方便检索和录入大量有价值的游戏相关信息。



QUOTE:
原帖由 gaoqi143 于 2008-3-30 19:19 发表

还有那个.SO文件呢??~~~(小小声的问)

哪个可能需要反汇编,我插了资料,.SO文件是动态函数库,也就是说里面都是EXE要用的函数,所也他和EXE的命令编码是一样的,而可见的那些内容,我猜就是函数名称了





三国英豪难胜数
长风吹处烟云消
三国群英传7修改用Excel版ini说明+obd参数说明电子书!把唯一精华挂在屁股上[嘿嘿嘿]
顶部
kane.hu
游侠会员
武秀才 校尉


Rank: 1

精华 0
积分 662
帖子 2074

金钱 2350
经验 0
荣誉 0
互助 8

来自 上海
参与论坛活动,赚取LTB!
回复 #11 长风吹云 的帖子

晕!才发现风云兄的这个技术贴!
先回了,再收藏,最后回家去学习!





我只玩单机游戏
游戏网站:http://221.130.201.41/luntan/index.php
http://xycq.sgzol.com/forum/index.php
顶部
tenjho
游侠会员


Rank: 1

精华 0
积分 42
帖子 122

金钱 136
经验 0
荣誉 0
互助 1

醒目提示:游侠武林三国大型游戏将在26号下午3点正式开服!无需下载客户端,直接进入即可游戏!

看到头都晕了~~~~~还在研究ing。。。。





悍马 HA03
AMD AM2 Athlon 64 X2 4800+(65nm)/盒装
金士顿 1GX3 DDR2 800
蓝宝石 HD3850蓝曜天刃Pro 750/1650 核宽256 显宽256
希捷SATA 160G
飞利浦190cw 液晶显示器
顶部
gaoqi143 (韓雲水羽)
版主
~§一满盒的月光§~
呼風喚雨 召喚法師
天師道 俗家弟子


Rank: 6Rank: 6

精华 1
积分 2651
帖子 7519

金钱 12456
经验 795
荣誉 10
互助 19

来自 亲热天堂

youki 系统正式开放!可方便检索和录入大量有价值的游戏相关信息。


QUOTE:
原帖由 长风吹云 于 2008-3-31 18:23 发表

哪个可能需要反汇编,我插了资料,.SO文件是动态函数库,也就是说里面都是EXE要用的函数,所也他和EXE的命令编码是一样的,而可见的那些内容,我猜就是函数名称了 ...

防空~~~~~~~~~~~~~

不明白这些东西~~~~~





韓,井上的木欄
雲,地氣上為雲,山川氣也.雲根(古人認為雲從山石中產生)雲翻雨覆(比喻反復不定)
水,積陰之寒氣為水.五行一曰水.星名,水宿.凖也.北方之行.象眾水並流,中有微陽之氣也.凡水之屬皆從水.
羽,羽蟲三百六十,而鳳為之長.羽族(泛指鳥類)羽翔(首翼色青的鸞鳥)
顶部
szjalw
游侠会员


Rank: 1

精华 1
积分 555
帖子 751

金钱 1036
经验 20
荣誉 10
互助 6

来自 咖啡和我的夜
参与论坛活动,赚取LTB!

技术帖啊,大家多看看,在搞些新的兵种出来啊/





咖啡和我的夜-----设身处地~~~计出万全... -!-惟天下之至诚能胜天下之至伪~惟天下之至拙能胜天下之至巧。

欢迎加入我的空间CLUB:http://81166234.qzone.qq.com/club
顶部
fyll
游侠会员



Rank: 1

精华 0
积分 2
帖子 8

金钱 36
经验 0
荣誉 0
互助 0

醒目提示:游侠武林三国大型游戏将在26号下午3点正式开服!无需下载客户端,直接进入即可游戏!

顶顶顶顶顶顶顶顶顶顶顶顶顶顶

顶部



www.netshowbbs.com game.ali213.net
我们每天在进步 游侠游戏社区 游侠网


当前时区 GMT+8, 现在时间是 2008-10-11 05:26
增值电信业务经营许可证 沪B2-20050044

Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
清除 Cookies - 联系我们 - 游侠NETSHOW论坛 - Archiver - WAP