File: Skeleton.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 (118 lines) | stat: -rw-r--r-- 2,873 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
<!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">
		Use an array of [page:Bone bones] to create a skeleton that can be used by a
		[page:SkinnedMesh].
		</p>

		<h2>Example</h2>
<code>
// Create a simple "arm"

var bones = [];

var shoulder = new THREE.Bone();
var elbow = new THREE.Bone();
var hand = new THREE.Bone();

shoulder.add( elbow );
elbow.add( hand );

bones.push( shoulder );
bones.push( elbow );
bones.push( hand );

shoulder.position.y = -5;
elbow.position.y = 0;
hand.position.y = 5;

var armSkeleton = new THREE.Skeleton( bones );
</code>
		<p>
			See the [page:SkinnedMesh] page for an example of usage with standard [page:BufferGeometry].
 		</p>

		<h2>Constructor</h2>


		<h3>[name]( [param:Array bones], [param:Array boneInverses] )</h3>
		<p>
		[page:Array bones] - The array of [page:Bone bones]. Default is an empty array.<br/>
		[page:Array boneInverses] - (optional) An array of [page:Matrix4 Matrix4s].<br /><br />

		Creates a new [name].
		</p>


		<h2>Properties</h2>

		<h3>[property:Array bones]</h3>
		<p>
		The array of [page:bone bones]. Note this is a copy of the original array, not a reference,
		so you can modify the original array without effecting this one.
		</p>

		<h3>[property:Array boneInverses]</h3>
		<p>
		An array of [page:Matrix4 Matrix4s] that represent the inverse of the [page:Matrix4 matrixWorld]
		of the individual bones.
		</p>

		<h3>[property:Float32Array boneMatrices]</h3>
		<p>
		The array buffer holding the bone data when using a vertex texture.
		</p>

		<h3>[property:DataTexture boneTexture]</h3>
		<p>
		The [page:DataTexture] holding the bone data when using a vertex texture.
		</p>


		<h2>Methods</h2>

		<h3>[method:Skeleton clone]()</h3>
		<p>
		Returns a clone of this Skeleton object.
		</p>


		<h3>[method:null calculateInverses]()</h3>
		<p>Generates the [page:.boneInverses boneInverses] array if not provided in the constructor.</p>


		<h3>[method:null pose]()</h3>
		<p>Returns the skeleton to the base pose.</p>


		<h3>[method:null update]()</h3>
		<p>
		Updates the [page:Float32Array boneMatrices] and [page:DataTexture boneTexture] after changing the bones.
		This is called automatically by the [page:WebGLRenderer] if the skeleton is used with a [page:SkinnedMesh].
		</p>

		<h3>[method:Bone getBoneByName]( [param:String name] )</h3>
		<p>
		name -- String to match to the Bone's .name property. <br /><br />

		Searches through the skeleton's bone array and returns the first with a matching name.<br />
		</p>

		<h2>Source</h2>

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