123 第1页 | 共3 页下一页
返回列表 发新帖
查看: 3977|回复: 22
打印 上一主题 下一主题

增加动画到Viewpoint场景中

[复制链接]

1096

主题

1

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
17782
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2011-12-26 15:04:21 |只看该作者 |倒序浏览
前言:使用VET,你能够在场景中加入动画,例如你可以使物体在场景中移动,旋转物体,改变物体的体积。

你可使用3dmax等软件创作动画,也可以使用XML在场景中加入新的动画。

在我们的教程中,你将学会:

1.使用XML在场景中加入新的动画。

2.使用interaction去触发动画。

关于MTX文件
当你使用Scene Builder去publish一个场景时,你将创造一个包含XML代码的MTX文件。你可以使用任何的XML的编辑工具,或文本编辑工具,去浏览,编辑MTX文件。


在记事本中打开我们在上一次,创作的场景的MTX文件,里面包含三个物体:martini glass, pyramid, and sphere。

1 <?xml version="1.0"?>

2 <!-- Viewpoint Experience Technology scene des cription file. -->

3 <!-- Created: Thu Aug 22 17:12:03 2002 -->

4 <!-- Creator: Viewpoint Scene Builder (Build 3.0.10.13) -->

5 <!-- Author: anjani -->

6 <MTSScene Version="308" >

7 <MTSSceneParms RenderMode="LightTexture" ShowWidgets="1" BlendShadow="1" EdgeBias="1" >

8 <Transform>

9 <Scale x="1.12127" y="1.12127" z="1.12127" />

10 <osition x="0.00425" y="0.24889" z="0" />

11 </Transform>

12 </MTSSceneParms>

13 <MTSCamera OrbitDist="4.46" >

14 <Rotate x="33.23156" y="2.29183" z="0" />

15 <Translate x="0.005" y="-0.0025" z="0" />

16 <ViewLocation x="0" y="0" z="4" />

17 </MTSCamera>

18 <MTSInstance Name="martini" >

19 <MTSInstance Name="martini" >

20 <Transform>

21 <Scale x="-1" y="-1" z="-1" />

22 <Rotate x="-180" y="-180" z="-0.00001" />

23 </Transform>

24 <MTSGeometry Name="Geo_martini" BackFaceDir="0" />

25 </MTSInstance>

26 <MTSInstance Name="Simple_0" >

27 <Transform>

28 <Scale x="0.44592" y="0.44592" z="0.44592" />

39 <osition x="1.13482" y="-0.25585" z="-0.04041" />

30 </Transform>

31 <MTSGeometry Name="MTSSimple_0" Type="MTSPyramid" />

32 <MTSMaterial ID="0" >

33 <MTSTextureMap Type="Light" Name="diff2_ELight" />

34 <MTSColor Type="Diffuse" r="0.65" g="0.65" b="0.65" />

35 </MTSMaterial>

36 </MTSInstance>

37 <MTSInstance Name="Simple_1" >

38 <Transform>

39 <Scale x="0.36389" y="0.36389" z="0.36389" />

40 <osition x="-1.26348" y="-0.20504" z="0.03402" />

41 </Transform>

42 <MTSGeometry Name="MTSSimple_1" Type="MTSSphere" />

43 <MTSMaterial ID="0" >

44 <MTSTextureMap Type="Light" Name="GelimL_ELight" />

45 <MTSColor Type="Diffuse" r="0.65" g="0.65" b="0.65" />

46 </MTSMaterial>

47 </MTSInstance>

48 <MTSInstance Name="Simple_2" Visible="0" >

49 <Transform>

50 <Scale x="0.46607" y="0.46607" z="0.46607" />

51 <osition x="1.13987" y="-0.25203" z="-0.0438" />

52 </Transform>

53 <MTSGeometry Name="MTSSimple_2" Type="MTSPyramid" />

54 <MTSInstance Name="Layer2D_0" >

55 <Transform>

56 <Scale x="0.2" y="0.2" z="0.2" />

57 </Transform>

58 <LayerData Text="Training Rollover" TextColor="1.000000 0.835294 0.172549"

59 Language="English" AlwaysVisible="0" />

60 </MTSInstance>

61 </MTSInstance>

62 </MTSInstance>

63 <MTSTimeElem Type="MTSStream" Name="martini" Path="martini.mts" >

64 <Target Name="MTSInstance.martini" />

65 </MTSTimeElem>

66 </MTSScene>
第1行:是mtx file必须的头

第2--5行:是注释

6---17:描述场景,照相机的信息

Lines 19-25 :描述the instance of the martini glass在场景中的信息

Lines 26-47 :描述pyramid 和 sphere 在场景中的信息

Lines 48-61 :描述 热点 hot spot

Lines 63-65 :包含 MTSStream time element ,他的作用是下在 mts file
关于 MTSTimeElem Element

MTSTimeElem Element可以在场景中增加动画

我们来看下面这个例子使用MTSTimeElem Element来改变一个物体的尺寸

1 <MTSTimeElem Type="Keyframe" On="0" Name="Scale_Martini" >

2 <Target Name="MTSInstance.martini" Property="scl_" Timeline="T1" />

3 <Time> 0 2 </Time>

4 <Timeline Name="T1" Type="3D" > * [.5 .5 .5] </Timeline>

5 </MTSTimeElem>
Line 1:Keyframe 是一个基本的动画类型,也是最常用的

Line 2:告诉场景我们要改变哪一个物体的哪属性,在这里我们要改变martini的scl_属性

Line 3:动画的运行时间的长度,我们定义为2秒

Line 4:在这个动画过程中,martini的尺寸将沿着x,y,z轴缩小一半
关于 the MTSInteractor Element(互动)

VET的互动系统可以指定系统或用户定义的事件去触发动作或动画

我们来看下面这个例子使用MTSInteractor Element响应用户事件

1 <MTSInteractor Name="Martini_Event_Handler" >

2 <Target Name="MTSInstance.Martini" />

3 <MTSHandle Event="MouseLeftClick" Target="MTSTimeElem.Scale_Martini::trgr"

4 Value="1" Action="MTSAssignProperty" />

5 </MTSInteractor>
Line 2 在这个例子中 Target 元素 告诉互动系统当用户点击哪一个物体时,才会触发这个互动

Lines 3-4 The MTSHandle element 指定一个用户事件,例如MouseLeftClick,去引发系统的响应

这段代码的含义是:当用鼠标左健点击Martini时将引发“Scale_Martini“动画(在“关于 MTSTimeElem Element”中创造的动画)
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

1

主题

1

听众

45

积分

设计初学者

Rank: 1

纳金币
45
精华
0

活跃会员 灌水之王

沙发
发表于 2011-12-26 15:49:07 |只看该作者
顶啊
回复

使用道具 举报

168

主题

1

听众

3637

积分

中级设计师

Rank: 5Rank: 5

纳金币
3637
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2011-12-27 13:33:04 |只看该作者
四哥路过,其他闪道!
回复

使用道具 举报

0

主题

1

听众

1122

积分

助理设计师

Rank: 4

纳金币
1122
精华
0
地板
发表于 2011-12-27 13:33:18 |只看该作者
回复

使用道具 举报

12

主题

1

听众

1311

积分

助理设计师

Rank: 4

纳金币
1311
精华
0
5#
发表于 2011-12-27 13:39:35 |只看该作者
继续晕啊
回复

使用道具 举报

1

主题

1

听众

43

积分

设计初学者

Rank: 1

纳金币
43
精华
0

活跃会员 灌水之王

6#
发表于 2011-12-27 13:43:39 |只看该作者
回复

使用道具 举报

0

主题

1

听众

1106

积分

助理设计师

Rank: 4

纳金币
1106
精华
0
7#
发表于 2011-12-27 13:49:10 |只看该作者
回复

使用道具 举报

0

主题

1

听众

1106

积分

助理设计师

Rank: 4

纳金币
1106
精华
0
8#
发表于 2011-12-27 13:49:25 |只看该作者
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

9#
发表于 2012-2-14 23:28:25 |只看该作者
非常感谢,管理员设置了需要对新回复进行审核,您的帖子通过审核后将被显示出来,现在将转入主题
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

10#
发表于 2012-3-8 23:22:56 |只看该作者
佩服,好多阿 ,哈哈
回复

使用道具 举报

123 第1页 | 共3 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-20 22:39 , Processed in 0.064647 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部