查看: 5195|回复: 0
打印 上一主题 下一主题

利用unity3d开发第三人称摄像机(二)

[复制链接]

5552

主题

2

听众

8万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
11

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-8-1 15:09:09 |只看该作者 |倒序浏览
下面让我们来看一下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,调整它的位置,以便于摄像机在角色的后面调整摄像机的角度,以便于稍微偏转一点,从另外一个角度上观察角色。
如果你此时运行游戏,你可以看到角色,处于闲置状态。你不能移动角色,我们需要写一个脚本来接收用户的输入,然后来掌握控制器,然后告诉角色模型来改变不同的动画循环。



分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-17 07:08 , Processed in 0.138019 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部