Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
4db07eaf
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,发现更多精彩内容 >>
未验证
提交
4db07eaf
编写于
7月 26, 2019
作者:
M
Mr.doob
提交者:
GitHub
7月 26, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #16890 from vyv03354/fix14875
GLTFLoader: Support multi-type nodes
上级
978a5605
1607aed9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
46 addition
and
18 deletion
+46
-18
examples/js/loaders/GLTFLoader.js
examples/js/loaders/GLTFLoader.js
+46
-18
未找到文件。
examples/js/loaders/GLTFLoader.js
浏览文件 @
4db07eaf
...
...
@@ -2914,14 +2914,11 @@ THREE.GLTFLoader = ( function () {
return
(
function
()
{
// .isBone isn't in glTF spec. See .markDefs
if
(
nodeDef
.
isBone
===
true
)
{
return
Promise
.
resolve
(
new
THREE
.
Bone
()
);
var
pending
=
[];
}
else
if
(
nodeDef
.
mesh
!==
undefined
)
{
if
(
nodeDef
.
mesh
!==
undefined
)
{
return
parser
.
getDependency
(
'
mesh
'
,
nodeDef
.
mesh
).
then
(
function
(
mesh
)
{
pending
.
push
(
parser
.
getDependency
(
'
mesh
'
,
nodeDef
.
mesh
).
then
(
function
(
mesh
)
{
var
node
;
...
...
@@ -2967,25 +2964,58 @@ THREE.GLTFLoader = ( function () {
return
node
;
}
);
}
)
);
}
}
else
if
(
nodeDef
.
camera
!==
undefined
)
{
if
(
nodeDef
.
camera
!==
undefined
)
{
return
parser
.
getDependency
(
'
camera
'
,
nodeDef
.
camera
);
pending
.
push
(
parser
.
getDependency
(
'
camera
'
,
nodeDef
.
camera
)
);
}
else
if
(
nodeDef
.
extensions
}
if
(
nodeDef
.
extensions
&&
nodeDef
.
extensions
[
EXTENSIONS
.
KHR_LIGHTS_PUNCTUAL
]
&&
nodeDef
.
extensions
[
EXTENSIONS
.
KHR_LIGHTS_PUNCTUAL
].
light
!==
undefined
)
{
return
parser
.
getDependency
(
'
light
'
,
nodeDef
.
extensions
[
EXTENSIONS
.
KHR_LIGHTS_PUNCTUAL
].
light
);
pending
.
push
(
parser
.
getDependency
(
'
light
'
,
nodeDef
.
extensions
[
EXTENSIONS
.
KHR_LIGHTS_PUNCTUAL
].
light
)
);
}
return
Promise
.
all
(
pending
);
}()
).
then
(
function
(
objects
)
{
var
node
;
// .isBone isn't in glTF spec. See .markDefs
if
(
nodeDef
.
isBone
===
true
)
{
node
=
new
THREE
.
Bone
();
}
else
if
(
objects
.
length
>
1
)
{
node
=
new
THREE
.
Group
();
}
else
if
(
objects
.
length
===
1
)
{
node
=
objects
[
0
];
}
else
{
return
Promise
.
resolve
(
new
THREE
.
Object3D
()
);
node
=
new
THREE
.
Object3D
(
);
}
}()
).
then
(
function
(
node
)
{
if
(
node
!==
objects
[
0
]
)
{
for
(
var
i
=
0
,
il
=
objects
.
length
;
i
<
il
;
i
++
)
{
node
.
add
(
objects
[
i
]
);
}
}
if
(
nodeDef
.
name
!==
undefined
)
{
...
...
@@ -3069,11 +3099,9 @@ THREE.GLTFLoader = ( function () {
}
).
then
(
function
(
jointNodes
)
{
var
meshes
=
node
.
isGroup
===
true
?
node
.
children
:
[
node
];
for
(
var
i
=
0
,
il
=
meshes
.
length
;
i
<
il
;
i
++
)
{
node
.
traverse
(
function
(
mesh
)
{
var
mesh
=
meshes
[
i
]
;
if
(
!
mesh
.
isMesh
)
return
;
var
bones
=
[];
var
boneInverses
=
[];
...
...
@@ -3106,7 +3134,7 @@ THREE.GLTFLoader = ( function () {
mesh
.
bind
(
new
THREE
.
Skeleton
(
bones
,
boneInverses
),
mesh
.
matrixWorld
);
}
}
);
return
node
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录