Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
90cea0ac
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,发现更多精彩内容 >>
未验证
提交
90cea0ac
编写于
2月 22, 2018
作者:
M
Mr.doob
提交者:
GitHub
2月 22, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #13410 from fernandojsg/fixindices
GLTFExporter: Added forceIndices for non-indexed geometry
上级
f48fbe33
8c413535
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
21 addition
and
5 deletion
+21
-5
editor/js/Menubar.File.js
editor/js/Menubar.File.js
+4
-3
examples/js/exporters/GLTFExporter.js
examples/js/exporters/GLTFExporter.js
+14
-1
examples/misc_exporter_gltf.html
examples/misc_exporter_gltf.html
+3
-1
未找到文件。
editor/js/Menubar.File.js
浏览文件 @
90cea0ac
...
...
@@ -197,9 +197,10 @@ Menubar.File = function ( editor ) {
saveArrayBuffer
(
result
,
'
scene.glb
'
);
},
{
binary
:
true
}
);
// forceIndices: true to allow compatibility with facebook
// https://github.com/mrdoob/three.js/issues/13397
},
{
binary
:
true
,
forceIndices
:
true
}
);
}
);
options
.
add
(
option
);
...
...
examples/js/exporters/GLTFExporter.js
浏览文件 @
90cea0ac
...
...
@@ -68,7 +68,8 @@ THREE.GLTFExporter.prototype = {
onlyVisible
:
true
,
truncateDrawRange
:
true
,
embedImages
:
true
,
animations
:
[]
animations
:
[],
forceIndices
:
false
};
options
=
Object
.
assign
(
{},
DEFAULT_OPTIONS
,
options
);
...
...
@@ -809,6 +810,18 @@ THREE.GLTFExporter.prototype = {
gltfMesh
.
primitives
[
0
].
indices
=
processAccessor
(
geometry
.
index
,
geometry
);
}
else
if
(
options
.
forceIndices
)
{
var
numFaces
=
geometry
.
attributes
.
position
.
count
;
var
indices
=
new
Uint32Array
(
numFaces
);
for
(
var
i
=
0
;
i
<
numFaces
;
i
++
)
{
indices
[
i
]
=
i
;
}
gltfMesh
.
primitives
[
0
].
indices
=
processAccessor
(
new
THREE
.
Uint32BufferAttribute
(
indices
,
1
),
geometry
);
}
// We've just one primitive per mesh
...
...
examples/misc_exporter_gltf.html
浏览文件 @
90cea0ac
...
...
@@ -33,6 +33,7 @@
<label><input
id=
"option_visible"
name=
"visible"
type=
"checkbox"
checked=
"checked"
/>
Only Visible
</label>
<label><input
id=
"option_drawrange"
name=
"visible"
type=
"checkbox"
checked=
"checked"
/>
Truncate drawRange
</label>
<label><input
id=
"option_binary"
name=
"visible"
type=
"checkbox"
>
Binary (
<code>
.glb
</code>
)
</label>
<label><input
id=
"option_forceindices"
name=
"visible"
type=
"checkbox"
>
Force indices
</label>
</div>
<script
src=
"../build/three.js"
></script>
...
...
@@ -50,7 +51,8 @@
trs
:
document
.
getElementById
(
'
option_trs
'
).
checked
,
onlyVisible
:
document
.
getElementById
(
'
option_visible
'
).
checked
,
truncateDrawRange
:
document
.
getElementById
(
'
option_drawrange
'
).
checked
,
binary
:
document
.
getElementById
(
'
option_binary
'
).
checked
binary
:
document
.
getElementById
(
'
option_binary
'
).
checked
,
forceIndices
:
document
.
getElementById
(
'
option_forceindices
'
).
checked
};
gltfExporter
.
parse
(
input
,
function
(
result
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录