Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
7946bd5d
T
three.js
项目概览
车家大少爷
/
three.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
three.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
7946bd5d
编写于
3月 25, 2019
作者:
M
Mr.doob
提交者:
GitHub
3月 25, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #14494 from donmccurdy/feat-animationutils-clone
SkeletonUtils: Add clone() helper for skinned meshes.
上级
2b62c8c0
427863f5
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
114 addition
and
2 deletion
+114
-2
docs/examples/utils/SkeletonUtils.html
docs/examples/utils/SkeletonUtils.html
+60
-0
docs/list.js
docs/list.js
+2
-1
examples/js/utils/SkeletonUtils.js
examples/js/utils/SkeletonUtils.js
+52
-0
src/animation/AnimationUtils.js
src/animation/AnimationUtils.js
+0
-1
未找到文件。
docs/examples/utils/SkeletonUtils.html
0 → 100644
浏览文件 @
7946bd5d
<!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"
>
Utility functions for [page:Skeleton], [page:SkinnedMesh], and [page:Bone] manipulation.
</p>
<h2>
Methods
</h2>
<h3>
[method:Object3D clone]( [param:Object3D object] )
</h3>
<p>
Clones the given object and its descendants, ensuring that any [page:SkinnedMesh] instances
are correctly associated with their bones. Bones are also cloned, and must be descendants of
the object passed to this method. Other data, like geometries and materials, are reused by
reference.
</p>
<h3>
[method:Object findBoneTrackData]( [param:String name], [param:Array tracks] )
</h3>
<p></p>
<h3>
[method:Bone getBoneByName]( [param:String name], [param:Skeleton skeleton] )
</h3>
<p></p>
<h3>
[method:Array getBones]( [param:Skeleton skeleton] )
</h3>
<p></p>
<h3>
[method:Array getEqualsBonesNames]( [param:Skeleton skeleton], [param:Skeleton targetSkeleton] )
</h3>
<p></p>
<h3>
[method:SkeletonHelper getHelperFromSkeleton]( [param:Skeleton skeleton] )
</h3>
<p></p>
<h3>
[method:Bone getNearestBone]( [param:Bone bone], [param:Array names] )
</h3>
<p></p>
<h3>
[method:Object getSkeletonOffsets]( [param:SkeletonHelper target], [param:SkeletonHelper source], [param:Object options] )
</h3>
<p></p>
<h3>
[method:this renameBones]( [param:Skeleton skeleton], [param:Array names] )
</h3>
<p></p>
<h3>
[method:null retarget]( [param:SkeletonHelper target], [param:SkeletonHelper source], [param:Object options] )
</h3>
<p></p>
<h3>
[method:AnimationClip retargetClip]( [param:SkeletonHelper target], [param:SkeletonHelper source], [param:AnimationClip clip], [param:Object options] )
</h3>
<p></p>
<h2>
Source
</h2>
[link:https://github.com/mrdoob/three.js/blob/master/examples/js/utils/SkeletonUtils.js examples/js/utils/SkeletonUtils.js]
</body>
</html>
docs/list.js
浏览文件 @
7946bd5d
...
...
@@ -408,7 +408,8 @@ var list = {
"
Utils
"
:
{
"
BufferGeometryUtils
"
:
"
examples/utils/BufferGeometryUtils
"
,
"
SceneUtils
"
:
"
examples/utils/SceneUtils
"
"
SceneUtils
"
:
"
examples/utils/SceneUtils
"
,
"
SkeletonUtils
"
:
"
examples/utils/SkeletonUtils
"
}
},
...
...
examples/js/utils/SkeletonUtils.js
浏览文件 @
7946bd5d
...
...
@@ -528,6 +528,58 @@ THREE.SkeletonUtils = {
return
bones
;
},
clone
:
function
(
source
)
{
var
sourceLookup
=
new
Map
();
var
cloneLookup
=
new
Map
();
var
clone
=
source
.
clone
();
parallelTraverse
(
source
,
clone
,
function
(
sourceNode
,
clonedNode
)
{
sourceLookup
.
set
(
clonedNode
,
sourceNode
);
cloneLookup
.
set
(
sourceNode
,
clonedNode
);
}
);
clone
.
traverse
(
function
(
node
)
{
if
(
!
node
.
isSkinnedMesh
)
return
;
var
clonedMesh
=
node
;
var
sourceMesh
=
sourceLookup
.
get
(
node
);
var
sourceBones
=
sourceMesh
.
skeleton
.
bones
;
clonedMesh
.
skeleton
=
sourceMesh
.
skeleton
.
clone
();
clonedMesh
.
bindMatrix
.
copy
(
sourceMesh
.
bindMatrix
);
clonedMesh
.
skeleton
.
bones
=
sourceBones
.
map
(
function
(
bone
)
{
return
cloneLookup
.
get
(
bone
);
}
);
clonedMesh
.
bind
(
clonedMesh
.
skeleton
,
clonedMesh
.
bindMatrix
);
}
);
return
clone
;
}
};
function
parallelTraverse
(
a
,
b
,
callback
)
{
callback
(
a
,
b
);
for
(
var
i
=
0
;
i
<
a
.
children
.
length
;
i
++
)
{
parallelTraverse
(
a
.
children
[
i
],
b
.
children
[
i
],
callback
);
}
}
src/animation/AnimationUtils.js
浏览文件 @
7946bd5d
...
...
@@ -162,5 +162,4 @@ var AnimationUtils = {
};
export
{
AnimationUtils
};
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录