游戏菜鸟
- 贡献度
- 64
- 金元
- 3351
- 积分
- 601
- 精华
- 1
- 注册时间
- 2009-3-18
|
本帖最后由 kfhuangy 于 2012-3-22 16:54 编辑
前篇
要准备的:
1.工具
1)脚本编辑工具,要着手开始写脚本,首先你要知道哪些东西你可以用来帮助你提高效率,CK原有的编辑窗体太小,功能太少,没有关键字变色,10行以内的脚本还好,超过10行就很不方便
[纯技术向]Creation Kit 第三方脚本编辑器支持,实现函数,关键字,类型等高亮显示,Creation Kit外部编译脚本
http://bbs.3dmgame.com/thread-2858214-1-1.html
这里是一篇大大写的编辑器的安装教程,我没仔细看过,不过我当时弄UE的时候用了一点时间,看看别人的配置方法可以减少很多自己摸索的麻烦
我的编辑器选用的是UltraEdit,好处是UE的搜索功能是几种编辑器中最强大的,编写脚本过程中经常要参照别人的例子,UE提供从文件中搜索关键字的功能
2)Creation Kit,官方mod制作工具,不多介绍了,不过强调一点,编写脚本的时候,一定要用英文原版,但是,汉化版也要装,用英文我后面会解释,汉化版的功能除了让你对照含义以外,还有个功能,因为编写脚本最重要的还是参考,用英文版编辑的时候,多开一个汉化版可以进行搜索,虽然UE很强大,但是制作mod不单单只是脚本的编写。
3)NifSkope.因为我的文章主要是编写脚本,3DMAX等建模工具很少使用或者不使用,但是有时候你需要用别人的模型来做自己的东西。NifSkope有一个功能是修改模型的贴图关联,这在修改模型的时候常常用到
4)BSA_Browser,BSA解包工具,参考别人脚本的时候解包用的,不多介绍
2.网站
1)CK官方:http://www.creationkit.com 不多解释,善用搜索
2)deepku:http://skyrim.deepku.com/Creation_Kit 汉化版教材,虽然很多翻译有问题,不过可以一边对照官网来进行理解
3)官方论坛:http://forums.bethsoft.com/forum/13-the-elder-scrolls/ 相关问题的讨论,很有用
4)N网论坛:http://forums.nexusmods.com/index.php?c=409,411,419,415 虽然很多问题没有官网论坛专业,但是经常有新MOD的发布以及讨论,很多时候你都可以在上面找到你所需要的解决方法
5)那啥... http://www.loverslab.com/Forum-Skyrim--4 这网站虽然有点偏重于动作类的= =,不过和N网论坛一样,很多新mod发布以及讨论
3.基础,Papyrus虽然只是一个脚本语言,并且是个不完善的语言,但是基本的逻辑判断赋值等等还是具备的。你不需要精通别的高级语言,但是你需要了解最基本的赋值(=),判断(== >= <=,&&,||),条件(if else elseif endif)等等。Papyrus也有继承,有引用,有跳转,但是说到底还是脚本语言,你必须明白,在很多时候,程序执行的顺序是从上到下,上一行执行完成后,才会执行下一行。具体的后面会看到。
如何开始.
凡事都有目的和结果,你要开始做mod,就要有个目标,用程序员的话来说,你需要有需求,无论是工作需要,还是兴趣所致,你必须给自己定个目标,我选用舞蹈来进行我的MOD旅程,一是它涉及的东西很多,对话,动作,角色控制等等。当然,编写任务脚本也是一个很好的方向。编写跳舞之前,我需要了解我手上有的东西,1,俄国大大的舞蹈动作,音乐。2,CK自带的原版参考脚本。3,别人对舞蹈mod的使用体验和要求.4。xxoo MOD.
首先,我们打开原版单曲mod。关键点 File->Data->选中ILLDanceForYouEng.esp->Details,
这里你可以看到原版MOD进行了哪些修改
我们找到DanceTalk,这是对话进行跳舞的任务主题。这里我要说明的是,在老滚里面,任务是一切行为的脉络或者骨骼,所有的行为,动作,都是由任务串联在一起的,只要涉及到行为触发,道具获取,对话的mod,首先找到他建立了什么任务,你就基本找到了研究的入口,接下来我们看看原作者在这个任务里面做了什么
我们在DanceTalk任务里面的player dialouge里面看到他的对话
双击OK那里
对比游戏看到的Let's dance. Keep my musicbox,就是玩家选项,OK就是NPC对答,下方的papyrus就是脚本窗体,但是仔细看,只有一行Game.ForceThirdPerson(),这明显只是设置游戏视角的。并没有音乐或者动作的,
我们看一下两个OK里面有什么
第一个OK我们可以看到,原来对话的时候可以设置玩家动作和NPC的动作,结合这个mod需要替换applaud2动作,我们不难分析出,这里就是对话后让NPC和主角跳舞的地方,但是这里没有选择音乐,我们再看下一个OK
这里的SoundFile就是选择音乐的。
我们可以得出结论,原版就是通过一个任务,给所有NPC加载对话,对话的动作是跳舞动作,对话的语音是音乐。
我们想要修改的,就是能在这个基础上,增加对话可以选择的歌曲。我们可以用原作者的思路,替换原有动作,比如applaud3,applaud4,或者其他不常用的动作。
但是这时候我想到,虽然这些默认动作不常做,但是既然放在游戏里,肯定会有一天碰到,你替换了,可能某一天和NPC对话,或者进行某一个场景的时候,NPC就会给你来一段舞蹈...有点太违和了。我们能否不替换原版动作的情况下,实现50多首舞曲的载入呢?
我们看看手上有什么,对了,XXOO mod,这个mod虽然还不完善,但是他的确没替换原版动作,而且可以通过对话来实现多动作选择。我们就来分析这个mod
按照我们了解的,动作文件一般放在Data\meshes目录下,XXOO MOD(我以后用AP代替)在meshes目录下放了几个charactersexy文件夹,里面的结构和原版的类似,为什么MOD作者会做出这样的动作?我们用CK打开APmod以后,发现他增加了很多RACE
什么是Race,就是老滚里面的种族,为什么作者要增加种族?这和动作有什么关联么?我们打开其中一个race,仔细寻找,发现下面这个
原来他修改了behavior的关联,什么是behavior?在老滚里,我们可以认为是动作的定义关联文件,通俗的话来说,就是门牌号,这个文件里面,定义了动作关联哪个动作文件,动作的执行时间,条件等等。你要增加自定义动作,必须优先修改这个文件,才能让系统去读取你的自定义动作,不然只能替换原有动作。AP的作者估计暂时找不到修改动作的方式,通过种族有自有动作的特性,在新种族下指定关联来不替换原有动作的情况下实现自有动作。我们可以大胆的猜测,为什么AP对话后XXOO的时候,会骨骼变形,会只能用自定义发型,就是因为对话后自动帮玩家切换了种族!!
这个方式虽然可以实现自定义动作,但是并不完美,因为玩家肯定会有很多新的发型,跳舞的时候发型没了,不是我们需要的。
这时候我陷入了难题,因为behavior文件的存在,我没办法插入我想要的新的动作文件,替换的方式肯定又不合适,切换种族又会对很多装了皮肤和头发的玩家产生影响,我应该怎么做?
我想到了loverslab这个论坛,这个论坛就是以各种邪恶动作出名的,里面也有老滚专区,我搜索了animation和IDLE两个关键字,发现了下面一篇讨论
http://www.loverslab.com/showthread.php?tid=5130&page=2
原来老外早在去年就已经在寻找方法加入新动作了,我一篇篇阅读,看到有个人在最近找到了方法
http://skyrim.nexusmods.com/downloads/file.php?id=11811
通过修改behavior,增加原有系统的动作的定义项。这样就好办多了,虽然还是会修改原有文件,但是产生冲突的机会很小,而且不需要修改种族
接下来我们可以开始着手我们的舞蹈MOD了。我们下在了这个增加了插槽的behavior文件,打开CK,点击gameplay->animation 这里就是定义动作的
我们展开这里
拉到最后面,右键点击LOOSE->insert child
输入好记的动作名字,比如BadApple,选择一个新的插槽,勾上blocking,这样可以允许你的动作被其他动作打断
注意,这里的zfnisc010对应的就是Data\meshes\actors\character\animations\FNIS目录下的FNISc010.HKX文件,我们把原版动作改名,放入这个文件夹内
这样,依次增加50多个动作,动作加好了,我们来处理音乐
这个是我增加的音乐列表,绿色图标的就是名字和实际音乐图标的关联,点击打开,或者在CK Audio->Sound Descriptor里面新建
选择对应的歌曲,其他选项可以默认,当然你可以尝试下修改它的音效什么的来达到更好的音乐体验,不过,我没试过...不能教你们了
完成这一步你就可以在大多数非脚本选项里面选择这个歌曲了,但是如果你要编辑脚本,还不够
可以看到上上张图喇叭图标的音乐文件,这个是用程序员的话来说是映射,我们要在脚本中引用,不能直接使用绿色图标的,必须给它个映射,我们才能在脚本中引用
在CK Audio->Sound Marker中新建
输入和sound一样的名字,并加后缀以示区别,列表中选择刚才建好的曲子,注意,这里一定要鼠标点击一次下拉框中的曲子,因为现在的D版CK有bug,打字打上去的曲目没办法保存
做完这一步我们就完成了动作和曲子的准备工作。
我们依然是打开dancetalk任务,点开dialogue views,这里我们可以建立有步骤的对话,可以很方便的实现有选择的对话
左边右键->new,随便起名字,然后依次输入面板名称(面板就是一个对话集合),第一个话题的ID(话题必须有开始话题,输入的第一个topic就是你和npc对话看到的第一句)
我们输入
dance?下面回答输入Choose a menu
接下来的工作可以参考deepku的增加任务的教程我不累述,最后你会看到我的任务...
我们现在增加动作和曲目,和上面原版的方式一样,我们点击一个最终曲目的对话
在NPC回答OK那里选择问答动作,问答语音,这样重复几十次,最简单的对话—>选择—>跳舞就完成了
这只是第一步,我们还没有开始我们的第一个脚本,但是这些准备和研究都是必不可少的。我以后还会出制作任务的教程,那里也是一样,我们在编写脚本前,需要做大量的研究和准备工作,无论是程序员,或者只是爱好者,充分的准备能让你的工作更有条理。
2楼将要开始我们的第一个脚本
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
4
查看全部评分
-
|