Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
05c8c135
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,发现更多精彩内容 >>
提交
05c8c135
编写于
6月 17, 2019
作者:
M
Mugen87
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
JSM: Added module and TS file for VRMLoader.
上级
2ba00b91
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
144 addition
and
27 deletion
+144
-27
docs/manual/en/introduction/Import-via-modules.html
docs/manual/en/introduction/Import-via-modules.html
+1
-0
examples/js/loaders/VRMLoader.js
examples/js/loaders/VRMLoader.js
+3
-3
examples/jsm/loaders/VRMLoader.d.ts
examples/jsm/loaders/VRMLoader.d.ts
+23
-0
examples/jsm/loaders/VRMLoader.js
examples/jsm/loaders/VRMLoader.js
+94
-0
examples/webgl_loader_vrm.html
examples/webgl_loader_vrm.html
+22
-24
utils/modularize.js
utils/modularize.js
+1
-0
未找到文件。
docs/manual/en/introduction/Import-via-modules.html
浏览文件 @
05c8c135
...
...
@@ -216,6 +216,7 @@
<li>
TGALoader
</li>
<li>
TTFLoader
</li>
<li>
VRMLLoader
</li>
<li>
VRMLoader
</li>
<li>
VTKLoader
</li>
<li>
XLoader
</li>
</ul>
...
...
examples/js/loaders/VRMLoader.js
浏览文件 @
05c8c135
...
...
@@ -70,9 +70,9 @@ THREE.VRMLoader = ( function () {
parse
:
function
(
gltf
,
onLoad
)
{
var
gltfParser
=
gltf
.
parser
;
var
gltfExtensions
=
gltf
.
userData
.
gltfExtensions
||
{};
var
vrmExtension
=
gltfExtensions
.
VRM
||
{};
//
var gltfParser = gltf.parser;
//
var gltfExtensions = gltf.userData.gltfExtensions || {};
//
var vrmExtension = gltfExtensions.VRM || {};
// handle VRM Extension here
...
...
examples/jsm/loaders/VRMLoader.d.ts
0 → 100644
浏览文件 @
05c8c135
import
{
LoadingManager
}
from
'
../../../src/Three
'
;
import
{
GLTFLoader
,
GLTF
}
from
'
./GLTFLoader
'
;
import
{
DRACOLoader
}
from
'
./DRACOLoader
'
;
export
class
VRMLoader
{
constructor
(
manager
?:
LoadingManager
);
gltfLoader
:
GLTFLoader
;
manager
:
LoadingManager
;
path
:
string
;
resourcePath
:
string
;
crossOrigin
:
string
;
load
(
url
:
string
,
onLoad
:
(
scene
:
GLTF
)
=>
void
,
onProgress
?:
(
event
:
ProgressEvent
)
=>
void
,
onError
?:
(
event
:
ErrorEvent
)
=>
void
)
:
void
;
setDRACOLoader
(
dracoLoader
:
DRACOLoader
):
this
;
setPath
(
path
:
string
):
this
;
setResourcePath
(
path
:
string
):
this
;
setCrossOrigin
(
path
:
string
):
this
;
parse
(
gltf
:
GLTF
,
onLoad
:
(
scene
:
GLTF
)
=>
void
):
void
;
}
examples/jsm/loaders/VRMLoader.js
0 → 100644
浏览文件 @
05c8c135
/**
* @author Takahiro / https://github.com/takahirox
*/
import
{
DefaultLoadingManager
}
from
"
../../../build/three.module.js
"
;
import
{
GLTFLoader
}
from
"
../loaders/GLTFLoader.js
"
;
// VRM Specification: https://dwango.github.io/vrm/vrm_spec/
//
// VRM is based on glTF 2.0 and VRM extension is defined
// in top-level json.extensions.VRM
var
VRMLoader
=
(
function
()
{
function
VRMLoader
(
manager
)
{
if
(
GLTFLoader
===
undefined
)
{
throw
new
Error
(
'
THREE.VRMLoader: Import GLTFLoader.
'
);
}
this
.
manager
=
(
manager
!==
undefined
)
?
manager
:
DefaultLoadingManager
;
this
.
gltfLoader
=
new
GLTFLoader
(
this
.
manager
);
}
VRMLoader
.
prototype
=
{
constructor
:
VRMLoader
,
crossOrigin
:
'
anonymous
'
,
load
:
function
(
url
,
onLoad
,
onProgress
,
onError
)
{
var
scope
=
this
;
this
.
gltfLoader
.
load
(
url
,
function
(
gltf
)
{
scope
.
parse
(
gltf
,
onLoad
);
},
onProgress
,
onError
);
},
setCrossOrigin
:
function
(
value
)
{
this
.
glTFLoader
.
setCrossOrigin
(
value
);
return
this
;
},
setPath
:
function
(
value
)
{
this
.
glTFLoader
.
setPath
(
value
);
return
this
;
},
setResourcePath
:
function
(
value
)
{
this
.
glTFLoader
.
setResourcePath
(
value
);
return
this
;
},
setDRACOLoader
:
function
(
dracoLoader
)
{
this
.
glTFLoader
.
setDRACOLoader
(
dracoLoader
);
return
this
;
},
parse
:
function
(
gltf
,
onLoad
)
{
// var gltfParser = gltf.parser;
// var gltfExtensions = gltf.userData.gltfExtensions || {};
// var vrmExtension = gltfExtensions.VRM || {};
// handle VRM Extension here
onLoad
(
gltf
);
}
};
return
VRMLoader
;
}
)();
export
{
VRMLoader
};
examples/webgl_loader_vrm.html
浏览文件 @
05c8c135
...
...
@@ -15,22 +15,20 @@
<a
href=
"http://3d.nicovideo.jp/alicia/rule.html"
>
License
</a><br
/>
</div>
<script
src=
"../build/three.js"
></script>
<script
type=
"module"
>
import
{
HemisphereLight
,
Material
,
MeshBasicMaterial
,
PerspectiveCamera
,
Scene
,
WebGLRenderer
,
}
from
"
../build/three.module.js
"
;
<script
src=
"js/controls/OrbitControls.js"
></script>
<script
src=
"js/loaders/GLTFLoader.js"
></script>
<script
src=
"js/loaders/VRMLoader.js"
></script>
import
Stats
from
'
./jsm/libs/stats.module.js
'
;
<script
src=
"js/WebGL.js"
></script>
<script
src=
"js/libs/stats.min.js"
></script>
<script>
if
(
WEBGL
.
isWebGLAvailable
()
===
false
)
{
document
.
body
.
appendChild
(
WEBGL
.
getWebGLErrorMessage
()
);
}
import
{
OrbitControls
}
from
'
./jsm/controls/OrbitControls.js
'
;
import
{
VRMLoader
}
from
'
./jsm/loaders/VRMLoader.js
'
;
var
container
,
stats
,
controls
;
var
camera
,
scene
,
renderer
,
light
;
...
...
@@ -43,17 +41,17 @@
container
=
document
.
createElement
(
'
div
'
);
document
.
body
.
appendChild
(
container
);
camera
=
new
THREE
.
PerspectiveCamera
(
45
,
window
.
innerWidth
/
window
.
innerHeight
,
0.25
,
20
);
camera
=
new
PerspectiveCamera
(
45
,
window
.
innerWidth
/
window
.
innerHeight
,
0.25
,
20
);
camera
.
position
.
set
(
0
,
1.6
,
-
2.2
);
scene
=
new
THREE
.
Scene
();
scene
=
new
Scene
();
light
=
new
THREE
.
HemisphereLight
(
0xbbbbff
,
0x444422
);
light
=
new
HemisphereLight
(
0xbbbbff
,
0x444422
);
light
.
position
.
set
(
0
,
1
,
0
);
scene
.
add
(
light
);
// model
var
loader
=
new
THREE
.
VRMLoader
();
var
loader
=
new
VRMLoader
();
loader
.
load
(
'
models/vrm/Alicia/AliciaSolid.vrm
'
,
function
(
vrm
)
{
// VRMLoader doesn't support VRM Unlit extension yet so
...
...
@@ -66,8 +64,8 @@
for
(
var
i
=
0
,
il
=
object
.
material
.
length
;
i
<
il
;
i
++
)
{
var
material
=
new
THREE
.
MeshBasicMaterial
();
THREE
.
Material
.
prototype
.
copy
.
call
(
material
,
object
.
material
[
i
]
);
var
material
=
new
MeshBasicMaterial
();
Material
.
prototype
.
copy
.
call
(
material
,
object
.
material
[
i
]
);
material
.
color
.
copy
(
object
.
material
[
i
].
color
);
material
.
map
=
object
.
material
[
i
].
map
;
material
.
lights
=
false
;
...
...
@@ -80,8 +78,8 @@
}
else
{
var
material
=
new
THREE
.
MeshBasicMaterial
();
THREE
.
Material
.
prototype
.
copy
.
call
(
material
,
object
.
material
);
var
material
=
new
MeshBasicMaterial
();
Material
.
prototype
.
copy
.
call
(
material
,
object
.
material
);
material
.
color
.
copy
(
object
.
material
.
color
);
material
.
map
=
object
.
material
.
map
;
material
.
lights
=
false
;
...
...
@@ -100,13 +98,13 @@
}
);
renderer
=
new
THREE
.
WebGLRenderer
(
{
antialias
:
true
}
);
renderer
=
new
WebGLRenderer
(
{
antialias
:
true
}
);
renderer
.
setPixelRatio
(
window
.
devicePixelRatio
);
renderer
.
setSize
(
window
.
innerWidth
,
window
.
innerHeight
);
renderer
.
gammaOutput
=
true
;
container
.
appendChild
(
renderer
.
domElement
);
controls
=
new
THREE
.
OrbitControls
(
camera
,
renderer
.
domElement
);
controls
=
new
OrbitControls
(
camera
,
renderer
.
domElement
);
controls
.
target
.
set
(
0
,
0.9
,
0
);
controls
.
update
();
...
...
utils/modularize.js
浏览文件 @
05c8c135
...
...
@@ -112,6 +112,7 @@ var files = [
{
path
:
'
loaders/TGALoader.js
'
,
dependencies
:
[],
ignoreList
:
[]
},
{
path
:
'
loaders/TTFLoader.js
'
,
dependencies
:
[],
ignoreList
:
[
'
Font
'
]
},
{
path
:
'
loaders/VRMLLoader.js
'
,
dependencies
:
[],
ignoreList
:
[]
},
{
path
:
'
loaders/VRMLoader.js
'
,
dependencies
:
[
{
name
:
'
GLTFLoader
'
,
path
:
'
loaders/GLTFLoader.js
'
}
],
ignoreList
:
[]
},
{
path
:
'
loaders/VTKLoader.js
'
,
dependencies
:
[
{
name
:
'
Zlib
'
,
path
:
'
libs/inflate.min.js
'
}
],
ignoreList
:
[]
},
{
path
:
'
loaders/XLoader.js
'
,
dependencies
:
[],
ignoreList
:
[]
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录