Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
ed042044
T
three.js
项目概览
Ablesons
/
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,发现更多精彩内容 >>
提交
ed042044
编写于
10月 09, 2017
作者:
D
Don McCurdy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
GLTFLoader: Disambiguate names for multiple instances of the same mesh.
上级
b000372c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
33 addition
and
1 deletion
+33
-1
examples/js/loaders/GLTFLoader.js
examples/js/loaders/GLTFLoader.js
+33
-1
未找到文件。
examples/js/loaders/GLTFLoader.js
浏览文件 @
ed042044
...
@@ -2225,6 +2225,9 @@ THREE.GLTFLoader = ( function () {
...
@@ -2225,6 +2225,9 @@ THREE.GLTFLoader = ( function () {
var
nodes
=
json
.
nodes
||
[];
var
nodes
=
json
.
nodes
||
[];
var
skins
=
json
.
skins
||
[];
var
skins
=
json
.
skins
||
[];
var
meshReferences
=
{};
var
meshUses
=
{};
// Nothing in the node definition indicates whether it is a Bone or an
// Nothing in the node definition indicates whether it is a Bone or an
// Object3D. Use the skins' joint references to mark bones.
// Object3D. Use the skins' joint references to mark bones.
skins
.
forEach
(
function
(
skin
)
{
skins
.
forEach
(
function
(
skin
)
{
...
@@ -2237,6 +2240,27 @@ THREE.GLTFLoader = ( function () {
...
@@ -2237,6 +2240,27 @@ THREE.GLTFLoader = ( function () {
}
);
}
);
// Meshes can (and should) be reused by multiple nodes in a glTF asset. To
// avoid having more than one THREE.Mesh with the same name, count
// references and rename instances below.
//
// Example: CesiumMilkTruck sample model reuses "Wheel" meshes.
nodes
.
forEach
(
function
(
nodeDef
)
{
if
(
nodeDef
.
mesh
)
{
if
(
meshReferences
[
nodeDef
.
mesh
]
===
undefined
)
{
meshReferences
[
nodeDef
.
mesh
]
=
meshUses
[
nodeDef
.
mesh
]
=
0
;
}
meshReferences
[
nodeDef
.
mesh
]
++
;
}
}
);
return
scope
.
_withDependencies
(
[
return
scope
.
_withDependencies
(
[
'
meshes
'
,
'
meshes
'
,
...
@@ -2253,7 +2277,15 @@ THREE.GLTFLoader = ( function () {
...
@@ -2253,7 +2277,15 @@ THREE.GLTFLoader = ( function () {
}
else
if
(
nodeDef
.
mesh
!==
undefined
)
{
}
else
if
(
nodeDef
.
mesh
!==
undefined
)
{
return
dependencies
.
meshes
[
nodeDef
.
mesh
].
clone
();
var
mesh
=
dependencies
.
meshes
[
nodeDef
.
mesh
].
clone
();
if
(
meshReferences
[
nodeDef
.
mesh
]
>
1
)
{
mesh
.
name
+=
'
_instance_
'
+
meshUses
[
nodeDef
.
mesh
]
++
;
}
return
mesh
;
}
else
if
(
nodeDef
.
camera
!==
undefined
)
{
}
else
if
(
nodeDef
.
camera
!==
undefined
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录