纳金网
标题:
利用unity3d开发第三人称摄像机(二)
[打印本页]
作者:
会飞的鱼
时间:
2012-8-1 15:09
标题:
利用unity3d开发第三人称摄像机(二)
下面让我们来看一下Horizontal和Vertical轴,Horizontal指的是你的左右控制,Vertical指的是前后控制。
需要设置一个正值和一个负值,另外还可以提供另外一套按键,设置的时候一定注意不用发生冲突。
动画周期
在执行角色控制之前,需要对动画进行配置。导入的角色中包含了3个动画循环,如果你打开3ds Max,你会在时间线上发现这些动画,首先是静止动画,然后是走动,接着是跑,当我们导入此角色的时候,这些动画同样会一起导入,但我们需要告诉Unity,这里有3个动画,分别指明每一个动画循环的起始帧和终止帧,并给每一个动画循环进行命名,以便于我们在控制脚本中进行调用。
动画的时间线按照下面的形式进行设计:
Idle循环:0-180帧
Walk循环:200-230帧
Run循环:250-274帧
在Project面板上选择此角色,在Inspector中查看它的设置。从中找到FBX Importer部分,如果你展开了这些设置,你将在下面看到动画序列选项。
我们需要创建3个动画序列,点击右侧的+号,创建3个不同的内容,对他们进行命名,然后设置起始和终止帧,如下:1. idle (0-180)2. walk (200-230)3.***n (250-274)完成上述设置后,点击Apply,Unity会自动打断此动画循环,形成3个不同的序列,我们可以在脚本中使用动画序列的名称。
最终的动画序列如下图:
你或许已经注意到了一个blend模式和一个loop选项,你可以设置动画混合模式和序列循环模式,但我们后面将使用脚本进行控制,所以这里使用默认设置。
当这些设置完成后,我们开始执行动画控制器了(character controller)。
放置角色
将角色从project中拖放到scene视图中,此时角色显示在scene中,同时在hierarchy中也会显示出来。
你或许需要在场景中对角色进行定位,一定要保证它的脚接触到地面(但要保证不要穿过地面,否则对象会掉下去)。
你可以使用窗口右上角的视角控制手柄来切换top,down,side, front和 perspective模式,最终角色的放置方式如下:
添加角色控制器组件(Character Controller)
现在我们需要在角色上添加一个"Character Controller" 以便Unity知道此对象为一个可运行的角色,在Hierarchy中选择角色:
Component -> Physics -> Character Controller
当Prefab警告窗口出现后,点击Add,接收这种改变,当添加角色控制组件后,我们需要缩放它的胶囊型碰撞器,以便它的尺寸和角色的尺寸相当,并将它放置在角色的周围(包裹在角色上)。
在Inspector中你可以看到角色控制的设置,调节到front和side视图,然后调整高度和半径,以便与它和角色相匹配,调整胶囊的中心值在正确位置。
对于我们的角色,设置高度为1.85,半径为0.4,Y中心值为0.93;如果你使用自己的角色,设置会有所不同。
调整胶囊的大小使之匹配角色的尺寸,调整它的位置,以便不穿越地形,如下图:
放置摄像机
接下来我们来设置这个摄像机,选择Main Camera,调整它的位置,以便于摄像机在角色的后面调整摄像机的角度,以便于稍微偏转一点,从另外一个角度上观察角色。
如果你此时运行游戏,你可以看到角色,处于闲置状态。你不能移动角色,我们需要写一个脚本来接收用户的输入,然后来掌握控制器,然后告诉角色模型来改变不同的动画循环。
欢迎光临 纳金网 (http://go.narkii.com/club/)
Powered by Discuz! X2.5