找回密码
 立即注册
查看: 5676|回复: 94

[实例] 【转】Unity3D中实现简单的电影模式框架

[复制链接]
发表于 2012-12-28 20:50 | 显示全部楼层 |阅读模式
资源信息 Tutorial Information
教程名称: 【转】Unity3D中实现简单的电影模式框架(发帖教程)
适用引擎:   (适用引擎,为空默认为Unity)
教程语种: 中文
教程等级: 1
教程格式: 图文(请用IE9以上浏览器访问本版块)
教程作者: 转载自互联网 (如有问题请短消息联系作者或发表回复)
下载地址: (兑换积分)
点击查看原图
美丽分割线

游戏中,经常会有这样的需求,即播放一段电影,给玩家更好的体验。比如摄像机朝向某两个NPC,两个NPC在那里交谈之类的。

在用Unity3D制作游戏的过程中,也经常会遇到这样的需求,所以在此花时间搭建了一个简单的电影模式框架,目的在于较方便的构建游戏中需要的电影模式需求。

此框架的构想是这样的:电影由一个个关键帧组成,每个关键帧代表一种电影模式功能,如摄像机的动画,角色的动画等等。此框架中提供了简单的摄像机关键帧。我们在Unity3D中完成所有关键帧的编辑,并且存为电影文件,然后在游戏中就可以直接读取文件进行播放了。下面就简单的介绍一下。

首先打开编辑器,从Movie菜单中选择Create:

[/url]

随后在Hierarchy中便会出现所创建的Movie对象,并且在此对象上添加了Movie脚本组件:

[url=http://unity3d.9ria.com/?attachment_id=271]


该脚本有一个Total Time变量和一个Save按钮,Save按钮就是用来保存电影文件的,稍后会说。Total Time就是需要指定的电影的总时长,单位为秒,该变量是用来控制电影的播放结束的。

随后我们就可以添加各种关键帧,此框架中提供了摄像机关键帧,我们就来添加一个摄像机关键帧。首先在场景中创建一个对象,该对象是用来添加关键帧的:

[/url]


接着选中刚创建的对象,从Movie菜单中选择Add Key Frame -> Camera:

[url=http://unity3d.9ria.com/?attachment_id=274]


此时选中的对象中就会包含CameraKeyFrame脚本组件:

[/url]


CameraKeyFrame脚本组件的可编辑功能如下:

Start Time是每个关键帧都会有的数据,指定该关键帧开始执行的时间,单位为秒。

Signature用于标识该关键帧将控制的场景中的对象,当勾选Is Tag时,表示的是给予将控制的场景中的对象的标签,而没有勾选Is Tag时,表示的是将控制的场景中的对象的名称。

Is Draw Path表示是否需要绘制关键中包含的路径点

Path Point Size表示绘制的路径点的大小

Editor按钮也是每个关键帧都会有的,用来打开关键帧编辑窗口

AddPathPointInfo按钮用于添加路径点信息

首先我们要做的就是设置Signature变量,由于我打算控制场景中的MainCamera,所以我设置如下:

[url=http://unity3d.9ria.com/?attachment_id=273]

[/url]


然后就可以使用AddPathPointInfo按钮来添加路径点信息了,添加路径点信息实际的工作步骤是这样的:

首先会根据Signature和Is Tag变量来查找相应的GameObject,然后就读取该GameObject的localPosition和localRotation作为路径点信息,这里我们直接添加2个路径点信息。添加完路径点信息后,可以通过Editor按钮打开编辑窗口进行查看和修改:

[url=http://unity3d.9ria.com/?attachment_id=280]

可以发现,记录的就是指定的GameObject的信息。

这里还有一个Time变量,用于指定变换到该路径点所需的时间,单位为秒。

这里我们为了看效果,把第二个路径点信息修改下:

[/url]

它代表的含义是当电影开始播放时,当此关键帧执行之后,将消耗0秒从指定的GameObject的位置变换到(0, 0, -3.48),接着将消耗5秒从(0, 0, -3.48)变换到(3.37, 0, -3.48)。旋转量没变化。

由于我们的摄像机关键帧的Start Time为0,也就是当电影一播放就将执行,而我们的摄像机关键帧的数据执行需要消耗5秒,所以电影总时间我们设定为6秒:

[url=http://unity3d.9ria.com/?attachment_id=282]

然后我们就可以保存我们编辑完的电影了,选择刚刚创建的Movie对象,有一个Start按钮,点击后,选择保存路径文件就可以了:

[/url]

接着我们可以选择看效果,首先必须进入运行模式,接着就可以单击Movie菜单中的Play项,此时会需要选取要播放的电影文件,选中文件后就可以看效果啦,我们会发现指定的GameObject对象发生了我们先前说明的操作:

[url=http://unity3d.9ria.com/?attachment_id=284]

除了播放之外,我们也可以载入电影文件进行编辑,选择Movie菜单中的Load项,打开需要编辑的电影文件即可:

[/url]

我们选择刚才保存的文件,就可以看到所有刚才完成的数据了,就可以在此基础上继续编辑修改:

[url=http://unity3d.9ria.com/?attachment_id=281]

好了,框架以及摄像机关键帧的使用就是这样,有兴趣的朋友可以去下载源代码查看^-^:http://115.com/file/anju9qse#MovieEditor.rar
转自:http://www.cnblogs.com/twjcnblog/archive/2012/03/21/2409749.html


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2013-6-9 10:17 | 显示全部楼层
例子很不错
发表于 2013-7-10 15:30 | 显示全部楼层

感谢楼主的无私分享!{:soso__11402694654016840197_7:}
发表于 2017-3-4 19:25 | 显示全部楼层
楼主是超人
发表于 2017-3-4 19:16 | 显示全部楼层
好帖就是要顶
发表于 2017-3-4 19:47 | 显示全部楼层
顶顶多好
发表于 2017-3-4 19:03 | 显示全部楼层
真心顶
发表于 2017-3-4 18:56 | 显示全部楼层
很好哦
发表于 2017-3-8 20:42 | 显示全部楼层
很不错
发表于 2017-3-8 20:24 | 显示全部楼层
难得一见的好帖
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-21 20:32 , Processed in 0.284067 second(s), 34 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表