这次说的是“Wave()”这个脚本,其实介绍这个脚本是一个铺垫,最近在尝试做视频字幕而不是录音,第一个试验品是Shuan Spalding的一个制作过场动画的教程,这里面就用到了这个脚本,因此提前介绍一下。
我们先来看一下这个脚本的注释
// Wave(from , to , duration , offset)
//示例1
// image_angle = Wave(-45,45,1,0)
// x = Wave(-10,10,0.25,0)
//示例2
// image_xscale = Wave(0.5,2.0,1.0,0.0)
// image_yscale = Wave(2.0,0.5,1.0,0.0)
从第一行可以看到这个方法一共有四个参数
- from——波动初始值
- to——波动目标值
- duration——波动单位时间
- offset——偏移量
这个方法会返回一个不停波动的值,这个值会在"duration"参数传入的时间内(单位为秒)进行波动,波动范围则是"from"和"to"这两个参数传入的值之间。
image_angle = Wave(-45,45,1,0)
这句就是让图片的角度在-45度到45度之间波动,波动单位时间是1秒
x = Wave(-10,10,0.25,0)
这句则是让某个对象快速的反复左右移动
在1/4秒内在-10到10的坐标内反复移动
下面是一个y坐标波动的实例
另外下面示例2中的两个例子则是一种特殊的用法,通过控制某个对象的横纵向的缩放比来使得对象反复发生形变,从而造成弹性的感觉
image_xscale = Wave(0.5,2.0,1.0,0.0)
image_yscale = Wave(2.0,0.5,1.0,0.0)
代码正文
var a4 = (argument1 - argument0) * 0.5;
return argument0 + a4 +sin((((current_time * 0.001) + argument2 * argument3) / argument2) *(pi * 2) )* a4 ;
这个做动态UI会方便点