使用Animation实现摄像机动画
项目剧情模块分给了我做,其中很重要的一个功能就是摄像机旋转平移等操作,本来打算使用Camera Path这个插件制作的,但是鉴于项目Unity版本还停留在4.3,低于插件要求版本,另外编辑器做出来是交由策划进行编辑的,而他们的权限只能看到场景,代码部分很少,因此只能寻求另外的解决方案。
选择Animation组件实现功能有两点好处:
1.Animation是Unity自带组件,不需要任何其他代码支持,方便策划编辑。
2.直观,所见即所得,操作较为简单,功能强大。
实现过程中需要注意三个方面。首先,需要在摄像机挂在一个Animation组件,用于播放摄像机动画。
其次,需要教给策划如何去创建编辑一个动画文件。打开Animation窗口,选中摄像机,新建一个Animation文件,左侧是组件列表,通常只会用到Postion和Rotation两种,红线表示当前选中的帧,可以看到摄像机此时Position参数和Rotation参数,在场景中拖动摄像机编辑每一帧摄像机的状态,记录于每个帧。右侧横轴表示动画时间轴,图中的单位是秒,滑动滑轮可以进行缩放,两个帧点之间的距离与动画速度成反比。
最后,完成一个动画的编辑后需要修改动画文件Type,选中文件,将Inspector窗口改为Debug模式,修改Animation Type参数2为1。这个问题主要是由于新的Mecanim动画系统出现后,动画文件默认的类型会被改为适合Animator的Type,这里需要将之修改回来,否则会报The AnimationClip 'xxx' used by the Animation component 'xxx' must be marked as Legacy.错误。完成这些后将动画文件挂载于Prefab上,打包成AssetBundles,在游戏中加载完成根据需要将Animation挂载于摄像机播放,摄像机动画即会呈现出来。
其实并不推荐大家使用以上解决方案,如果版本支持,使用上文中提到的Camera Path插件是个非常不错的选择,插件是使用新版动画Animator来实现的。经过几个版本的完善,新版Mecanim动画已经比较可靠了,功能强大、所见即所得。这里分享出来主要是因为项目版本较低,记录一下这个自创的山寨解决方案。
使用Animation实现摄像机动画的更多相关文章
- Android动画效果之初识Property Animation(属性动画)
前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...
- 3DS MAX调慢摄像机动画
在3ds max的右下角找到时间配置,然后出现该对话框,然后调整结束时间,将原来的时间翻倍,就能够是摄像机动画变慢. 下图的旋转速度比上图慢一半.
- Android动画主要包含补间动画(Tween)View Animation、帧动画(Frame)Drawable Animation、以及属性动画Property Animation
程序运行效果图: Android动画主要包含补间动画(Tween)View Animation.帧动画(Frame)Drawable Animation.以及属性动画Property Animatio ...
- jQuery Animation实现CSS3动画
jQuery Animation的工作原理是通过将元素的CSS样式从一个状态改变为另一个状态.CSS属性值是逐渐改变的,这样就可以创建动画效果.只有数字值可创建动画(比如 "margin:3 ...
- 基于animation.css实现动画旋转特效
分享一款基于animation.css实现动画旋转特效.这是一款基于CSS3实现的酷炫的动画旋转特效代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class ...
- 示例:WPF中自定义StoryBoarService在代码中封装StoryBoard、Animation用于简化动画编写
原文:示例:WPF中自定义StoryBoarService在代码中封装StoryBoard.Animation用于简化动画编写 一.目的:通过对StoryBoard和Animation的封装来简化动画 ...
- Unity Animation System(动画系统)
动画系统: 支持:动画融合,混合,叠加动画,行走循环的时间同步,动画层,控制动画的各个方面(时间,速度,融合权重) 带有每顶点1.2或4骨骼的蒙皮网格,以及支持基于物理的布娃娃系统和程序动画. ...
- SVG Drawing Animation - SVG 绘制动画
一个小实验,探索 SVG 线图动画的使用情况,以前沿的展示形式呈现图形或网站元素的外观,模拟它们的加载.SVG 真的很强大,有许多创造性和可能性,使用 SVG 可以制作各种有趣的网站交互效果.今天这篇 ...
- Unity3D研究院之使用Animation编辑器编辑动画(五十四)
Unity提供了Animation编辑器,它可以为我们编辑物理动画.举个例子比如场景中有一个来回摇动的秋千,这个秋千在项目中完全只起到衬托作用,它不会与别的游戏对象有任何交互.如果这个秋千也用代码来 ...
随机推荐
- web api post传一个参数时 值永远是null
这个问题纠结了我一个早上,不管用什么样的传参方法,走到控制器中,那个参数永远不变的等于null 在网上找了很多解决方案 上面这个是从网上截图的,第一:要将参数标记为[FromBody],变为简单参数 ...
- PHP面向对象的继承
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Ubuntu 14.10 下SSH执行远程命令
有些时候需要在远程机器上执行命令,如果每次都等进去挺麻烦的,所以用脚本执行会方便很多.下面介绍一下在shell脚本中执行远程命令. 1,首先写好要运行的脚本 run-command.sh, 加上执行权 ...
- C语言数据类型在IA32中的大小
这个主要是一些常识问题,以及在使用AT&T语法汇编时会使用的编码后缀: C声明 Intel数据类型 汇编后缀 大小(byte) char 字节 b 1 short 字 w 2 int ...
- Python的图形化界面
导入easygui模块有很多种方法 , 这里只介绍一种简单使用的 . import easygui as g 将easygui 简称为g 然后开始调用她的函数就行. import easygui as ...
- PHP_Session
Session有12个函数分别是: 01 session_start: 初始 session 02 session_destroy: 结束 session 03 session_unset: 释放s ...
- IOS 作业项目(4)步步完成 画图 程序(中续)
一,程序布局整理 前言://1,程序启动//2,程序流程框架//3,程序界面一致//4,程序界面功能, //这里只做页面的固定功能, //在首次创建界面时,我们会指定好固定事件触发前的固定方法 //至 ...
- The Blocks Problem
Description Many areas of Computer Science use simple, abstract domains for both analytical and empi ...
- POJ2449 (k短路)
#include <cstdio> #include <cstring> #include <cmath> #include <algorithm> # ...
- C#_WinForm接收命令行参数
C#_WinForm接收命令行参数 2014-08-03 10:17 534人阅读 评论(0) 收藏 举报 首先,我要仔细的声明下,本文讲的是接受命令行参数,让程序启动.而不是启动那个黑黑的框...我 ...