Ventuz教程学习笔记动手实践之时钟动画制作

一.设计结果展示

用Ventuz制作时钟动画打算达到的效果,见下图。按A键动态出现时钟,按B键时钟从右侧划出。

Ventuz教程学习笔记动手实践之时钟动画制作

二.从零开始

1.首先是制作时钟,分表盘和表针。

先新建一个Scene,然后拖动world下的axis到Hierarchy中。为了更好的区分表盘和指针,接下来我们在World中拖拽两个Hierarchy Container到Axis后方,并分别双击这两个Hierarchy Container,分别命名为表盘和指针。见图:

Ventuz教程学习笔记动手实践之时钟动画制作

接下来制作表盘,先点击表盘插件前的>,进入表盘制作。选中Out,然后按Delete删除。

Ventuz教程学习笔记动手实践之时钟动画制作

因为表盘分最外面的圆圈和圆圈里的刻度,所以我们做一个双层的Axis,然后再拖一个圆进去。再设置圆外面的Axis的ScalingFactor为10,则将圆球变大了。然后选择Circle,修改Size的hole的值为0.98,那么时钟最外端的圆圈就出来了。

Ventuz教程学习笔记动手实践之时钟动画制作

Ventuz教程学习笔记动手实践之时钟动画制作

接着制作时钟的四个大的时间刻度,12点、3点、6点和9点。依次拖拽World中的axis和Spread,还有Geometry中的Rectangle插件,如图排列。

Ventuz教程学习笔记动手实践之时钟动画制作

接着,修改Rect1前的Axis,设置Postion的Y为5,设置ScalingFactor为1.5。然后选择Rect1,设置Size的X为0.1,Align中的Y为Top对齐。则第一个12点的大刻度就出来了。见下图

Ventuz教程学习笔记动手实践之时钟动画制作

接着选择Spread插件,修改Spread下的Max和Count都为4,然后修改Rotation中的Z为90。即总共4个,按90度分布。修改完成后效果入下图所示。因为刻度较长,建议将Rect1的Y从1调整为0.8。效果图下

Ventuz教程学习笔记动手实践之时钟动画制作

接着制作其他的整点刻度,比这四个稍短一点。顺便再制作分钟的小刻度。在Hierarchy中选中Spread前的axis,然后Ctrl+c复制,然后两次Ctrl+V黏贴。效果如图:

Ventuz教程学习笔记动手实践之时钟动画制作

选择第二个Spread,将Rotation的Z设置为30,Spread下的Max和Count设置为12,即30度*12个刻度=360度。接着选择其后的Rect1,设置Size中的 Y的大小为0.5,则可以看到时钟的12个整点刻度出来了。

Ventuz教程学习笔记动手实践之时钟动画制作

同理设置第三个Spread的Rotation的Z为6,Spread的MAx和Count为60 ,其后的Rect1的size的Y设置为0.2,那么整个表盘的刻度就出来效果了。然后再拖拽一个Axis到图示位置,再拖拽一个圆到表盘中间。则表盘制作完毕。

Ventuz教程学习笔记动手实践之时钟动画制作

2.接下来制作表针。点击前面的小三角<,返回到上一层,然后点击指针里的小三角>,进入指针的制作,同样,先选中out,然后Delete删除掉,接着拖拽如图的插件。

Ventuz教程学习笔记动手实践之时钟动画制作

双击第二个Axis,修改名称为h,先制作时针。选择Rect1设置Size的X为0.5,Y为1.8.设置Align的Y为Bottom,底对齐。效果图如下:

Ventuz教程学习笔记动手实践之时钟动画制作

下面制作分针和秒针。选中名为h的Axis,然后复制黏贴。重命名下面两个为m和s。修改m后的Rect1的Size中的X为0.3,Y为2.4。设置s后的Rect1中Size的X=0.1,Y=3。效果图入下:

Ventuz教程学习笔记动手实践之时钟动画制作

至此,时钟的表盘和指针都设计出来了。

3.接下来,让指针转动起来。

点击选择Hierarchy中的名为s的axis,然后再Content中点击空格键,输入date,将出现的DateTime拖拽到Content中。如图

Ventuz教程学习笔记动手实践之时钟动画制作

选中S插件,将其Properties下Inputs中Rotation下的Z跟DateTime的seconds关联起来。具体是拖拽Z到DateTime中,然后选择Time下的Seconds。同理按住Shift,点击Hierarchy中的h和m,同时分别将其Rotation中的Z跟DateTime下的Time中的Miute和Hour关联。此时可以看到时钟中的指针已经在动了。不过不是顺时针在转动。

Ventuz教程学习笔记动手实践之时钟动画制作

要让秒针顺时针转很简单,增加一个在Content中的连接线上 增加一个函数。在Content中点击空格键,输入Float,选择Float Expression,拖拽到s跟DateTime的线上,然后修改Expression中的Expression为A*-6。则秒针转动正常了。

Ventuz教程学习笔记动手实践之时钟动画制作

上述为啥设置Expression的值为A*-6,是因为秒针要走60个刻度,因此每一个的角度为360/60=6。同理那么分针也要走60个刻度,它的值也应该是A*-6,那么时针要走12个刻度,那么它的值就应该是A*-30。按照上述分别设置m和h,那么一个时钟的制作就完成了。

Ventuz教程学习笔记动手实践之时钟动画制作

至此,一个简单的时钟就完全制作完毕了。效果图如下:

Ventuz教程学习笔记动手实践之时钟动画制作

3.接下来该制作动画了。在表盘的Hierarchy 层中新增两个Material,并在Content中新增Animation1,然后将一些属性相关联。

Ventuz教程学习笔记动手实践之时钟动画制作

上述插件位置可能跟之前的稍微有些不同,很简单,自己拖拽着稍微修改一下吧,顺便双击修改一下插件名字,也不难。然后在Content增加Animation1,然后按住shift点击这些插件,都在content中显示。此处就不关联两个axis了,将两个Material的Alphade Value拖拽关联Animation1,其中Alphade Value先都设置为0,将Circle的Hole关联Animation1.

Ventuz教程学习笔记动手实践之时钟动画制作

接着点击Animation1在最下面的面板中增加状态。选中View Time这一项,点击Create status Mark 新增状态S1 ,向右拖动红线,再新增S2.拖动S1和S2下的各个状态码,让命名c的s2的状态稍微往前一点,让命名s的状态稍微往后一点。这样好看效果。。。。

Ventuz教程学习笔记动手实践之时钟动画制作

接着设置S1和S2下各个节点的各个值。Material的值都是当S1下的时候是0,S2下的状态是100.Circle的值S1下的状态设置为0,S2下设置为0.98。效果图如下。拖动图中的红线可以看到Renderer中时钟的变化,你自己可以试一下。

Ventuz教程学习笔记动手实践之时钟动画制作

还有很重要的一步是为了使最外层的Animation3能控制此处的Animation1,需要将Animation1的Control暴露出来,具体做法是选中一下Animation1,然后点击一下右侧的Properties-Inputs下Animation的Control前面的小方块,变成绿色说明暴露出来了,再右击就取消了。这里要让它暴露出来。

Ventuz教程学习笔记动手实践之时钟动画制作

4. 在指针的Hierarchy 层中新增Material,并在Content中新增Animation2,然后将material的Alpha中的Value属性与Animation2相关联。然后在最下面跟上面的方法一样,新增状态S1和状态S2,设置S1下的值为0.结果如下所示。切记这里也要同上面的Animation1一样将Control暴露出来,这都是为了后期让它继承最外层的Animation3

Ventuz教程学习笔记动手实践之时钟动画制作

5.在最外层新增一个material插件(这个可以控制透明度,后来省略了就没用),并在Content中新增一个Animation3 和 两个Windows Key,设置为A和B。在Content中将Axis的Position下的X跟Animation3关联(Rotation下的X Y是为了控制时钟倾斜,为了简单看效果这个就不设置了,你可以自己设置一下)。按住shift点击Hierarchy中的表盘和指针,在Content中把它们都展示出来,然后选择表盘,将Properties下的Animation1下的Contril拖动到Animation3中。同理选择指针,将Properties下的Animation2下的Contril拖动到Animation3中。这样就能看到Animation2的Control中的值是Animation3.

Ventuz教程学习笔记动手实践之时钟动画制作

 

接下来点击一下Animation3在最下方的动画制作窗口制作动画。

选中View Time,然后点击Create Status Mark 选择 New Soft State,增加S1,然后点击Add KeyFrame(Insert),增加状态点。

Ventuz教程学习笔记动手实践之时钟动画制作

同理将红线往右拖动,再新增S2,然后增加KeyFrame。再向右拖动,新增时选择S1,再新增KeyFrame。然后点击S1,当前面显示是S1的时候,选择表盘一项中<empty>后的小三角,之后选择Connection,然后选择S1 to S2.同理,指针中也做同样的选择。操作如图,结果入下图。

Ventuz教程学习笔记动手实践之时钟动画制作

Ventuz教程学习笔记动手实践之时钟动画制作

然后将表盘的S2向前拖动一点,将表针S1向后拖动一点。这样只是为了单纯错开一点显得好看,没别的多大深意。。。这样拖动红线时就已经能看到渲染窗口Renderer中的时钟的变化效果了。

Ventuz教程学习笔记动手实践之时钟动画制作

接下来制作时钟移除的效果。在Content中选择Axis,然后在最下面的动画制作那里点击S2,当前面的状态显示为S2时说明选中了S2,然后点击Add keyFrame,增加状态点。具体点击的点如下图所示

Ventuz教程学习笔记动手实践之时钟动画制作

同理选择后面的那个S1,然后点击Add keyFrame新增一个S1的状态点。接着选中后面的S1状态处的新增的keyframe,修改这个值为30,即让时针位置不出现在幕布上,即移走的那一步。

Ventuz教程学习笔记动手实践之时钟动画制作

然后我们移动红线就可以看到渲染窗口中时钟移走的效果了。

6.让A B键控制状态出现和移走。在最下面的动画制作窗口中选择View Logic(L),然后点击Edit Custom Model。在出现的窗口中点击Add method新增IN和OUT两个Method

Ventuz教程学习笔记动手实践之时钟动画制作

接下来关联A B键。在Content窗口中点击Animation3,将拖动新增的In到A上,选择KeyDown.同理拖动Out到B上,也选择KeyDown。

Ventuz教程学习笔记动手实践之时钟动画制作

接下来在最下面的动画制作窗口中,选择View Logic,然后在S1上面那条线的开始小三角上右击鼠标选择IN,然后在S2下面那条线的开始小三角上右击鼠标选择OUt。然后就完成了。

Ventuz教程学习笔记动手实践之时钟动画制作

Ventuz教程学习笔记动手实践之时钟动画制作

此时,你点击A键会逐渐出来时钟,然后点击B键,会从右侧滑出。这里我们没有做一开始的倾斜和刚开始从无到有这些效果。很简单,你可以自己试试。我最后出来的效果图如下。

Ventuz教程学习笔记动手实践之时钟动画制作