File: AnimationClip.html

package info (click to toggle)
three.js 111%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 15,184 kB
  • sloc: javascript: 133,174; makefile: 24; sh: 1
file content (134 lines) | stat: -rw-r--r-- 4,652 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="list.js"></script>
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		<h1>[name]</h1>

		<p class="desc">
			动画剪辑(AnimationClip)是一个可重用的关键帧轨道集,它代表动画。<br /><br />

			在使用手册的“下一步”章节中,“动画系统”一文对three.js动画系统中的不同元素作出了概述
		</p>


		<h2>构造器</h2>


		<h3>[name]( [param:String name], [param:Number duration], [param:Array tracks] )</h3>
		<p>
			[page:String name] - 此剪辑的名称<br />
			[page:Number duration] - 持续时间 (单位秒). 如果传入负数, 持续时间将会从传入的数组中计算得到。<br />
			[page:Array tracks] - 一个由关键帧轨道([page:KeyframeTrack KeyframeTracks])组成的数组。<br /><br />

			说明: 与其直接调用构造函数实例化一个动画剪辑, 不如使用其静态方法中的一个来创建:
			用JSON ([page:.parse parse]), 用变形目标序列([page:.CreateFromMorphTargetSequence CreateFromMorphTargetSequence],
			[page:.CreateClipsFromMorphTargetSequences CreateClipsFromMorphTargetSequences])或者用动画层级 ([page:.parseAnimation parseAnimation])来创建 - 如果你的模型中几何体的动画数组中还没有保存动画剪辑的话。

		</p>


		<h2>属性</h2>


		<h3>[property:Number duration]</h3>
		<p>
			剪辑的持续时间 (单位秒). 可以通过[page:.resetDuration resetDuration]从轨道数组([page:.tracks tracks])计算出来。

		</p>

		<h3>[property:String name]</h3>
		<p>
			剪辑的名称. 调用[page:.findByName findByName]根据名称搜索某个剪辑
		</p>

		<h3>[property:Array tracks]</h3>
		<p>
			一个包含该剪辑中有动画的所有属性的关键帧轨道([page:KeyframeTrack])的数组。
		</p>

		<h3>[property:String uuid]</h3>
		<p>
			剪辑实例的[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID],自动分配且不可编辑。

		</p>


		<h2>方法</h2>


		<h3>[method:AnimationClip clone]()</h3>
		<p></p>

		<h3>[method:this optimize]()</h3>
		<p>
			通过移除等效的顺序键(在变形目标序列中很常见)来优化每一个轨道
		</p>

		<h3>[method:this resetDuration]()</h3>
		<p>
			将剪辑的持续时间([page:.duration duration])设为最长的关键帧轨道([page:KeyframeTrack])的持续时间。
		</p>

		<h3>[method:this trim]()</h3>
		<p>
			修剪所有的轨道到该剪辑的持续时间。
		</p>

		<h3>[method:Boolean validate]()</h3>
		<p>
			对剪辑中的每个轨道执行最小验证。如果所有轨道都有效,返回true。
		</p>


		<h2>静态方法</h2>


		<h3>[method:Array CreateClipsFromMorphTargetSequences]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
		<p>
			返回从几何体的变形目标序列([page:Geometry.morphTargets morph
			target sequences])创建的新动画剪辑(AnimationClip)数组,并尝试将变形目标名称分类为基于动画组的模式,如“Walk_001、Walk_002、Run_001、Run_002……”。
		</p>

		<h3>[method:AnimationClip CreateFromMorphTargetSequence]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
		<p>
			返回一个由几何体变形目标数组([page:Geometry.morphTargets morph targets array])得到的新动画剪辑,接收名称和帧率参数。<br /><br />

			说明: 帧率是必须参数, 但是动画速度可能会在*AnimationAction*中被[page:AnimationAction.setDuration animationAction.setDuration]方法重写。

		</p>

		<h3>[method:AnimationClip findByName]( [param:Object objectOrClipArray], [param:String name] )</h3>
		<p>
			根据名称搜索动画剪辑(AnimationClip), 接收一个动画剪辑数组或者一个包含名为"animation"的数组的网格(或几何体)作为第一个参数。
		</p>

		<h3>[method:AnimationClip parse]( [param:Object json] )</h3>
		<p>
			解析剪辑的JSON表示,并返回一个动画剪辑(AnimationClip)。
		</p>

		<h3>[method:AnimationClip parseAnimation]( [param:Object animation], [param:Array bones] )</h3>
		<p>
			解析动画层级格式并返回动画剪辑。
		</p>

		<h3>[method:Object toJSON]( [param:AnimationClip clip] )</h3>
		<p>
			接收一个动画剪辑为参数并返回一个JSON对象.
		</p>


		<h2>源码</h2>


		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>