Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
0069c9a7
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,发现更多精彩内容 >>
未验证
提交
0069c9a7
编写于
2月 28, 2020
作者:
M
Mr.doob
提交者:
GitHub
2月 28, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #18630 from wolfgangmeyers/vr-option
Editor: VR support
上级
f57665fe
a598ebe8
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
51 addition
and
1 deletion
+51
-1
editor/index.html
editor/index.html
+3
-0
editor/js/Config.js
editor/js/Config.js
+1
-0
editor/js/Menubar.File.js
editor/js/Menubar.File.js
+10
-0
editor/js/Sidebar.Project.js
editor/js/Sidebar.Project.js
+14
-0
editor/js/libs/app.js
editor/js/libs/app.js
+20
-1
editor/js/libs/app/index.html
editor/js/libs/app/index.html
+3
-0
未找到文件。
editor/index.html
浏览文件 @
0069c9a7
...
...
@@ -42,6 +42,7 @@
<script
src=
"js/libs/ternjs/doc_comment.js"
></script>
<script
src=
"js/libs/tern-threejs/threejs.js"
></script>
<script
src=
"js/libs/signals.min.js"
></script>
<script
src=
"../examples/js/vr/HelioWebXRPolyfill.js"
></script>
<script
type=
"module"
>
...
...
@@ -54,6 +55,7 @@
import
{
Player
}
from
'
./js/Player.js
'
;
import
{
Sidebar
}
from
'
./js/Sidebar.js
'
;
import
{
Menubar
}
from
'
./js/Menubar.js
'
;
import
{
VRButton
}
from
'
../examples/jsm/webxr/VRButton.js
'
;
window
.
URL
=
window
.
URL
||
window
.
webkitURL
;
window
.
BlobBuilder
=
window
.
BlobBuilder
||
window
.
WebKitBlobBuilder
||
window
.
MozBlobBuilder
;
...
...
@@ -70,6 +72,7 @@
window
.
editor
=
editor
;
// Expose editor to Console
window
.
THREE
=
THREE
;
// Expose THREE to APP Scripts and Console
window
.
VRButton
=
VRButton
;
// Expose VRButton to APP Scripts
var
viewport
=
new
Viewport
(
editor
);
document
.
body
.
appendChild
(
viewport
.
dom
);
...
...
editor/js/Config.js
浏览文件 @
0069c9a7
...
...
@@ -14,6 +14,7 @@ var Config = function () {
'
project/title
'
:
''
,
'
project/editable
'
:
false
,
'
project/webvr
'
:
false
,
'
project/renderer/antialias
'
:
true
,
'
project/renderer/shadows
'
:
true
,
...
...
editor/js/Menubar.File.js
浏览文件 @
0069c9a7
...
...
@@ -416,6 +416,16 @@ var MenubarFile = function ( editor ) {
zip
.
file
(
'
js/three.module.js
'
,
content
);
}
);
loader
.
load
(
'
../examples/jsm/webxr/VRButton.js
'
,
function
(
content
)
{
zip
.
file
(
'
js/VRButton.js
'
,
content
);
}
);
loader
.
load
(
'
../examples/js/vr/HelioWebXRPolyfill.js
'
,
function
(
content
)
{
zip
.
file
(
'
js/HelioWebXRPolyfill.js
'
,
content
);
}
);
}
);
options
.
add
(
option
);
...
...
editor/js/Sidebar.Project.js
浏览文件 @
0069c9a7
...
...
@@ -54,6 +54,20 @@ var SidebarProject = function ( editor ) {
projectsettings
.
add
(
editableRow
);
// WebVR
var
vrRow
=
new
UIRow
();
var
vr
=
new
UICheckbox
(
config
.
getKey
(
'
project/vr
'
)
).
setLeft
(
'
100px
'
).
onChange
(
function
()
{
config
.
setKey
(
'
project/vr
'
,
this
.
getValue
()
);
}
);
vrRow
.
add
(
new
UIText
(
strings
.
getKey
(
'
sidebar/project/vr
'
)
).
setWidth
(
'
90px
'
)
);
vrRow
.
add
(
vr
);
projectsettings
.
add
(
vrRow
);
// Renderer
var
rendererPanel
=
new
UIPanel
();
...
...
editor/js/libs/app.js
浏览文件 @
0069c9a7
/**
* @author mrdoob / http://mrdoob.com/
*/
...
...
@@ -12,6 +13,11 @@ var APP = {
var
loader
=
new
THREE
.
ObjectLoader
();
var
camera
,
scene
;
// If VR support is turned on, this button will display
// when the player is running.
var
vrButton
;
// Returns true if VR support is enabled.
var
vrEnabled
;
var
events
=
{};
...
...
@@ -27,8 +33,13 @@ var APP = {
var
project
=
json
.
project
;
vrEnabled
=
()
=>
project
.
vr
;
if
(
project
.
shadows
)
renderer
.
shadowMap
.
enabled
=
true
;
if
(
project
.
vr
)
renderer
.
xr
.
enabled
=
true
;
if
(
project
.
vr
)
{
renderer
.
xr
.
enabled
=
true
;
vrButton
=
VRButton
.
createButton
(
renderer
);
};
this
.
setScene
(
loader
.
parse
(
json
.
scene
)
);
this
.
setCamera
(
loader
.
parse
(
json
.
camera
)
);
...
...
@@ -170,6 +181,10 @@ var APP = {
this
.
play
=
function
()
{
if
(
vrEnabled
()
)
{
dom
.
append
(
vrButton
);
}
prevTime
=
performance
.
now
();
document
.
addEventListener
(
'
keydown
'
,
onDocumentKeyDown
);
...
...
@@ -189,6 +204,10 @@ var APP = {
this
.
stop
=
function
()
{
if
(
vrEnabled
()
)
{
vrButton
.
remove
();
}
document
.
removeEventListener
(
'
keydown
'
,
onDocumentKeyDown
);
document
.
removeEventListener
(
'
keyup
'
,
onDocumentKeyUp
);
document
.
removeEventListener
(
'
mousedown
'
,
onDocumentMouseDown
);
...
...
editor/js/libs/app/index.html
浏览文件 @
0069c9a7
...
...
@@ -16,13 +16,16 @@
</style>
</head>
<body
ontouchstart=
""
>
<script
src=
"./js/HelioWebXRPolyfill.js"
></script>
<script
type=
"module"
>
import
*
as
THREE
from
'
./js/three.module.js
'
;
import
{
APP
}
from
'
./js/app.js
'
;
import
{
VRButton
}
from
'
./js/VRButton.js
'
;
window
.
THREE
=
THREE
;
// Used by APP Scripts.
window
.
VRButton
=
VRButton
;
// Used by APP Scripts.
var
loader
=
new
THREE
.
FileLoader
();
loader
.
load
(
'
app.json
'
,
function
(
text
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录