-
Notifications
You must be signed in to change notification settings - Fork 22
L edited this page Sep 4, 2019
·
5 revisions
这里讲的是旧版的动画
链接
录制动画->保存成资源->代码调用资源播放动画/自动播放动画
录制动画的本质是记录一段时间内物体的变化(旋转、移动、颜色、材质等)
eg.自然地打开门
通过Window->Animation打开动画视图
通过动画视图可以直接创建、修改动画片段(Animation Clips)
为物体添加Animation组件
在动画视图中创建片段
添加要修改的属性(动画本质就是随时间属性发生变化)
数字显示为秒数、帧数
eg.1:30表示1秒和30帧
可以单击时间线上的任何位置预览或修改动画片段
使用按钮跳入下一帧或者上一帧,或者键入特定书直接跳到指定帧
点击红按钮(选中状态)开始录制
添加需要修改的属性Add Property
选择关键帧,找到时间点(在时间线上双击即可添加时间点)
在Inspector面板修改属性/在Scene中操作
录制完成
中间的时间动画会自动补齐
点击Perview
预览
任何组件以及材质的属性都可以进行动画处理,即使是自定义脚本组件的公共变量
//门是否关闭
private bool doorState = true;
private void OnMouseDown()
{
Animation animation = GetComponent<Animation>();
var name = "Door";
if (doorState)
{
//打开门(动画是开门动画)
//[]中填写动画片段名称
animation[name].speed = 1;
//动画从0->animation[name].length播放,所以没有问题
}
else
{
//关闭门
//speed=-1倒着播放
animation[name].speed = -1;
//之前的动画完成了,确认门完全打开
//从动画最后开始播放(默认是从0->0播放),这里需要从animation[name].length->0播放
if (animation.isPlaying == false)
{
animation[name].time = animation[name].length;
}
}
doorState = !doorState;
//播放动画
animation.Play(name);
}