||
--------开篇废话----------
小弟高中英语水平,不会3DMAX,不会Blender..翻译质量请容忍…若有问题,别找我……
PS:国外的上古mod制作界貌似blender比max热门很多,网站上面的教程几乎都是blender的,也许是max只有8.0可用而blender则不断地更新吧,毕竟blender是免费软件
----分割线-----------------------
工具准备:
Nif
skope:http://sourceforge.net/projects/niftools/files/nifskope/
以下请按顺序安装
1.Blender:http://www.blender.org/download/get-blender/
2.Python
2.6(安装第4项的必需品,貌似2.6以上或以下的版本都不行):
http://www.codepub.com/d/downpage.php?n=1&id=12776::1216477367
3.PyFFI(安装第4项的必需品,插件比软件本体还大牌,无语):http://sourceforge.net/projects/pyffi/
4.Nif scripts for
blender:http://sourceforge.net/projects/niftools/files/blender_nif_scripts/
---------分分分分分分分分分分分分分分-------------
以下内容摘自http://cs.elderscrolls.com/constwiki/index.php/Blender/Creating_a_Character_Animation
如果看不懂我写的中文,可以自己去看。。
----------正文---------------
Part
1: 准备工作
本教程是在2.48版的blender,2.1.13版的 NIF
scripts环境下制作的。首先我们要有一个骨骼文件(skeleton.nif或skeletonbeast.nif),还有身体文件(femaleupperbody.nif等)。
接下来我们将以Robert's
Average Male V4的身体文件为例。
首先,点files—import--
netimmerse/gamebryo,导入头部模型文件head.nif(我们用的beautiful
people,头部文件储存在MeshescharactersRenHead里)接着就是身体模型文件upperbody.nif, lowerbody.nif,
hand.nif and
foot.nif(储存在Meshescharacters_male里),接着,右键一一点选画面中的骨骼(黑色粒状),狠狠地按下del键。(这一步导入模型时按照默认设置导入即可,不用选择"import
skeleton only and parent to
selected")
运用shift键和鼠标右键点选所有的肉体模型,按下ctrl+J,这会让各部分身体拼凑/结合在一起,让你更好地给小人摆pose。
点选你拼凑好的肉体,用同样方法导入meshes/characters/_male里的skeletonbeast.nif(skeleton.nif应该没区别)。如图所示,一定要点上"import
skeleton only and parent to selected"。
然后你将会看到以下一副景象
制作动作最重要的就是时间轴
我估计你现在正挣扎在blender那凌乱的界面中,其实,只要弄的好,画面是可以很直观的。例如,要弄一个时间轴面板,首先右键点击已有的面板的左边界或右边界,然后选择
“split”
,划出一个新区域。新区域的左上角有一个图标,点击它,选择timeline,那么,一个时间轴面板就横空出世了。(你可以多创造几个面板玩玩,熟悉下blender的界面。如果多了,右键点面板边界,选择join,就可以删掉它了)
经过上一步的挣扎,我想你也对blender的界面略知一二了。那么,看看最下面的buttons面板,它很有用。
关键来了,如图所示,像刚刚那样,点击buttons面板的上边界,创造出一个
text editor面板
然后,点击text---new
如图所示,将那里改成anim,这样傻傻的blender娘才知道我们要制造kf动作文件。
Now type what you see here.
如图,在文本中框输入如下内容
[img] /[/img]
“/start”前面的数字为起始帧,那么end前面的的就是结束帧。一般的动作文件是不可能只有2帧的,除非你铁了心做一个雕像式定格动作。
(根据我一天的blender使用经验,貌似每9帧为0.3秒,也就是3帧0.1秒,也就是1帧0.033333秒,也就是30帧1秒)
那么,下一步就是给你的动作加一个优先权,这会决定在游戏中是不是优先做这个动作。
在模型面板中转换至
pose
mode,接着按下A键,选中所有骨骼。
接着将我们的button面板转换至script面板,看图,选择scripts—object里的Set
Bone Priority,一般来说设置30的priority(优先权)即可。
最后将scripts面板再换回buttons面板,并且确认模型面板依然处在pose
mode下
好了,一切妥当,我们要开始蹂躏面前的小人了。
Part 2:
捏动作
要确认时间轴里的始末帧与text面板里设置的始末帧相吻合,并将时间拖到第一帧,本例中唯一两帧的其中一个。
这一段我就不必放太多图了,最主要的是靠你们自己动手。动作制作中,最简单的骨骼调节方式是右键选择骨骼,然后按R,进行调整,多多利用小键盘1
3 7和ctrl+1 3
7更换视野,你可以很方便地调整人物的体态。
现在看到button面板,点选“x-ray”可以让你穿越小人的肉身看见骨骼,同时点掉“names”和“axes”可以使界面更简洁
上图可见,你可以在时间轴里自由穿梭,但前提是最终输出的动作只有text面板里写的始末帧之间的段落(怎么感觉老外这么啰嗦)。
用最少的调整量来完成你的动作,如果调的太多,善后工作将会十分繁琐,所以尽量使用Rotation(旋转)而不是translation
Remember,
you can achieve more precision with your rotation of a bone by selecting x, y or
z after pressing r. Pressing the ctrl key and holding it down while rotating
insures you rotate in whole units and can be quite useful as
well.
%……&@¥(¥@*&¥(*@这一段看不懂,貌似也没什么用吧。
多加练习,熟能生巧,久而久之你会很适应这种调整工作,但最难的还是手指的部分。
当你满意了这一帧的动作,按下I键并选择loc/rot,这样一个记录了当前动作的位移/旋转情况的关键帧就出现了。如果你制作的是跑步/走路动作,loc的关键帧数据就很重要。
转到第二帧,用同样的方法弄一个关键帧。
如果你制作了一个连贯的动作,拥有很多帧,你只要在几个关键的地方做关键帧就可以了,例如每五帧,十帧,因为blender会自动将两帧之间的动作连起来。做这种移动的动作需要更多的练习和规划,所以初学者还是做雕像式动作比较好。
当你满意了你制作完成的动作,你可以按播放键来欣赏你的劳动成果,如果你做的是雕像式定格动作还去按,那是你闲的蛋疼。
Part
3: 输出nif
如图
[img]
[/img]
一定要点选"animation
only.",如果你要在CS里弄一个动作mod出来,就把它存到meshes/characters/_male/IdleAnims。否则就在meshes/characters/_male/
[edit]
Part 4: Nifskope Alchemy
用nifskope打开你的宝贝kf文件,你将什么也看不到,因为kf文件不包含模型
在本例中,在顶部nicontrollersequence的右边你会看到"KNEELINGcower1."。改成"specialidle_"(如果是平常的待机动作就idle,如果是前进动作就forward,如此类推)如果不改,游戏将不会认出你的kf
选择了nicontrollersequence后,在下面block
detail栏目里(打开nifskope上view里的show
blockdetail)你会找到起始时间starttime,结束时间stoptime,循环方式cycle
type。将循环方式设置为loop,起始时间为0,结束时间则要看你的kf文件实际情况。
设置好后,就可以保存了。进游戏测试吧
(译者注:我的实践中,到这里为止进游戏kf文件还是没法被认出,还有一个步骤需要完成:随便点击block
list栏的空白处,将block detail栏拉到最底下,打开nitextkeyextradata,那里将有两个text
key,分别对应始末帧,展开,我们将看到一个起始时间
0.0000和结束时间,例如0.6666,在它们这一行下面的一行分别改成start和end,保存,这样我的kf才表现了出来,不知道是不是我上面的操作漏了什么)
如果你的动作能成功表现,人物是站在地上而不是陷进地里,那恭喜你,这篇教程你已经毕业,但如果你的人物陷进地下,那你就继续看下去,我将教你用nifskope调整Bip01
NonAccum来解决这个问题
Part 5:
调整
你制造的动作可能使你的人物站在天上活着埋在地下,或者更可怕,这些起始都可以在blender里防止,但是,我还是觉得nifskope比较方便
上一张图片你可以看见NiControllerSequence.里有一个"Num
Controlled
Blocks",展开它。
这里就是所有在这个动作里被控制的骨骼列表,现在我们关注的是其中的"Bip01
NonAccum.",展开它
[img]
[/img]
点一下NiTransformInterpolater前面的箭头,然后再点NiTransformData前面的蓝色箭头
展开translation,我们将看到本例中有两个key,分别对应两个关键帧,你可以这样找到关于其他骨骼的关键帧的部分(?)。
现在你可以看到两个key,一个对应开始时段,一个对应结束时段,不要去修改它们的时间,没用。
现在看到这上面的X
Y
Z坐标,与飞天遁地有关的便是我们的Z,一般来说67.414的Z轴数据就能使我们的小人站在地上,如果不是,你就进游戏看着,调整这个数字,知道改好为止
(同理,如果你的动作使你的人物面向的方向出现错误,就更改Quayernion
key中的R坐标)。
这就是为什么我说关键帧越少越好,要是你弄了一大串关键帧,现在就改死你了。
好了,这个教程到此为止,希望你们已经看到你的上古小人摆着你给它设置的动作了)
GMT+8, 2025-1-31 03:10 , Processed in 0.026679 second(s), 21 queries , Gzip On, MemCache On.
Copyright 2020 atollmoe©.a2.1.0 All rights reserved. 9+
Copyright 2009 supported by zhixuan© oeo© oko© All rights reserved.Thank you!