Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
c63bdaf8
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,体验更适合开发者的 AI 搜索 >>
提交
c63bdaf8
编写于
2月 23, 2021
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Clean up
上级
eefb5e07
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
18 addition
and
18 deletion
+18
-18
examples/webxr_ar_lighting.html
examples/webxr_ar_lighting.html
+18
-18
未找到文件。
examples/webxr_ar_lighting.html
浏览文件 @
c63bdaf8
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<title>
three.js ar -
cones
</title>
<title>
three.js ar -
lighting estimation
</title>
<meta
charset=
"utf-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0, user-scalable=no"
>
<link
type=
"text/css"
rel=
"stylesheet"
href=
"main.css"
>
...
...
@@ -9,7 +9,8 @@
<body>
<div
id=
"info"
>
<a
href=
"https://threejs.org"
target=
"_blank"
rel=
"noopener"
>
three.js
</a>
ar - Lighting Estimation
<br/>
(Chrome Android 88+)
<a
href=
"https://threejs.org"
target=
"_blank"
rel=
"noopener"
>
three.js
</a>
ar - Lighting Estimation
<br/>
(Chrome Android 90+)
</div>
<script
type=
"module"
>
...
...
@@ -22,7 +23,6 @@
let
camera
,
scene
,
renderer
;
let
controller
;
let
defaultEnvironment
;
let
ballGroup
;
init
();
animate
();
...
...
@@ -58,8 +58,8 @@
xrLight
.
addEventListener
(
'
estimationstart
'
,
()
=>
{
// Swap the default light out for the estimated one one we start getting some estimated values.
scene
.
add
(
xrLight
);
scene
.
remove
(
defaultLight
);
scene
.
add
(
xrLight
);
scene
.
remove
(
defaultLight
);
// The estimated lighting also provides an environment cubemap, which we can apply here.
if
(
xrLight
.
environment
)
{
...
...
@@ -68,18 +68,18 @@
}
});
}
);
xrLight
.
addEventListener
(
'
estimationend
'
,
()
=>
{
// Swap the lights back when we stop receiving estimated values.
scene
.
add
(
defaultLight
);
scene
.
remove
(
xrLight
);
scene
.
add
(
defaultLight
);
scene
.
remove
(
xrLight
);
// Revert back to the default environment.
scene
.
environment
=
defaultEnvironment
;
});
}
);
//
...
...
@@ -107,24 +107,24 @@
//
let
ballGeometry
=
new
THREE
.
SphereBufferGeometry
(
0.175
,
32
,
32
);
le
t
ballGroup
=
new
THREE
.
Group
();
ballGroup
.
position
.
z
=
-
2
;
const
ballGeometry
=
new
THREE
.
SphereBufferGeometry
(
0.175
,
32
,
32
);
cons
t
ballGroup
=
new
THREE
.
Group
();
ballGroup
.
position
.
z
=
-
2
;
const
rows
=
3
;
const
cols
=
3
;
for
(
let
i
=
0
;
i
<
rows
;
++
i
)
{
for
(
let
i
=
0
;
i
<
rows
;
i
++
)
{
for
(
let
j
=
0
;
j
<
cols
;
++
j
)
{
for
(
let
j
=
0
;
j
<
cols
;
j
++
)
{
const
ballMaterial
=
new
THREE
.
MeshStandardMaterial
({
const
ballMaterial
=
new
THREE
.
MeshStandardMaterial
(
{
color
:
0xdddddd
,
roughness
:
i
/
rows
,
metalness
:
j
/
cols
});
}
);
const
ballMesh
=
new
THREE
.
Mesh
(
ballGeometry
,
ballMaterial
);
ballMesh
.
position
.
set
(
(
i
+
0.5
-
rows
*
0.5
)
*
0.4
,
(
j
+
0.5
-
cols
*
0.5
)
*
0.4
,
0
);
ballMesh
.
position
.
set
(
(
i
+
0.5
-
rows
*
0.5
)
*
0.4
,
(
j
+
0.5
-
cols
*
0.5
)
*
0.4
,
0
);
ballGroup
.
add
(
ballMesh
);
}
...
...
@@ -137,7 +137,7 @@
function
onSelect
()
{
ballGroup
.
position
.
set
(
0
,
0
,
-
2
).
applyMatrix4
(
controller
.
matrixWorld
);
ballGroup
.
position
.
set
(
0
,
0
,
-
2
).
applyMatrix4
(
controller
.
matrixWorld
);
ballGroup
.
quaternion
.
setFromRotationMatrix
(
controller
.
matrixWorld
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录