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

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

[复制链接]

5552

主题

2

听众

8万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
11

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

跳转到指定楼层
楼主
发表于 2012-8-1 15:19:11 |只看该作者 |倒序浏览


按照上面的步骤可以创建一个可以在场景运行的角色,然而,在我们创建的系统中有两个瑕疵:

1.摄像机不能跟踪角色。
2.角色可以在十分陡峭的地形上可以行走。
摄像机跟踪

当角色在走动的时候,我们希望摄像机在后面跟随角色运动,有3种方法可以完成此功能:

(1)从Hierarchy中拖动Main Camer到character prefab上,这样将摄像机绑定到控制器上。

(2)创建一个光滑跟着摄像机(smooth follower camera),它将绑定在角色上。

(3)创建一个轨道摄像机(orbital camera)。

第一种方法是最简单的,它可以将摄像机作为角色的一个子集(child),如果想测试场景运行的时候,可以采用此方法,但这种方法设置的摄像机运动有一些粗糙,它并不是一个最好的跟踪器。

第二种方法,我们施加一个光滑跟踪组件(smooth follow component)到摄像机上,然后将其与角色相关联,从而获得一个更好的跟踪器。

第三种方法稍微有一些复杂,可以参看另外其他的一些指导文档。
在这里我们使用第二种方法,执行下面的基本步骤。

1.在hierarchy中选择摄像机。2. 选择【Component 】/【Camera Control】/【Smooth Follow】。

这样可以将一个光滑跟踪组件(smooth follow component)添加到摄像机上,我们接下来需要将它和角色连接起来。

1. 在Hierarchy中选择Main Camera。

2. 在Inspector中查看Smooth Follow script部分,如下图。

3. 设置目标(target)为角色的transform。


如果你测试此游戏,摄像机将跟随角色,但将会脱离位置,因此我们需要设置摄像机的位置。设置Height和Distance,以便于它在希望的位置。当你在恰当的位置上测试游戏,你会发现摄像机会跟随角色运动,并光滑的配合角色运动,没有粗糙的感觉。
坡度的限制

如果你曾经构造了一些地形,如山坡,悬崖等,那么你会发现,及时坡度很陡峭,角色仍旧可以走上去,这是不可能的,因此,我们需要采取技术防止这一情况,设置一个坡度限制可以很方便的防止角色走上一个斜面,因为我们连接在角色上的角色控制器组件(character controller component)中包含了一个坡度限制。

1. 在Hierarchy中选择角色。

2. 在Inspector的角色控制器部分处查看“Slope Limit”。
默认为90度,这是很陡峭了,将它们设置为40-50.
其他说明:

伴随摄像机

当伴随摄像机工作的时候,必须考虑到摄像机碰撞检测问题,但是要做到这些需要掌握其他一些机能,这已经超出了本文的范畴,很快我们要提供一个关于高级摄像机的应用文章。读取动画时间知道怎样读取动画的时间是非常有必要的,很简单,只需要下面的代码:

animationTime = animation["name_of_animation"].clip.length;

在角色上添加纹理

我们没有考虑到怎样在角色上添加纹理,但这是很简单的,和很多模型导入方法一样,单独导入纹理,然后在Inspector 中打开材质,从中为每一个材质选择纹理。

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

使用道具 举报

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

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

GMT+8, 2025-6-18 20:05 , Processed in 0.063533 second(s), 28 queries .

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

© 2008-2019 Narkii Inc.

回顶部