Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
c465298e
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,发现更多精彩内容 >>
提交
c465298e
编写于
1月 07, 2016
作者:
L
leroyron
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
convert_obj_three: clean up
上级
e66dab0b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
18 addition
and
37 deletion
+18
-37
utils/converters/obj/convert_obj_three_for_python3.py
utils/converters/obj/convert_obj_three_for_python3.py
+18
-37
未找到文件。
utils/converters/obj/convert_obj_three_for_python3.py
浏览文件 @
c465298e
"""
------
Original Author - Formerly Python 2 version / file: convert_obj_three.py
------
AlteredQualia http://alteredqualia.com
------
Upgraded - Python 3 version / file: convert_obj_three_for_python3.py
------
Leroy T
Convert Wavefront OBJ / MTL files into Three.js (JSON model version, to be used with ascii / binary loader)
"""Convert Wavefront OBJ / MTL files into Three.js (JSON model version, to be used with ascii / binary loader)
-------------------------
How to use this converter
...
...
@@ -26,7 +15,6 @@ Notes:
-a center|centerxz|top|bottom|none model alignment
-s smooth|flat smooth = export vertex normals, flat = no normals (face normals computed in loader)
-t ascii|binary export ascii or binary format (ascii has more features, binary just supports vertices, faces, normals, uvs and materials)
-d invert|normal invert transparency
-b bake material colors into face colors
-x 10.0 scale and truncate
-f 2 morph frame sampling step
...
...
@@ -34,7 +22,6 @@ Notes:
- by default:
use smooth shading (if there were vertex normals in the original model)
will be in ASCII format
original model is assumed to use non-inverted transparency / dissolve (0.0 fully transparent, 1.0 fully opaque)
no face colors baking
no scale and truncate
morph frame step = 1 (all files will be processed)
...
...
@@ -126,6 +113,11 @@ How to get proper OBJ + MTL files with Blender
- for WebGL, textures must be power of 2 sized
------
Author
------
AlteredQualia http://alteredqualia.com
"""
import
fileinput
...
...
@@ -144,7 +136,6 @@ import glob
ALIGN
=
"none"
# center centerxz bottom top none
SHADING
=
"smooth"
# smooth flat
TYPE
=
"ascii"
# ascii binary
TRANSPARENCY
=
"normal"
# normal invert
TRUNCATE
=
False
SCALE
=
1.0
...
...
@@ -399,11 +390,6 @@ def parse_mtl(fname):
if
chunks
[
0
]
==
"map_Kd"
and
len
(
chunks
)
==
2
:
materials
[
identifier
][
"mapDiffuse"
]
=
texture_relative_path
(
chunks
[
1
])
# Ambient texture
# map_Ka texture_ambient.jpg
if
chunks
[
0
]
==
"map_Ka"
and
len
(
chunks
)
==
2
:
materials
[
identifier
][
"mapAmbient"
]
=
texture_relative_path
(
chunks
[
1
])
# Specular texture
# map_Ks texture_specular.jpg
if
chunks
[
0
]
==
"map_Ks"
and
len
(
chunks
)
==
2
:
...
...
@@ -429,11 +415,6 @@ def parse_mtl(fname):
if
chunks
[
0
]
==
"Kd"
and
len
(
chunks
)
==
4
:
materials
[
identifier
][
"colorDiffuse"
]
=
[
float
(
chunks
[
1
]),
float
(
chunks
[
2
]),
float
(
chunks
[
3
])]
# Ambient color
# Ka 1.000 1.000 1.000
if
chunks
[
0
]
==
"Ka"
and
len
(
chunks
)
==
4
:
materials
[
identifier
][
"colorAmbient"
]
=
[
float
(
chunks
[
1
]),
float
(
chunks
[
2
]),
float
(
chunks
[
3
])]
# Specular color
# Ks 1.000 1.000 1.000
if
chunks
[
0
]
==
"Ks"
and
len
(
chunks
)
==
4
:
...
...
@@ -444,14 +425,19 @@ def parse_mtl(fname):
if
chunks
[
0
]
==
"Ns"
and
len
(
chunks
)
==
2
:
materials
[
identifier
][
"specularCoef"
]
=
float
(
chunks
[
1
])
# Dissolves
# d 0.9
if
chunks
[
0
]
==
"d"
and
len
(
chunks
)
==
2
:
materials
[
identifier
][
"opacity"
]
=
float
(
chunks
[
1
])
if
materials
[
identifier
][
"opacity"
]
<
1.0
:
materials
[
identifier
][
"transparent"
]
=
True
# Transparency
# Tr 0.9 or d 0.9
if
(
chunks
[
0
]
==
"Tr"
or
chunks
[
0
]
==
"d"
)
and
len
(
chunks
)
==
2
:
materials
[
identifier
][
"transparent"
]
=
True
if
TRANSPARENCY
==
"invert"
:
materials
[
identifier
][
"opacity"
]
=
float
(
chunks
[
1
])
else
:
materials
[
identifier
][
"opacity"
]
=
1.0
-
float
(
chunks
[
1
])
# Tr 0.1
if
chunks
[
0
]
==
"Tr"
and
len
(
chunks
)
==
2
:
materials
[
identifier
][
"opacity"
]
=
1.0
-
float
(
chunks
[
1
])
if
materials
[
identifier
][
"opacity"
]
<
1.0
:
materials
[
identifier
][
"transparent"
]
=
True
# Optical density
# Ni 1.0
...
...
@@ -1590,10 +1576,6 @@ if __name__ == "__main__":
if
a
in
(
"binary"
,
"ascii"
):
TYPE
=
a
elif
o
in
(
"-d"
,
"--dissolve"
):
if
a
in
(
"normal"
,
"invert"
):
TRANSPARENCY
=
a
elif
o
in
(
"-b"
,
"--bakecolors"
):
BAKE_COLORS
=
True
...
...
@@ -1620,4 +1602,3 @@ if __name__ == "__main__":
convert_ascii
(
infile
,
morphfiles
,
colorfiles
,
outfile
)
elif
TYPE
==
"binary"
:
convert_binary
(
infile
,
outfile
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录