Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
92f08cc7
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,发现更多精彩内容 >>
提交
92f08cc7
编写于
6月 23, 2019
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Examples: Improved webvr_paint.
上级
5f62dafd
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
18 addition
and
73 deletion
+18
-73
examples/webvr_paint.html
examples/webvr_paint.html
+18
-73
未找到文件。
examples/webvr_paint.html
浏览文件 @
92f08cc7
...
@@ -21,8 +21,8 @@
...
@@ -21,8 +21,8 @@
BufferAttribute
,
BufferAttribute
,
BufferGeometry
,
BufferGeometry
,
Color
,
Color
,
CylinderBufferGeometry
,
DirectionalLight
,
DirectionalLight
,
DoubleSide
,
GridHelper
,
GridHelper
,
HemisphereLight
,
HemisphereLight
,
IcosahedronBufferGeometry
,
IcosahedronBufferGeometry
,
...
@@ -32,14 +32,11 @@
...
@@ -32,14 +32,11 @@
PerspectiveCamera
,
PerspectiveCamera
,
PlaneBufferGeometry
,
PlaneBufferGeometry
,
Scene
,
Scene
,
TextureLoader
,
VertexColors
,
VertexColors
,
Vector3
,
Vector3
,
WebGLRenderer
WebGLRenderer
}
from
"
../build/three.module.js
"
;
}
from
"
../build/three.module.js
"
;
import
{
OBJLoader
}
from
'
./jsm/loaders/OBJLoader.js
'
;
var
container
;
var
container
;
var
camera
,
scene
,
renderer
;
var
camera
,
scene
,
renderer
;
var
controller1
,
controller2
;
var
controller1
,
controller2
;
...
@@ -77,18 +74,7 @@
...
@@ -77,18 +74,7 @@
var
table
=
new
Mesh
(
geometry
,
material
);
var
table
=
new
Mesh
(
geometry
,
material
);
table
.
position
.
y
=
0.35
;
table
.
position
.
y
=
0.35
;
table
.
position
.
z
=
0.85
;
table
.
position
.
z
=
0.85
;
table
.
castShadow
=
true
;
table
.
receiveShadow
=
true
;
scene
.
add
(
table
);
/*
var table = new Mesh( geometry, material );
table.position.y = 0.35;
table.position.z = -0.85;
table.castShadow = true;
table.receiveShadow = true;
scene
.
add
(
table
);
scene
.
add
(
table
);
*/
var
geometry
=
new
PlaneBufferGeometry
(
4
,
4
);
var
geometry
=
new
PlaneBufferGeometry
(
4
,
4
);
var
material
=
new
MeshStandardMaterial
(
{
var
material
=
new
MeshStandardMaterial
(
{
...
@@ -98,26 +84,18 @@
...
@@ -98,26 +84,18 @@
}
);
}
);
var
floor
=
new
Mesh
(
geometry
,
material
);
var
floor
=
new
Mesh
(
geometry
,
material
);
floor
.
rotation
.
x
=
-
Math
.
PI
/
2
;
floor
.
rotation
.
x
=
-
Math
.
PI
/
2
;
floor
.
receiveShadow
=
true
;
scene
.
add
(
floor
);
scene
.
add
(
floor
);
scene
.
add
(
new
GridHelper
(
20
,
40
,
0x111111
,
0x111111
)
);
var
grid
=
new
GridHelper
(
10
,
20
,
0x111111
,
0x111111
);
grid
.
material
.
depthTest
=
false
;
// avoid z-fighting
scene
.
add
(
grid
);
scene
.
add
(
new
HemisphereLight
(
0x888877
,
0x777788
)
);
scene
.
add
(
new
HemisphereLight
(
0x888877
,
0x777788
)
);
var
light
=
new
DirectionalLight
(
0xffffff
);
var
light
=
new
DirectionalLight
(
0xffffff
,
0.5
);
light
.
position
.
set
(
0
,
6
,
0
);
light
.
position
.
set
(
0
,
4
,
0
);
light
.
castShadow
=
true
;
light
.
shadow
.
camera
.
top
=
2
;
light
.
shadow
.
camera
.
bottom
=
-
2
;
light
.
shadow
.
camera
.
right
=
2
;
light
.
shadow
.
camera
.
left
=
-
2
;
light
.
shadow
.
mapSize
.
set
(
4096
,
4096
);
scene
.
add
(
light
);
scene
.
add
(
light
);
// scene.add( new DirectionalLightHelper( light ) );
// scene.add( new CameraHelper( light.shadow.camera ) );
//
//
renderer
=
new
WebGLRenderer
(
{
antialias
:
true
}
);
renderer
=
new
WebGLRenderer
(
{
antialias
:
true
}
);
...
@@ -125,7 +103,6 @@
...
@@ -125,7 +103,6 @@
renderer
.
setSize
(
window
.
innerWidth
,
window
.
innerHeight
);
renderer
.
setSize
(
window
.
innerWidth
,
window
.
innerHeight
);
renderer
.
gammaInput
=
true
;
renderer
.
gammaInput
=
true
;
renderer
.
gammaOutput
=
true
;
renderer
.
gammaOutput
=
true
;
renderer
.
shadowMap
.
enabled
=
true
;
renderer
.
vr
.
enabled
=
true
;
renderer
.
vr
.
enabled
=
true
;
container
.
appendChild
(
renderer
.
domElement
);
container
.
appendChild
(
renderer
.
domElement
);
...
@@ -159,34 +136,20 @@
...
@@ -159,34 +136,20 @@
controller2
.
userData
.
matrices
=
[
new
Matrix4
(),
new
Matrix4
()
];
controller2
.
userData
.
matrices
=
[
new
Matrix4
(),
new
Matrix4
()
];
scene
.
add
(
controller2
);
scene
.
add
(
controller2
);
var
loader
=
new
OBJLoader
();
//
loader
.
setPath
(
'
models/obj/vive-controller/
'
);
loader
.
load
(
'
vr_controller_vive_1_5.obj
'
,
function
(
object
)
{
var
loader
=
new
TextureLoader
();
loader
.
setPath
(
'
models/obj/vive-controller/
'
);
var
controller
=
object
.
children
[
0
];
controller
.
material
.
map
=
loader
.
load
(
'
onepointfive_texture.png
'
);
controller
.
material
.
specularMap
=
loader
.
load
(
'
onepointfive_spec.png
'
);
controller
.
castShadow
=
true
;
controller
.
receiveShadow
=
true
;
// var pivot = new Group();
// var pivot = new Mesh( new BoxBufferGeometry( 0.01, 0.01, 0.01 ) );
var
pivot
=
new
Mesh
(
new
IcosahedronBufferGeometry
(
0.01
,
2
)
);
pivot
.
name
=
'
pivot
'
;
pivot
.
position
.
y
=
-
0.016
;
pivot
.
position
.
z
=
-
0.043
;
pivot
.
rotation
.
x
=
Math
.
PI
/
5.5
;
controller
.
add
(
pivot
);
controller1
.
add
(
controller
.
clone
()
);
var
geometry
=
new
CylinderBufferGeometry
(
0.01
,
0.02
,
0.08
,
5
);
geometry
.
rotateX
(
-
Math
.
PI
/
2
);
var
material
=
new
MeshStandardMaterial
(
{
flatShading
:
true
}
);
var
mesh
=
new
Mesh
(
geometry
,
material
);
pivot
.
material
=
pivot
.
material
.
clone
();
var
pivot
=
new
Mesh
(
new
IcosahedronBufferGeometry
(
0.01
,
2
)
);
controller2
.
add
(
controller
.
clone
()
);
pivot
.
name
=
'
pivot
'
;
pivot
.
position
.
z
=
-
0.05
;
mesh
.
add
(
pivot
);
}
);
controller1
.
add
(
mesh
.
clone
()
);
controller2
.
add
(
mesh
.
clone
()
);
//
//
...
@@ -212,32 +175,14 @@
...
@@ -212,32 +175,14 @@
geometry
.
drawRange
.
count
=
0
;
geometry
.
drawRange
.
count
=
0
;
//
/*
var path = "textures/cube/SwedishRoyalCastle/";
var format = '.jpg';
var urls = [
path + 'px' + format, path + 'nx' + format,
path + 'py' + format, path + 'ny' + format,
path + 'pz' + format, path + 'nz' + format
];
var reflectionCube = new CubeTextureLoader().load( urls );
*/
var
material
=
new
MeshStandardMaterial
(
{
var
material
=
new
MeshStandardMaterial
(
{
roughness
:
0.9
,
roughness
:
0.9
,
metalness
:
0.0
,
metalness
:
0.0
,
// envMap: reflectionCube,
vertexColors
:
VertexColors
vertexColors
:
VertexColors
,
side
:
DoubleSide
}
);
}
);
line
=
new
Mesh
(
geometry
,
material
);
line
=
new
Mesh
(
geometry
,
material
);
line
.
frustumCulled
=
false
;
line
.
frustumCulled
=
false
;
line
.
castShadow
=
true
;
line
.
receiveShadow
=
true
;
scene
.
add
(
line
);
scene
.
add
(
line
);
// Shapes
// Shapes
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录