图 3.4 例图
这是已经调整好的骨骼,已经和身体部分基本适配完成,这样就可以蒙皮操作了。
3.6 动作设计
动作设计这块只要是多动作的理解和把握,对动作的关键帧有很强的认识,游戏角色的动作设计一般需要四个方向的移动,死亡动作,攻击动作和待机动作这些基本动作的支持。单机动作一般都是一些很小幅度的动作的循环,主要表现角色的呼吸和一些小动作等的体现,给人以角色动态的感觉,不至于太古板太死气。移动是基本动作,一般游戏都是可以通过键盘或者鼠标来操作角色的移动,在动作这一块也可以导入现成的动作直接让角色在引擎里面使用。动作设计需要注意关键帧的时候对动作的把握,尽量让动作看上去自然。动作设计的过程一般是从简单到难,开始的时候可以找一个真人视频,可以是影视动画里面的真实动作,之后将这个片段放到pr里面,把pr里面的参数也设置成帧的显示,这样可以通过pr找到关键帧,之后暂停,在max中对照着暂停画面进行帧的动作的设定,这样照现实动作绑定好的动画一般是比较写实出错的几率比较小,要是比较熟练了k动作就可以凭借经验来做,因为有时候游戏角色的一些动作是夸张的不是都写实的,这个时候就需要制作者的经验去制作了。动作的制作一般可以参照着一些优秀作品去制作。自己再适当做一些修改。或者导入现成的动作进行一些修改也行。动作只是为了引擎掩饰作用,不过用现成的动作一般都是一些基础动作。一些复杂的比如技能什么之类的就需要自己去k动作,因为本身动作是需要去设计的。这次的设计中需要做到的是人物的基本移动,待机动作,以及攻击和死亡动作。
4 引擎的导入
引擎的导入主要是使用了Unity3D这个游戏引擎,并且通过游戏引擎的一些简单脚本的编写实现游戏角色的互动。
4.1 导入的准备工作
导入的时候一般是把max里面的文件所有的东西全部选中,包括骨骼和动作都一起选中,导出成fbx的格式,之后把贴图的文件都导入到引擎的资源包里面。
4.2 简单的交互代码
代码中主要运用的是摄像机跟随代码和按钮控制人物动作以及按键控制人物的动作代码。
4.2.1 按钮控制人物动作代码
var text1:Texture;
var text2:Texture;
var text3:Texture;
var text4:Texture;
var text5:Texture;
var text6:Texture;
var text7:Texture;
var text8:Texture;
function OnGUI()
{
if(GUI.Button(Rect(20,20,60,60),text1))
{
animation.Play("idle01");
}
else if(GUI.Button(Rect(20,90,60,60),text2))
{
animation.Play("hello");
}
else if(GUI.Button(Rect(20,160,60,60),text3))
{
animation.Play("walk");
}
else if(GUI.Button(Rect(20,230,60,60),text4))
{
animation.Play("run");
}
else if(GUI.Button(Rect(20,300,60,60),text5))
{
animation.Play("wonded"); Unity3D科幻风格游戏角色设计与动作演示(8):http://www.youerw.com/yishu/lunwen_2646.html