转载自:http://www.cnblogs.com/twjcnblog/archive/2012/03/21/2409749.html

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

好了,框架以及摄像机关键帧的使用就是这样,可能解释的并不是很清楚,大家有问题可以提问,我会及时回答的,由于初学Unity3D,此框架的功能和方便性可能不是很好,大家看看就好,有兴趣的朋友可以去下载源代码查看^-^:http://115.com/file/anju9qse#MovieEditor.rar

Unity3D简单电影视图编辑相关推荐

  1. java+mysql实现简单电影影片管理系统

    java+mysql实现简单电影影片管理系统 系统结构介绍 1.主要视图 2.项目准备 3.代码 1.Movies.java和user.java 2.demo.java 系统结构介绍 1.主要视图 分 ...

  2. SpringCloud(第 002 篇)简单电影微服务类(消费方,而提供方为用户微服务)

    2019独角兽企业重金招聘Python工程师标准>>> SpringCloud(第 002 篇)简单电影微服务类(消费方,而提供方为用户微服务) 一.大致介绍 微服务与微服务之间通过 ...

  3. IOS 创建简单表视图

    创建简单表视图 此实例主要实现UITableViewDataSource协议中必需要实现的两个方法tableView:numberOfRowsInSection: 和tableView:cellFor ...

  4. Unity3D简单的打飞机游戏

    Unity3D简单的打飞机游戏 这是下载地址,请自行下载 这是下载地址,请自行下载

  5. 使用ffmpeg进行简单的视频编辑

    视频格式小科普 在开始下面的教程之前有必要先简单科普一下视频格式的知识. 视频格式是一种非常不专业的叫法,事实上,视频有编码格式和容器格式两种.编码格式之于容器格式就像牛奶之于杯子一样. 常见的视频文 ...

  6. [unity3D]简单实现FPS中的射击功能

    [Unity3D]最简单最详细的第一人称射击教程 自学Unity3D一段时间,看到在网上有很多有关于Unity3D第一人称射击教程,但是大多数教程都比较复杂难懂,在这里我介绍一个比较简单实用的方法供大 ...

  7. UITableView 表视图编辑

    UITableViewController(表视图控制器)继承自UIViewController,自带一个tableView self.view不是UIView而是UITableView dataso ...

  8. Unity3d 简单的小球沿贝塞尔曲线运动(适合场景漫游使用)

        简单的小球沿贝塞尔曲线运动,适合场景漫游使用 贝塞尔曲线:(贝塞尔曲线的基本想法部分摘自http://blog.csdn.net/u010019717/article/details/4768 ...

  9. 视图之一--创建简单的视图

    一.视图 视图是数据库中的一个虚拟表,其内容由查询语句查询出来的.就像真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.它的行和列数据来自由定义视图的 ...

最新文章

  1. 【C语言学习趣事】_GCC源代码分析_2_assert.h
  2. CCS V5 创建工程和配置软件仿真
  3. 祛除雀斑的健康方法 - 健康程序员,至尚生活!
  4. 你周围需要这6种人(文摘)
  5. [Qt入门]QTreeWidget控件创建
  6. 删除MyEclipse 6.5.1自带的Maven4MyEclipse
  7. Linux 命令(22)—— touch 命令
  8. 原理剖析(第 009 篇)ReentrantReadWriteLock工作原理分析
  9. 树莓派3B的WiFi中文乱码及搜索不到附近的WiFi_解决方案:
  10. linux重启网络服务后什么端口都不通,linux的端口不通怎么解决
  11. php正弦函数图像,Go语言输出正弦函数(Sin)图像
  12. gimp中文版教程_GIMP中文详细教程.pdf
  13. NSIS脚本开发总结
  14. 软件资源版权声明与免责声明
  15. 随心所欲的“四舍五入” 之 ROUNDUP函数如何使用?
  16. Java8 Stream接口流式方法:map操作、filter操作以及flatMap操作
  17. Opencv 实现 运动模糊的添加(motion blur)与消除(demotion blur)
  18. HT366 具有防破音功能的2×20W立体声D类音频功放IC
  19. Android targetSdkVersion从23升级到26适配指南
  20. PDF可以被压缩吗,是如何实现的?

热门文章

  1. Linux-C中libc函数以及系统调用函数查看
  2. 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)
  3. 为什么60岁叫花甲之年?
  4. Python实现十进制数与二进制补码转换
  5. int *a 和 int a[ ]
  6. Java使用JDBC用操作MySQL的基本实现
  7. 如何接入微信公众号开发?底层原理是什么?
  8. 操作系统学习-6. 信号量
  9. Percona Server for MySQL 安装TokuDB引擎
  10. 【四面体数】 直角三棱锥