Unity3D中实现简单的电影模式框架
来源:互联网 发布:java正则表达式中括号 编辑:程序博客网 时间:2024/05/30 23:03
很能开拓思路的一篇unity3d教程,下面是原文:
游戏中,经常会有这样的需求,即播放一段电影,给玩家更好的体验。比如摄像机朝向某两个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中实现简单的电影模式框架
- Unity3D中实现简单的电影模式框架
- [Unity3D]在Unity3D中实现简单的碰撞检测
- [Unity3D]在Unity3D中实现简单的碰撞检测
- Unity3D简单电影视图编辑
- 浅谈unity3d中使用MVC框架模式
- 浅谈unity3d中使用MVC框架模式
- 在Unity3D中实现简单的碰撞检测
- 在Unity3D中实现简单的碰撞检测
- Unity3D-FSM的简单实现
- Unity3d 简单实用的UI框架
- 设计模式中关系的简单实现
- Android中MVP模式的简单实现
- 在Unity3d中实现观察者模式
- Unity3d中C#单例模式实现
- 【原创】点点鼠标在Unity3D中实现准电影级镜头感渲染效果
- 简单说说Java中 框架,架构,设计模式的区别
- Unity3D问题之简单UI框架设计和实现
- 关于4.0版本后home和power键监听的事情
- web.xml 的加载过程
- A Learning Based Framework for Depth Ordering
- 获取文件的ICON
- 联想s580TextView适配问题
- Unity3D中实现简单的电影模式框架
- [每日App一]QQ主题要逆天!轻轻松松月入30万!
- 闲暇时间看了下DHT网络
- bitmap图片压缩到制定字节大小
- Service的生命周期
- 谷歌I/O大会前瞻:这11件事情最值得关注
- android gravity 属性
- IOS 开发,调用打电话,发短信,打开网址
- AppCan移动应用平台规范中化集团移动信息化标准