Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
db78ffe0
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,发现更多精彩内容 >>
提交
db78ffe0
编写于
9月 25, 2011
作者:
A
alteredq
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Some more Math.PI instead of magic numbers.
上级
7e937ebe
变更
21
展开全部
隐藏空白更改
内联
并排
Showing
21 changed file
with
107 addition
and
115 deletion
+107
-115
build/Three.js
build/Three.js
+14
-14
build/custom/ThreeCanvas.js
build/custom/ThreeCanvas.js
+1
-1
build/custom/ThreeDOM.js
build/custom/ThreeDOM.js
+1
-1
build/custom/ThreeExtras.js
build/custom/ThreeExtras.js
+13
-13
build/custom/ThreeSVG.js
build/custom/ThreeSVG.js
+1
-1
build/custom/ThreeWebGL.js
build/custom/ThreeWebGL.js
+1
-1
examples/misc_camera_path.html
examples/misc_camera_path.html
+15
-15
examples/misc_sound.html
examples/misc_sound.html
+1
-1
examples/webgl_animation_skinning.html
examples/webgl_animation_skinning.html
+2
-2
examples/webgl_custom_attributes_particles3.html
examples/webgl_custom_attributes_particles3.html
+4
-4
examples/webgl_geometry_minecraft_ao.html
examples/webgl_geometry_minecraft_ao.html
+4
-4
examples/webgl_geometry_shapes.html
examples/webgl_geometry_shapes.html
+2
-2
examples/webgl_geometry_text.html
examples/webgl_geometry_text.html
+1
-1
examples/webgl_materials_cars.html
examples/webgl_materials_cars.html
+3
-3
examples/webgl_materials_cars_anaglyph.html
examples/webgl_materials_cars_anaglyph.html
+4
-4
examples/webgl_objconvert_test.html
examples/webgl_objconvert_test.html
+24
-33
examples/webgl_particles_dynamic.html
examples/webgl_particles_dynamic.html
+1
-1
examples/webgl_ribbons.html
examples/webgl_ribbons.html
+3
-3
examples/webgl_rtt.html
examples/webgl_rtt.html
+3
-2
examples/webgl_shadowmap.html
examples/webgl_shadowmap.html
+2
-2
src/extras/cameras/PathCamera.js
src/extras/cameras/PathCamera.js
+7
-7
未找到文件。
build/Three.js
浏览文件 @
db78ffe0
此差异已折叠。
点击以展开。
build/custom/ThreeCanvas.js
浏览文件 @
db78ffe0
...
...
@@ -69,7 +69,7 @@ THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(a,b,c,d){t
this
.
x
=
a
.
x
*
d
;
this
.
y
=
a
.
y
*
d
;
this
.
z
=
a
.
z
*
d
;
this
.
w
=
Math
.
cos
(
c
);
return
this
},
setFromRotationMatrix
:
function
(
a
){
var
b
=
Math
.
pow
(
a
.
determinant
(),
1
/
3
);
this
.
w
=
Math
.
sqrt
(
Math
.
max
(
0
,
b
+
a
.
n11
+
a
.
n22
+
a
.
n33
))
/
2
;
this
.
x
=
Math
.
sqrt
(
Math
.
max
(
0
,
b
+
a
.
n11
-
a
.
n22
-
a
.
n33
))
/
2
;
this
.
y
=
Math
.
sqrt
(
Math
.
max
(
0
,
b
-
a
.
n11
+
a
.
n22
-
a
.
n33
))
/
2
;
this
.
z
=
Math
.
sqrt
(
Math
.
max
(
0
,
b
-
a
.
n11
-
a
.
n22
+
a
.
n33
))
/
2
;
this
.
x
=
a
.
n32
-
a
.
n23
<
0
?
-
Math
.
abs
(
this
.
x
):
Math
.
abs
(
this
.
x
);
this
.
y
=
a
.
n13
-
a
.
n31
<
0
?
-
Math
.
abs
(
this
.
y
):
Math
.
abs
(
this
.
y
);
this
.
z
=
a
.
n21
-
a
.
n12
<
0
?
-
Math
.
abs
(
this
.
z
):
Math
.
abs
(
this
.
z
);
this
.
normalize
();
return
this
},
calculateW
:
function
(){
this
.
w
=-
Math
.
sqrt
(
Math
.
abs
(
1
-
this
.
x
*
this
.
x
-
this
.
y
*
this
.
y
-
this
.
z
*
this
.
z
));
return
this
},
inverse
:
function
(){
this
.
x
*=-
1
;
this
.
y
*=-
1
;
this
.
z
*=-
1
;
return
this
},
length
:
function
(){
return
Math
.
sqrt
(
this
.
x
*
this
.
x
+
this
.
y
*
this
.
y
+
this
.
z
*
this
.
z
+
this
.
w
*
this
.
w
)},
normalize
:
function
(){
var
a
=
Math
.
sqrt
(
this
.
x
*
this
.
x
+
this
.
y
*
this
.
y
+
this
.
z
*
this
.
z
+
this
.
w
*
this
.
w
);
a
==
0
?
this
.
w
=
this
.
z
=
this
.
y
=
this
.
x
=
0
:(
a
=
1
/
a
,
this
.
x
*=
a
,
this
.
y
*=
a
,
this
.
z
*=
a
,
this
.
w
*=
a
);
return
this
},
multiplySelf
:
function
(
a
){
var
b
=
this
.
x
,
c
=
this
.
y
,
d
=
this
.
z
,
e
=
this
.
w
,
g
=
a
.
x
,
f
=
a
.
y
,
h
=
a
.
z
,
a
=
a
.
w
;
this
.
x
=
b
*
a
+
e
*
g
+
c
*
h
-
d
*
f
;
this
.
y
=
c
*
a
+
e
*
f
+
d
*
g
-
b
*
h
;
this
.
z
=
d
*
a
+
e
*
h
+
b
*
f
-
c
*
g
;
this
.
w
=
e
*
a
-
b
*
g
-
c
*
f
-
d
*
h
;
return
this
},
multiply
:
function
(
a
,
b
){
this
.
x
=
a
.
x
*
b
.
w
+
a
.
y
*
b
.
z
-
a
.
z
*
b
.
y
+
a
.
w
*
b
.
x
;
this
.
y
=-
a
.
x
*
b
.
z
+
a
.
y
*
b
.
w
+
a
.
z
*
b
.
x
+
a
.
w
*
b
.
y
;
this
.
z
=
a
.
x
*
b
.
y
-
a
.
y
*
b
.
x
+
a
.
z
*
b
.
w
+
a
.
w
*
b
.
z
;
this
.
w
=-
a
.
x
*
b
.
x
-
a
.
y
*
b
.
y
-
a
.
z
*
b
.
z
+
a
.
w
*
b
.
w
;
return
this
},
multiplyVector3
:
function
(
a
,
b
){
b
||
(
b
=
a
);
var
c
=
a
.
x
,
d
=
a
.
y
,
e
=
a
.
z
,
g
=
this
.
x
,
f
=
this
.
y
,
h
=
this
.
z
,
l
=
this
.
w
,
j
=
l
*
c
+
f
*
e
-
h
*
d
,
n
=
l
*
d
+
h
*
c
-
g
*
e
,
i
=
l
*
e
+
g
*
d
-
f
*
c
,
c
=-
g
*
c
-
f
*
d
-
h
*
e
;
b
.
x
=
j
*
l
+
c
*-
g
+
n
*-
h
-
i
*-
f
;
b
.
y
=
n
*
l
+
c
*-
f
+
i
*-
g
-
j
*-
h
;
b
.
z
=
i
*
l
+
c
*-
h
+
j
*-
f
-
n
*-
g
;
return
b
}};
THREE
.
Quaternion
.
slerp
=
function
(
a
,
b
,
c
,
d
){
var
e
=
a
.
w
*
b
.
w
+
a
.
x
*
b
.
x
+
a
.
y
*
b
.
y
+
a
.
z
*
b
.
z
;
if
(
Math
.
abs
(
e
)
>=
1
)
return
c
.
w
=
a
.
w
,
c
.
x
=
a
.
x
,
c
.
y
=
a
.
y
,
c
.
z
=
a
.
z
,
c
;
var
g
=
Math
.
acos
(
e
),
f
=
Math
.
sqrt
(
1
-
e
*
e
);
if
(
Math
.
abs
(
f
)
<
0.001
)
return
c
.
w
=
0.5
*
(
a
.
w
+
b
.
w
),
c
.
x
=
0.5
*
(
a
.
x
+
b
.
x
),
c
.
y
=
0.5
*
(
a
.
y
+
b
.
y
),
c
.
z
=
0.5
*
(
a
.
z
+
b
.
z
),
c
;
e
=
Math
.
sin
((
1
-
d
)
*
g
)
/
f
;
d
=
Math
.
sin
(
d
*
g
)
/
f
;
c
.
w
=
a
.
w
*
e
+
b
.
w
*
d
;
c
.
x
=
a
.
x
*
e
+
b
.
x
*
d
;
c
.
y
=
a
.
y
*
e
+
b
.
y
*
d
;
c
.
z
=
a
.
z
*
e
+
b
.
z
*
d
;
return
c
};
c
-
f
*
d
-
h
*
e
;
b
.
x
=
j
*
l
+
c
*-
g
+
n
*-
h
-
i
*-
f
;
b
.
y
=
n
*
l
+
c
*-
f
+
i
*-
g
-
j
*-
h
;
b
.
z
=
i
*
l
+
c
*-
h
+
j
*-
f
-
n
*-
g
;
return
b
}};
THREE
.
Quaternion
.
slerp
=
function
(
a
,
b
,
c
,
d
){
var
e
=
a
.
w
*
b
.
w
+
a
.
x
*
b
.
x
+
a
.
y
*
b
.
y
+
a
.
z
*
b
.
z
;
if
(
Math
.
abs
(
e
)
>=
1
)
return
c
.
w
=
a
.
w
,
c
.
x
=
a
.
x
,
c
.
y
=
a
.
y
,
c
.
z
=
a
.
z
,
c
;
var
g
=
Math
.
acos
(
e
),
f
=
Math
.
sqrt
(
1
-
e
*
e
);
if
(
Math
.
abs
(
f
)
<
0.001
0
)
return
c
.
w
=
0.5
*
(
a
.
w
+
b
.
w
),
c
.
x
=
0.5
*
(
a
.
x
+
b
.
x
),
c
.
y
=
0.5
*
(
a
.
y
+
b
.
y
),
c
.
z
=
0.5
*
(
a
.
z
+
b
.
z
),
c
;
e
=
Math
.
sin
((
1
-
d
)
*
g
)
/
f
;
d
=
Math
.
sin
(
d
*
g
)
/
f
;
c
.
w
=
a
.
w
*
e
+
b
.
w
*
d
;
c
.
x
=
a
.
x
*
e
+
b
.
x
*
d
;
c
.
y
=
a
.
y
*
e
+
b
.
y
*
d
;
c
.
z
=
a
.
z
*
e
+
b
.
z
*
d
;
return
c
};
THREE
.
Vertex
=
function
(
a
){
this
.
position
=
a
||
new
THREE
.
Vector3
};
THREE
.
Face3
=
function
(
a
,
b
,
c
,
d
,
e
,
g
){
this
.
a
=
a
;
this
.
b
=
b
;
this
.
c
=
c
;
this
.
normal
=
d
instanceof
THREE
.
Vector3
?
d
:
new
THREE
.
Vector3
;
this
.
vertexNormals
=
d
instanceof
Array
?
d
:[];
this
.
color
=
e
instanceof
THREE
.
Color
?
e
:
new
THREE
.
Color
;
this
.
vertexColors
=
e
instanceof
Array
?
e
:[];
this
.
vertexTangents
=
[];
this
.
materials
=
g
instanceof
Array
?
g
:[
g
];
this
.
centroid
=
new
THREE
.
Vector3
};
THREE
.
Face4
=
function
(
a
,
b
,
c
,
d
,
e
,
g
,
f
){
this
.
a
=
a
;
this
.
b
=
b
;
this
.
c
=
c
;
this
.
d
=
d
;
this
.
normal
=
e
instanceof
THREE
.
Vector3
?
e
:
new
THREE
.
Vector3
;
this
.
vertexNormals
=
e
instanceof
Array
?
e
:[];
this
.
color
=
g
instanceof
THREE
.
Color
?
g
:
new
THREE
.
Color
;
this
.
vertexColors
=
g
instanceof
Array
?
g
:[];
this
.
vertexTangents
=
[];
this
.
materials
=
f
instanceof
Array
?
f
:[
f
];
this
.
centroid
=
new
THREE
.
Vector3
};
THREE
.
UV
=
function
(
a
,
b
){
this
.
u
=
a
||
0
;
this
.
v
=
b
||
0
};
THREE
.
UV
.
prototype
=
{
constructor
:
THREE
.
UV
,
set
:
function
(
a
,
b
){
this
.
u
=
a
;
this
.
v
=
b
;
return
this
},
copy
:
function
(
a
){
this
.
u
=
a
.
u
;
this
.
v
=
a
.
v
;
return
this
},
clone
:
function
(){
return
new
THREE
.
UV
(
this
.
u
,
this
.
v
)}};
...
...
build/custom/ThreeDOM.js
浏览文件 @
db78ffe0
...
...
@@ -69,7 +69,7 @@ THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(a,b,c,d){t
this
.
x
=
a
.
x
*
d
;
this
.
y
=
a
.
y
*
d
;
this
.
z
=
a
.
z
*
d
;
this
.
w
=
Math
.
cos
(
c
);
return
this
},
setFromRotationMatrix
:
function
(
a
){
var
b
=
Math
.
pow
(
a
.
determinant
(),
1
/
3
);
this
.
w
=
Math
.
sqrt
(
Math
.
max
(
0
,
b
+
a
.
n11
+
a
.
n22
+
a
.
n33
))
/
2
;
this
.
x
=
Math
.
sqrt
(
Math
.
max
(
0
,
b
+
a
.
n11
-
a
.
n22
-
a
.
n33
))
/
2
;
this
.
y
=
Math
.
sqrt
(
Math
.
max
(
0
,
b
-
a
.
n11
+
a
.
n22
-
a
.
n33
))
/
2
;
this
.
z
=
Math
.
sqrt
(
Math
.
max
(
0
,
b
-
a
.
n11
-
a
.
n22
+
a
.
n33
))
/
2
;
this
.
x
=
a
.
n32
-
a
.
n23
<
0
?
-
Math
.
abs
(
this
.
x
):
Math
.
abs
(
this
.
x
);
this
.
y
=
a
.
n13
-
a
.
n31
<
0
?
-
Math
.
abs
(
this
.
y
):
Math
.
abs
(
this
.
y
);
this
.
z
=
a
.
n21
-
a
.
n12
<
0
?
-
Math
.
abs
(
this
.
z
):
Math
.
abs
(
this
.
z
);
this
.
normalize
();
return
this
},
calculateW
:
function
(){
this
.
w
=-
Math
.
sqrt
(
Math
.
abs
(
1
-
this
.
x
*
this
.
x
-
this
.
y
*
this
.
y
-
this
.
z
*
this
.
z
));
return
this
},
inverse
:
function
(){
this
.
x
*=-
1
;
this
.
y
*=-
1
;
this
.
z
*=-
1
;
return
this
},
length
:
function
(){
return
Math
.
sqrt
(
this
.
x
*
this
.
x
+
this
.
y
*
this
.
y
+
this
.
z
*
this
.
z
+
this
.
w
*
this
.
w
)},
normalize
:
function
(){
var
a
=
Math
.
sqrt
(
this
.
x
*
this
.
x
+
this
.
y
*
this
.
y
+
this
.
z
*
this
.
z
+
this
.
w
*
this
.
w
);
a
==
0
?
this
.
w
=
this
.
z
=
this
.
y
=
this
.
x
=
0
:(
a
=
1
/
a
,
this
.
x
*=
a
,
this
.
y
*=
a
,
this
.
z
*=
a
,
this
.
w
*=
a
);
return
this
},
multiplySelf
:
function
(
a
){
var
b
=
this
.
x
,
c
=
this
.
y
,
d
=
this
.
z
,
e
=
this
.
w
,
g
=
a
.
x
,
f
=
a
.
y
,
h
=
a
.
z
,
a
=
a
.
w
;
this
.
x
=
b
*
a
+
e
*
g
+
c
*
h
-
d
*
f
;
this
.
y
=
c
*
a
+
e
*
f
+
d
*
g
-
b
*
h
;
this
.
z
=
d
*
a
+
e
*
h
+
b
*
f
-
c
*
g
;
this
.
w
=
e
*
a
-
b
*
g
-
c
*
f
-
d
*
h
;
return
this
},
multiply
:
function
(
a
,
b
){
this
.
x
=
a
.
x
*
b
.
w
+
a
.
y
*
b
.
z
-
a
.
z
*
b
.
y
+
a
.
w
*
b
.
x
;
this
.
y
=-
a
.
x
*
b
.
z
+
a
.
y
*
b
.
w
+
a
.
z
*
b
.
x
+
a
.
w
*
b
.
y
;
this
.
z
=
a
.
x
*
b
.
y
-
a
.
y
*
b
.
x
+
a
.
z
*
b
.
w
+
a
.
w
*
b
.
z
;
this
.
w
=-
a
.
x
*
b
.
x
-
a
.
y
*
b
.
y
-
a
.
z
*
b
.
z
+
a
.
w
*
b
.
w
;
return
this
},
multiplyVector3
:
function
(
a
,
b
){
b
||
(
b
=
a
);
var
c
=
a
.
x
,
d
=
a
.
y
,
e
=
a
.
z
,
g
=
this
.
x
,
f
=
this
.
y
,
h
=
this
.
z
,
j
=
this
.
w
,
i
=
j
*
c
+
f
*
e
-
h
*
d
,
k
=
j
*
d
+
h
*
c
-
g
*
e
,
l
=
j
*
e
+
g
*
d
-
f
*
c
,
c
=-
g
*
c
-
f
*
d
-
h
*
e
;
b
.
x
=
i
*
j
+
c
*-
g
+
k
*-
h
-
l
*-
f
;
b
.
y
=
k
*
j
+
c
*-
f
+
l
*-
g
-
i
*-
h
;
b
.
z
=
l
*
j
+
c
*-
h
+
i
*-
f
-
k
*-
g
;
return
b
}};
THREE
.
Quaternion
.
slerp
=
function
(
a
,
b
,
c
,
d
){
var
e
=
a
.
w
*
b
.
w
+
a
.
x
*
b
.
x
+
a
.
y
*
b
.
y
+
a
.
z
*
b
.
z
;
if
(
Math
.
abs
(
e
)
>=
1
)
return
c
.
w
=
a
.
w
,
c
.
x
=
a
.
x
,
c
.
y
=
a
.
y
,
c
.
z
=
a
.
z
,
c
;
var
g
=
Math
.
acos
(
e
),
f
=
Math
.
sqrt
(
1
-
e
*
e
);
if
(
Math
.
abs
(
f
)
<
0.001
)
return
c
.
w
=
0.5
*
(
a
.
w
+
b
.
w
),
c
.
x
=
0.5
*
(
a
.
x
+
b
.
x
),
c
.
y
=
0.5
*
(
a
.
y
+
b
.
y
),
c
.
z
=
0.5
*
(
a
.
z
+
b
.
z
),
c
;
e
=
Math
.
sin
((
1
-
d
)
*
g
)
/
f
;
d
=
Math
.
sin
(
d
*
g
)
/
f
;
c
.
w
=
a
.
w
*
e
+
b
.
w
*
d
;
c
.
x
=
a
.
x
*
e
+
b
.
x
*
d
;
c
.
y
=
a
.
y
*
e
+
b
.
y
*
d
;
c
.
z
=
a
.
z
*
e
+
b
.
z
*
d
;
return
c
};
c
-
f
*
d
-
h
*
e
;
b
.
x
=
i
*
j
+
c
*-
g
+
k
*-
h
-
l
*-
f
;
b
.
y
=
k
*
j
+
c
*-
f
+
l
*-
g
-
i
*-
h
;
b
.
z
=
l
*
j
+
c
*-
h
+
i
*-
f
-
k
*-
g
;
return
b
}};
THREE
.
Quaternion
.
slerp
=
function
(
a
,
b
,
c
,
d
){
var
e
=
a
.
w
*
b
.
w
+
a
.
x
*
b
.
x
+
a
.
y
*
b
.
y
+
a
.
z
*
b
.
z
;
if
(
Math
.
abs
(
e
)
>=
1
)
return
c
.
w
=
a
.
w
,
c
.
x
=
a
.
x
,
c
.
y
=
a
.
y
,
c
.
z
=
a
.
z
,
c
;
var
g
=
Math
.
acos
(
e
),
f
=
Math
.
sqrt
(
1
-
e
*
e
);
if
(
Math
.
abs
(
f
)
<
0.001
0
)
return
c
.
w
=
0.5
*
(
a
.
w
+
b
.
w
),
c
.
x
=
0.5
*
(
a
.
x
+
b
.
x
),
c
.
y
=
0.5
*
(
a
.
y
+
b
.
y
),
c
.
z
=
0.5
*
(
a
.
z
+
b
.
z
),
c
;
e
=
Math
.
sin
((
1
-
d
)
*
g
)
/
f
;
d
=
Math
.
sin
(
d
*
g
)
/
f
;
c
.
w
=
a
.
w
*
e
+
b
.
w
*
d
;
c
.
x
=
a
.
x
*
e
+
b
.
x
*
d
;
c
.
y
=
a
.
y
*
e
+
b
.
y
*
d
;
c
.
z
=
a
.
z
*
e
+
b
.
z
*
d
;
return
c
};
THREE
.
Vertex
=
function
(
a
){
this
.
position
=
a
||
new
THREE
.
Vector3
};
THREE
.
Face3
=
function
(
a
,
b
,
c
,
d
,
e
,
g
){
this
.
a
=
a
;
this
.
b
=
b
;
this
.
c
=
c
;
this
.
normal
=
d
instanceof
THREE
.
Vector3
?
d
:
new
THREE
.
Vector3
;
this
.
vertexNormals
=
d
instanceof
Array
?
d
:[];
this
.
color
=
e
instanceof
THREE
.
Color
?
e
:
new
THREE
.
Color
;
this
.
vertexColors
=
e
instanceof
Array
?
e
:[];
this
.
vertexTangents
=
[];
this
.
materials
=
g
instanceof
Array
?
g
:[
g
];
this
.
centroid
=
new
THREE
.
Vector3
};
THREE
.
Face4
=
function
(
a
,
b
,
c
,
d
,
e
,
g
,
f
){
this
.
a
=
a
;
this
.
b
=
b
;
this
.
c
=
c
;
this
.
d
=
d
;
this
.
normal
=
e
instanceof
THREE
.
Vector3
?
e
:
new
THREE
.
Vector3
;
this
.
vertexNormals
=
e
instanceof
Array
?
e
:[];
this
.
color
=
g
instanceof
THREE
.
Color
?
g
:
new
THREE
.
Color
;
this
.
vertexColors
=
g
instanceof
Array
?
g
:[];
this
.
vertexTangents
=
[];
this
.
materials
=
f
instanceof
Array
?
f
:[
f
];
this
.
centroid
=
new
THREE
.
Vector3
};
THREE
.
UV
=
function
(
a
,
b
){
this
.
u
=
a
||
0
;
this
.
v
=
b
||
0
};
THREE
.
UV
.
prototype
=
{
constructor
:
THREE
.
UV
,
set
:
function
(
a
,
b
){
this
.
u
=
a
;
this
.
v
=
b
;
return
this
},
copy
:
function
(
a
){
this
.
u
=
a
.
u
;
this
.
v
=
a
.
v
;
return
this
},
clone
:
function
(){
return
new
THREE
.
UV
(
this
.
u
,
this
.
v
)}};
THREE
.
Camera
=
function
(
a
,
b
,
c
,
d
,
e
){
THREE
.
Object3D
.
call
(
this
);
this
.
fov
=
a
||
50
;
this
.
aspect
=
b
||
1
;
this
.
near
=
c
!==
void
0
?
c
:
0.1
;
this
.
far
=
d
!==
void
0
?
d
:
2
E3
;
this
.
target
=
e
||
new
THREE
.
Object3D
;
this
.
useTarget
=!
0
;
this
.
matrixWorldInverse
=
new
THREE
.
Matrix4
;
this
.
projectionMatrix
=
null
;
this
.
updateProjectionMatrix
()};
...
...
build/custom/ThreeExtras.js
浏览文件 @
db78ffe0
此差异已折叠。
点击以展开。
build/custom/ThreeSVG.js
浏览文件 @
db78ffe0
...
...
@@ -69,7 +69,7 @@ THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(a,b,c,d){t
this
.
x
=
a
.
x
*
d
;
this
.
y
=
a
.
y
*
d
;
this
.
z
=
a
.
z
*
d
;
this
.
w
=
Math
.
cos
(
c
);
return
this
},
setFromRotationMatrix
:
function
(
a
){
var
b
=
Math
.
pow
(
a
.
determinant
(),
1
/
3
);
this
.
w
=
Math
.
sqrt
(
Math
.
max
(
0
,
b
+
a
.
n11
+
a
.
n22
+
a
.
n33
))
/
2
;
this
.
x
=
Math
.
sqrt
(
Math
.
max
(
0
,
b
+
a
.
n11
-
a
.
n22
-
a
.
n33
))
/
2
;
this
.
y
=
Math
.
sqrt
(
Math
.
max
(
0
,
b
-
a
.
n11
+
a
.
n22
-
a
.
n33
))
/
2
;
this
.
z
=
Math
.
sqrt
(
Math
.
max
(
0
,
b
-
a
.
n11
-
a
.
n22
+
a
.
n33
))
/
2
;
this
.
x
=
a
.
n32
-
a
.
n23
<
0
?
-
Math
.
abs
(
this
.
x
):
Math
.
abs
(
this
.
x
);
this
.
y
=
a
.
n13
-
a
.
n31
<
0
?
-
Math
.
abs
(
this
.
y
):
Math
.
abs
(
this
.
y
);
this
.
z
=
a
.
n21
-
a
.
n12
<
0
?
-
Math
.
abs
(
this
.
z
):
Math
.
abs
(
this
.
z
);
this
.
normalize
();
return
this
},
calculateW
:
function
(){
this
.
w
=-
Math
.
sqrt
(
Math
.
abs
(
1
-
this
.
x
*
this
.
x
-
this
.
y
*
this
.
y
-
this
.
z
*
this
.
z
));
return
this
},
inverse
:
function
(){
this
.
x
*=-
1
;
this
.
y
*=-
1
;
this
.
z
*=-
1
;
return
this
},
length
:
function
(){
return
Math
.
sqrt
(
this
.
x
*
this
.
x
+
this
.
y
*
this
.
y
+
this
.
z
*
this
.
z
+
this
.
w
*
this
.
w
)},
normalize
:
function
(){
var
a
=
Math
.
sqrt
(
this
.
x
*
this
.
x
+
this
.
y
*
this
.
y
+
this
.
z
*
this
.
z
+
this
.
w
*
this
.
w
);
a
==
0
?
this
.
w
=
this
.
z
=
this
.
y
=
this
.
x
=
0
:(
a
=
1
/
a
,
this
.
x
*=
a
,
this
.
y
*=
a
,
this
.
z
*=
a
,
this
.
w
*=
a
);
return
this
},
multiplySelf
:
function
(
a
){
var
b
=
this
.
x
,
c
=
this
.
y
,
d
=
this
.
z
,
e
=
this
.
w
,
g
=
a
.
x
,
f
=
a
.
y
,
h
=
a
.
z
,
a
=
a
.
w
;
this
.
x
=
b
*
a
+
e
*
g
+
c
*
h
-
d
*
f
;
this
.
y
=
c
*
a
+
e
*
f
+
d
*
g
-
b
*
h
;
this
.
z
=
d
*
a
+
e
*
h
+
b
*
f
-
c
*
g
;
this
.
w
=
e
*
a
-
b
*
g
-
c
*
f
-
d
*
h
;
return
this
},
multiply
:
function
(
a
,
b
){
this
.
x
=
a
.
x
*
b
.
w
+
a
.
y
*
b
.
z
-
a
.
z
*
b
.
y
+
a
.
w
*
b
.
x
;
this
.
y
=-
a
.
x
*
b
.
z
+
a
.
y
*
b
.
w
+
a
.
z
*
b
.
x
+
a
.
w
*
b
.
y
;
this
.
z
=
a
.
x
*
b
.
y
-
a
.
y
*
b
.
x
+
a
.
z
*
b
.
w
+
a
.
w
*
b
.
z
;
this
.
w
=-
a
.
x
*
b
.
x
-
a
.
y
*
b
.
y
-
a
.
z
*
b
.
z
+
a
.
w
*
b
.
w
;
return
this
},
multiplyVector3
:
function
(
a
,
b
){
b
||
(
b
=
a
);
var
c
=
a
.
x
,
d
=
a
.
y
,
e
=
a
.
z
,
g
=
this
.
x
,
f
=
this
.
y
,
h
=
this
.
z
,
k
=
this
.
w
,
i
=
k
*
c
+
f
*
e
-
h
*
d
,
l
=
k
*
d
+
h
*
c
-
g
*
e
,
j
=
k
*
e
+
g
*
d
-
f
*
c
,
c
=-
g
*
c
-
f
*
d
-
h
*
e
;
b
.
x
=
i
*
k
+
c
*-
g
+
l
*-
h
-
j
*-
f
;
b
.
y
=
l
*
k
+
c
*-
f
+
j
*-
g
-
i
*-
h
;
b
.
z
=
j
*
k
+
c
*-
h
+
i
*-
f
-
l
*-
g
;
return
b
}};
THREE
.
Quaternion
.
slerp
=
function
(
a
,
b
,
c
,
d
){
var
e
=
a
.
w
*
b
.
w
+
a
.
x
*
b
.
x
+
a
.
y
*
b
.
y
+
a
.
z
*
b
.
z
;
if
(
Math
.
abs
(
e
)
>=
1
)
return
c
.
w
=
a
.
w
,
c
.
x
=
a
.
x
,
c
.
y
=
a
.
y
,
c
.
z
=
a
.
z
,
c
;
var
g
=
Math
.
acos
(
e
),
f
=
Math
.
sqrt
(
1
-
e
*
e
);
if
(
Math
.
abs
(
f
)
<
0.001
)
return
c
.
w
=
0.5
*
(
a
.
w
+
b
.
w
),
c
.
x
=
0.5
*
(
a
.
x
+
b
.
x
),
c
.
y
=
0.5
*
(
a
.
y
+
b
.
y
),
c
.
z
=
0.5
*
(
a
.
z
+
b
.
z
),
c
;
e
=
Math
.
sin
((
1
-
d
)
*
g
)
/
f
;
d
=
Math
.
sin
(
d
*
g
)
/
f
;
c
.
w
=
a
.
w
*
e
+
b
.
w
*
d
;
c
.
x
=
a
.
x
*
e
+
b
.
x
*
d
;
c
.
y
=
a
.
y
*
e
+
b
.
y
*
d
;
c
.
z
=
a
.
z
*
e
+
b
.
z
*
d
;
return
c
};
c
-
f
*
d
-
h
*
e
;
b
.
x
=
i
*
k
+
c
*-
g
+
l
*-
h
-
j
*-
f
;
b
.
y
=
l
*
k
+
c
*-
f
+
j
*-
g
-
i
*-
h
;
b
.
z
=
j
*
k
+
c
*-
h
+
i
*-
f
-
l
*-
g
;
return
b
}};
THREE
.
Quaternion
.
slerp
=
function
(
a
,
b
,
c
,
d
){
var
e
=
a
.
w
*
b
.
w
+
a
.
x
*
b
.
x
+
a
.
y
*
b
.
y
+
a
.
z
*
b
.
z
;
if
(
Math
.
abs
(
e
)
>=
1
)
return
c
.
w
=
a
.
w
,
c
.
x
=
a
.
x
,
c
.
y
=
a
.
y
,
c
.
z
=
a
.
z
,
c
;
var
g
=
Math
.
acos
(
e
),
f
=
Math
.
sqrt
(
1
-
e
*
e
);
if
(
Math
.
abs
(
f
)
<
0.001
0
)
return
c
.
w
=
0.5
*
(
a
.
w
+
b
.
w
),
c
.
x
=
0.5
*
(
a
.
x
+
b
.
x
),
c
.
y
=
0.5
*
(
a
.
y
+
b
.
y
),
c
.
z
=
0.5
*
(
a
.
z
+
b
.
z
),
c
;
e
=
Math
.
sin
((
1
-
d
)
*
g
)
/
f
;
d
=
Math
.
sin
(
d
*
g
)
/
f
;
c
.
w
=
a
.
w
*
e
+
b
.
w
*
d
;
c
.
x
=
a
.
x
*
e
+
b
.
x
*
d
;
c
.
y
=
a
.
y
*
e
+
b
.
y
*
d
;
c
.
z
=
a
.
z
*
e
+
b
.
z
*
d
;
return
c
};
THREE
.
Vertex
=
function
(
a
){
this
.
position
=
a
||
new
THREE
.
Vector3
};
THREE
.
Face3
=
function
(
a
,
b
,
c
,
d
,
e
,
g
){
this
.
a
=
a
;
this
.
b
=
b
;
this
.
c
=
c
;
this
.
normal
=
d
instanceof
THREE
.
Vector3
?
d
:
new
THREE
.
Vector3
;
this
.
vertexNormals
=
d
instanceof
Array
?
d
:[];
this
.
color
=
e
instanceof
THREE
.
Color
?
e
:
new
THREE
.
Color
;
this
.
vertexColors
=
e
instanceof
Array
?
e
:[];
this
.
vertexTangents
=
[];
this
.
materials
=
g
instanceof
Array
?
g
:[
g
];
this
.
centroid
=
new
THREE
.
Vector3
};
THREE
.
Face4
=
function
(
a
,
b
,
c
,
d
,
e
,
g
,
f
){
this
.
a
=
a
;
this
.
b
=
b
;
this
.
c
=
c
;
this
.
d
=
d
;
this
.
normal
=
e
instanceof
THREE
.
Vector3
?
e
:
new
THREE
.
Vector3
;
this
.
vertexNormals
=
e
instanceof
Array
?
e
:[];
this
.
color
=
g
instanceof
THREE
.
Color
?
g
:
new
THREE
.
Color
;
this
.
vertexColors
=
g
instanceof
Array
?
g
:[];
this
.
vertexTangents
=
[];
this
.
materials
=
f
instanceof
Array
?
f
:[
f
];
this
.
centroid
=
new
THREE
.
Vector3
};
THREE
.
UV
=
function
(
a
,
b
){
this
.
u
=
a
||
0
;
this
.
v
=
b
||
0
};
THREE
.
UV
.
prototype
=
{
constructor
:
THREE
.
UV
,
set
:
function
(
a
,
b
){
this
.
u
=
a
;
this
.
v
=
b
;
return
this
},
copy
:
function
(
a
){
this
.
u
=
a
.
u
;
this
.
v
=
a
.
v
;
return
this
},
clone
:
function
(){
return
new
THREE
.
UV
(
this
.
u
,
this
.
v
)}};
...
...
build/custom/ThreeWebGL.js
浏览文件 @
db78ffe0
...
...
@@ -69,7 +69,7 @@ THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(b,c,d,f){t
this
.
x
=
b
.
x
*
f
;
this
.
y
=
b
.
y
*
f
;
this
.
z
=
b
.
z
*
f
;
this
.
w
=
Math
.
cos
(
d
);
return
this
},
setFromRotationMatrix
:
function
(
b
){
var
c
=
Math
.
pow
(
b
.
determinant
(),
1
/
3
);
this
.
w
=
Math
.
sqrt
(
Math
.
max
(
0
,
c
+
b
.
n11
+
b
.
n22
+
b
.
n33
))
/
2
;
this
.
x
=
Math
.
sqrt
(
Math
.
max
(
0
,
c
+
b
.
n11
-
b
.
n22
-
b
.
n33
))
/
2
;
this
.
y
=
Math
.
sqrt
(
Math
.
max
(
0
,
c
-
b
.
n11
+
b
.
n22
-
b
.
n33
))
/
2
;
this
.
z
=
Math
.
sqrt
(
Math
.
max
(
0
,
c
-
b
.
n11
-
b
.
n22
+
b
.
n33
))
/
2
;
this
.
x
=
b
.
n32
-
b
.
n23
<
0
?
-
Math
.
abs
(
this
.
x
):
Math
.
abs
(
this
.
x
);
this
.
y
=
b
.
n13
-
b
.
n31
<
0
?
-
Math
.
abs
(
this
.
y
):
Math
.
abs
(
this
.
y
);
this
.
z
=
b
.
n21
-
b
.
n12
<
0
?
-
Math
.
abs
(
this
.
z
):
Math
.
abs
(
this
.
z
);
this
.
normalize
();
return
this
},
calculateW
:
function
(){
this
.
w
=-
Math
.
sqrt
(
Math
.
abs
(
1
-
this
.
x
*
this
.
x
-
this
.
y
*
this
.
y
-
this
.
z
*
this
.
z
));
return
this
},
inverse
:
function
(){
this
.
x
*=-
1
;
this
.
y
*=-
1
;
this
.
z
*=-
1
;
return
this
},
length
:
function
(){
return
Math
.
sqrt
(
this
.
x
*
this
.
x
+
this
.
y
*
this
.
y
+
this
.
z
*
this
.
z
+
this
.
w
*
this
.
w
)},
normalize
:
function
(){
var
b
=
Math
.
sqrt
(
this
.
x
*
this
.
x
+
this
.
y
*
this
.
y
+
this
.
z
*
this
.
z
+
this
.
w
*
this
.
w
);
b
==
0
?
this
.
w
=
this
.
z
=
this
.
y
=
this
.
x
=
0
:(
b
=
1
/
b
,
this
.
x
*=
b
,
this
.
y
*=
b
,
this
.
z
*=
b
,
this
.
w
*=
b
);
return
this
},
multiplySelf
:
function
(
b
){
var
c
=
this
.
x
,
d
=
this
.
y
,
f
=
this
.
z
,
i
=
this
.
w
,
h
=
b
.
x
,
j
=
b
.
y
,
k
=
b
.
z
,
b
=
b
.
w
;
this
.
x
=
c
*
b
+
i
*
h
+
d
*
k
-
f
*
j
;
this
.
y
=
d
*
b
+
i
*
j
+
f
*
h
-
c
*
k
;
this
.
z
=
f
*
b
+
i
*
k
+
c
*
j
-
d
*
h
;
this
.
w
=
i
*
b
-
c
*
h
-
d
*
j
-
f
*
k
;
return
this
},
multiply
:
function
(
b
,
c
){
this
.
x
=
b
.
x
*
c
.
w
+
b
.
y
*
c
.
z
-
b
.
z
*
c
.
y
+
b
.
w
*
c
.
x
;
this
.
y
=-
b
.
x
*
c
.
z
+
b
.
y
*
c
.
w
+
b
.
z
*
c
.
x
+
b
.
w
*
c
.
y
;
this
.
z
=
b
.
x
*
c
.
y
-
b
.
y
*
c
.
x
+
b
.
z
*
c
.
w
+
b
.
w
*
c
.
z
;
this
.
w
=-
b
.
x
*
c
.
x
-
b
.
y
*
c
.
y
-
b
.
z
*
c
.
z
+
b
.
w
*
c
.
w
;
return
this
},
multiplyVector3
:
function
(
b
,
c
){
c
||
(
c
=
b
);
var
d
=
b
.
x
,
f
=
b
.
y
,
i
=
b
.
z
,
h
=
this
.
x
,
j
=
this
.
y
,
k
=
this
.
z
,
p
=
this
.
w
,
n
=
p
*
d
+
j
*
i
-
k
*
f
,
t
=
p
*
f
+
k
*
d
-
h
*
i
,
q
=
p
*
i
+
h
*
f
-
j
*
d
,
d
=-
h
*
d
-
j
*
f
-
k
*
i
;
c
.
x
=
n
*
p
+
d
*-
h
+
t
*-
k
-
q
*-
j
;
c
.
y
=
t
*
p
+
d
*-
j
+
q
*-
h
-
n
*-
k
;
c
.
z
=
q
*
p
+
d
*-
k
+
n
*-
j
-
t
*-
h
;
return
c
}};
THREE
.
Quaternion
.
slerp
=
function
(
b
,
c
,
d
,
f
){
var
i
=
b
.
w
*
c
.
w
+
b
.
x
*
c
.
x
+
b
.
y
*
c
.
y
+
b
.
z
*
c
.
z
;
if
(
Math
.
abs
(
i
)
>=
1
)
return
d
.
w
=
b
.
w
,
d
.
x
=
b
.
x
,
d
.
y
=
b
.
y
,
d
.
z
=
b
.
z
,
d
;
var
h
=
Math
.
acos
(
i
),
j
=
Math
.
sqrt
(
1
-
i
*
i
);
if
(
Math
.
abs
(
j
)
<
0.001
)
return
d
.
w
=
0.5
*
(
b
.
w
+
c
.
w
),
d
.
x
=
0.5
*
(
b
.
x
+
c
.
x
),
d
.
y
=
0.5
*
(
b
.
y
+
c
.
y
),
d
.
z
=
0.5
*
(
b
.
z
+
c
.
z
),
d
;
i
=
Math
.
sin
((
1
-
f
)
*
h
)
/
j
;
f
=
Math
.
sin
(
f
*
h
)
/
j
;
d
.
w
=
b
.
w
*
i
+
c
.
w
*
f
;
d
.
x
=
b
.
x
*
i
+
c
.
x
*
f
;
d
.
y
=
b
.
y
*
i
+
c
.
y
*
f
;
d
.
z
=
b
.
z
*
i
+
c
.
z
*
f
;
return
d
};
d
-
j
*
f
-
k
*
i
;
c
.
x
=
n
*
p
+
d
*-
h
+
t
*-
k
-
q
*-
j
;
c
.
y
=
t
*
p
+
d
*-
j
+
q
*-
h
-
n
*-
k
;
c
.
z
=
q
*
p
+
d
*-
k
+
n
*-
j
-
t
*-
h
;
return
c
}};
THREE
.
Quaternion
.
slerp
=
function
(
b
,
c
,
d
,
f
){
var
i
=
b
.
w
*
c
.
w
+
b
.
x
*
c
.
x
+
b
.
y
*
c
.
y
+
b
.
z
*
c
.
z
;
if
(
Math
.
abs
(
i
)
>=
1
)
return
d
.
w
=
b
.
w
,
d
.
x
=
b
.
x
,
d
.
y
=
b
.
y
,
d
.
z
=
b
.
z
,
d
;
var
h
=
Math
.
acos
(
i
),
j
=
Math
.
sqrt
(
1
-
i
*
i
);
if
(
Math
.
abs
(
j
)
<
0.001
0
)
return
d
.
w
=
0.5
*
(
b
.
w
+
c
.
w
),
d
.
x
=
0.5
*
(
b
.
x
+
c
.
x
),
d
.
y
=
0.5
*
(
b
.
y
+
c
.
y
),
d
.
z
=
0.5
*
(
b
.
z
+
c
.
z
),
d
;
i
=
Math
.
sin
((
1
-
f
)
*
h
)
/
j
;
f
=
Math
.
sin
(
f
*
h
)
/
j
;
d
.
w
=
b
.
w
*
i
+
c
.
w
*
f
;
d
.
x
=
b
.
x
*
i
+
c
.
x
*
f
;
d
.
y
=
b
.
y
*
i
+
c
.
y
*
f
;
d
.
z
=
b
.
z
*
i
+
c
.
z
*
f
;
return
d
};
THREE
.
Vertex
=
function
(
b
){
this
.
position
=
b
||
new
THREE
.
Vector3
};
THREE
.
Face3
=
function
(
b
,
c
,
d
,
f
,
i
,
h
){
this
.
a
=
b
;
this
.
b
=
c
;
this
.
c
=
d
;
this
.
normal
=
f
instanceof
THREE
.
Vector3
?
f
:
new
THREE
.
Vector3
;
this
.
vertexNormals
=
f
instanceof
Array
?
f
:[];
this
.
color
=
i
instanceof
THREE
.
Color
?
i
:
new
THREE
.
Color
;
this
.
vertexColors
=
i
instanceof
Array
?
i
:[];
this
.
vertexTangents
=
[];
this
.
materials
=
h
instanceof
Array
?
h
:[
h
];
this
.
centroid
=
new
THREE
.
Vector3
};
THREE
.
Face4
=
function
(
b
,
c
,
d
,
f
,
i
,
h
,
j
){
this
.
a
=
b
;
this
.
b
=
c
;
this
.
c
=
d
;
this
.
d
=
f
;
this
.
normal
=
i
instanceof
THREE
.
Vector3
?
i
:
new
THREE
.
Vector3
;
this
.
vertexNormals
=
i
instanceof
Array
?
i
:[];
this
.
color
=
h
instanceof
THREE
.
Color
?
h
:
new
THREE
.
Color
;
this
.
vertexColors
=
h
instanceof
Array
?
h
:[];
this
.
vertexTangents
=
[];
this
.
materials
=
j
instanceof
Array
?
j
:[
j
];
this
.
centroid
=
new
THREE
.
Vector3
};
THREE
.
UV
=
function
(
b
,
c
){
this
.
u
=
b
||
0
;
this
.
v
=
c
||
0
};
THREE
.
UV
.
prototype
=
{
constructor
:
THREE
.
UV
,
set
:
function
(
b
,
c
){
this
.
u
=
b
;
this
.
v
=
c
;
return
this
},
copy
:
function
(
b
){
this
.
u
=
b
.
u
;
this
.
v
=
b
.
v
;
return
this
},
clone
:
function
(){
return
new
THREE
.
UV
(
this
.
u
,
this
.
v
)}};
...
...
examples/misc_camera_path.html
浏览文件 @
db78ffe0
...
...
@@ -34,7 +34,7 @@
<div
id=
"container"
></div>
<div
id=
"info"
>
<a
href=
"http://github.com/mrdoob/three.js"
target=
"_blank"
>
three.js
</a>
- path camera example
</br>
mouse look around
mouse look around
</div>
<script
src=
"../build/Three.js"
></script>
...
...
@@ -43,7 +43,7 @@
<script
src=
"js/Tween.js"
></script>
<script>
var
statsEnabled
=
true
;
var
container
,
stats
;
...
...
@@ -59,15 +59,15 @@
// scene and camera
scene
=
new
THREE
.
Scene
();
scene
.
fog
=
new
THREE
.
FogExp2
(
0xffffff
,
0.002
);
scene
.
fog
=
new
THREE
.
FogExp2
(
0xffffff
,
0.002
);
var
waypoints
=
[
[
-
500
,
0
,
0
],
[
0
,
200
,
0
],
[
500
,
0
,
0
]
];
camera
=
new
THREE
.
PathCamera
(
{
fov
:
40
,
aspect
:
window
.
innerWidth
/
window
.
innerHeight
,
near
:
1
,
far
:
1000
,
...
...
@@ -75,8 +75,8 @@
useConstantSpeed
:
true
,
resamplingCoef
:
1
,
createDebugPath
:
true
,
createDebugDummy
:
true
,
lookSpeed
:
0.0006
,
lookVertical
:
true
,
lookHorizontal
:
true
,
verticalAngleMap
:
{
srcRange
:
[
0
.00
,
6.28
],
dstRange
:
[
1.1
,
3.8
]
},
horizontalAngleMap
:
{
srcRange
:
[
0
.00
,
6.28
],
dstRange
:
[
0.3
,
Math
.
PI
-
0.3
]
}
verticalAngleMap
:
{
srcRange
:
[
0
,
2
*
Math
.
PI
],
dstRange
:
[
1.1
,
3.8
]
},
horizontalAngleMap
:
{
srcRange
:
[
0
,
2
*
Math
.
PI
],
dstRange
:
[
0.3
,
Math
.
PI
-
0.3
]
}
}
);
...
...
@@ -86,30 +86,30 @@
// world
var
cube
=
new
THREE
.
CubeGeometry
(
20
,
60
,
20
);
cube
.
vertices
[
0
].
position
.
multiplyScalar
(
0.01
);
cube
.
vertices
[
1
].
position
.
multiplyScalar
(
0.01
);
cube
.
vertices
[
4
].
position
.
multiplyScalar
(
0.01
);
cube
.
vertices
[
5
].
position
.
multiplyScalar
(
0.01
);
var
material
=
new
THREE
.
MeshLambertMaterial
(
{
color
:
0xffffff
}
);
for
(
var
i
=
0
;
i
<
500
;
i
++
)
{
var
mesh
=
new
THREE
.
Mesh
(
cube
,
material
);
mesh
.
position
.
set
((
Math
.
random
()
-
0.5
)
*
1000
,
(
Math
.
random
()
-
0.5
)
*
1000
,
(
Math
.
random
()
-
0.5
)
*
1000
);
mesh
.
updateMatrix
();
mesh
.
matrixAutoUpdate
=
false
;
scene
.
add
(
mesh
);
}
scene
.
add
(
camera
.
animationParent
);
// lights
// lights
light
=
new
THREE
.
DirectionalLight
(
0xffffff
);
light
.
position
.
set
(
1
,
1
,
1
);
...
...
@@ -143,7 +143,7 @@
}
setInterval
(
loop
,
1000
/
60
);
camera
.
animation
.
play
(
true
,
0
);
}
...
...
@@ -152,7 +152,7 @@
function
loop
()
{
THREE
.
AnimationHandler
.
update
(
1000
/
60
);
/*
cross.matrix.copy( camera.matrix );
cross.matrix.n14 = 0;
...
...
examples/misc_sound.html
浏览文件 @
db78ffe0
...
...
@@ -164,7 +164,7 @@
var
plane
=
new
THREE
.
PlaneGeometry
(
1000
,
1000
,
100
,
100
);
mesh
=
new
THREE
.
Mesh
(
plane
,
material_wireframe
);
mesh
.
position
.
y
=
0.1
;
mesh
.
rotation
.
x
=
-
1.57
;
mesh
.
rotation
.
x
=
-
Math
.
PI
/
2
;
scene
.
add
(
mesh
);
...
...
examples/webgl_animation_skinning.html
浏览文件 @
db78ffe0
...
...
@@ -97,12 +97,12 @@
floor
=
new
THREE
.
Mesh
(
planeSimple
,
matSolid
);
floor
.
position
.
y
=
-
10
;
floor
.
rotation
.
x
=
-
1.57
;
floor
.
rotation
.
x
=
-
Math
.
PI
/
2
;
floor
.
scale
.
set
(
25
,
25
,
25
);
scene
.
add
(
floor
);
floor
=
new
THREE
.
Mesh
(
planeTesselated
,
matWire
);
floor
.
rotation
.
x
=
-
1.57
;
floor
.
rotation
.
x
=
-
Math
.
PI
/
2
;
floor
.
scale
.
set
(
25
,
25
,
25
);
scene
.
add
(
floor
);
...
...
examples/webgl_custom_attributes_particles3.html
浏览文件 @
db78ffe0
...
...
@@ -176,10 +176,10 @@
// side 2
addGeo
(
geometry2
,
110
,
110
,
0
,
1.57
);
addGeo
(
geometry2
,
110
,
-
110
,
0
,
1.57
);
addGeo
(
geometry2
,
-
110
,
110
,
0
,
1.57
);
addGeo
(
geometry2
,
-
110
,
-
110
,
0
,
1.57
);
addGeo
(
geometry2
,
110
,
110
,
0
,
Math
.
PI
/
2
);
addGeo
(
geometry2
,
110
,
-
110
,
0
,
Math
.
PI
/
2
);
addGeo
(
geometry2
,
-
110
,
110
,
0
,
Math
.
PI
/
2
);
addGeo
(
geometry2
,
-
110
,
-
110
,
0
,
Math
.
PI
/
2
);
// corner edges
...
...
examples/webgl_geometry_minecraft_ao.html
浏览文件 @
db78ffe0
...
...
@@ -722,28 +722,28 @@
if
(
topleft
)
{
if
(
debug_corner_colors
)
color
=
"
rgba(200, 0, 0,
"
;
drawCorner
(
ctx
,
sx
,
sy
,
0
,
1.57
,
color
,
step
,
half
);
drawCorner
(
ctx
,
sx
,
sy
,
0
,
Math
.
PI
/
2
,
color
,
step
,
half
);
}
if
(
bottomleft
)
{
if
(
debug_corner_colors
)
color
=
"
rgba(0, 200, 0,
"
;
drawCorner
(
ctx
,
sx
,
sy
+
full
,
4.71
,
6.28
,
color
,
step
,
half
);
drawCorner
(
ctx
,
sx
,
sy
+
full
,
1.5
*
Math
.
PI
,
2
*
Math
.
PI
,
color
,
step
,
half
);
}
if
(
bottomright
)
{
if
(
debug_corner_colors
)
color
=
"
rgba(0, 0, 200,
"
;
drawCorner
(
ctx
,
sx
+
full
,
sy
+
full
,
3.14
,
4.71
,
color
,
step
,
half
);
drawCorner
(
ctx
,
sx
+
full
,
sy
+
full
,
Math
.
PI
,
1.5
*
Math
.
PI
,
color
,
step
,
half
);
}
if
(
topright
)
{
if
(
debug_corner_colors
)
color
=
"
rgba(200, 0, 200,
"
;
drawCorner
(
ctx
,
sx
+
full
,
sy
,
1.57
,
3.14
,
color
,
step
,
half
);
drawCorner
(
ctx
,
sx
+
full
,
sy
,
Math
.
PI
/
2
,
Math
.
PI
,
color
,
step
,
half
);
}
...
...
examples/webgl_geometry_shapes.html
浏览文件 @
db78ffe0
...
...
@@ -362,12 +362,12 @@
addGeometry
(
triangle3d
,
trianglePoints
,
triangleSpacedPoints
,
0xffee00
,
-
180
,
0
,
0
,
0
,
0
,
0
,
1
);
addGeometry
(
roundedRect3d
,
roundedRectPoints
,
roundedRectSpacedPoints
,
0x005500
,
-
150
,
150
,
0
,
0
,
0
,
0
,
1
);
addGeometry
(
square3d
,
squarePoints
,
squareSpacedPoints
,
0x0055ff
,
150
,
100
,
0
,
0
,
0
,
0
,
1
);
addGeometry
(
heart3d
,
heartPoints
,
heartSpacedPoints
,
0xff1100
,
0
,
100
,
0
,
3.14
,
0
,
0
,
1
);
addGeometry
(
heart3d
,
heartPoints
,
heartSpacedPoints
,
0xff1100
,
0
,
100
,
0
,
Math
.
PI
,
0
,
0
,
1
);
addGeometry
(
circle3d
,
circlePoints
,
circleSpacedPoints
,
0x00ff11
,
120
,
250
,
0
,
0
,
0
,
0
,
1
);
addGeometry
(
fish3d
,
fishPoints
,
fishSpacedPoints
,
0x222222
,
-
60
,
200
,
0
,
0
,
0
,
0
,
1
);
addGeometry
(
splineShape3d
,
splinePoints
,
splineSpacedPoints
,
0x888888
,
-
50
,
-
100
,
-
50
,
0
,
0
,
0
,
0.2
);
addGeometry
(
arc3d
,
arcPoints
,
arcSpacedPoints
,
0xbb4422
,
150
,
0
,
0
,
0
,
0
,
0
,
1
);
addGeometry
(
smiley3d
,
smileyPoints
,
smileySpacedPoints
,
0xee00ff
,
-
270
,
250
,
0
,
Math
.
PI
,
0
,
0
,
1
);
addGeometry
(
smiley3d
,
smileyPoints
,
smileySpacedPoints
,
0xee00ff
,
-
270
,
250
,
0
,
Math
.
PI
,
0
,
0
,
1
);
//
...
...
examples/webgl_geometry_text.html
浏览文件 @
db78ffe0
...
...
@@ -233,7 +233,7 @@
createText
();
var
plane
=
new
THREE
.
Mesh
(
new
THREE
.
PlaneGeometry
(
10000
,
10000
),
new
THREE
.
MeshBasicMaterial
(
{
color
:
0xffffff
,
opacity
:
0.5
,
transparent
:
true
}
)
);
plane
.
rotation
.
x
=
-
1.57
;
plane
.
rotation
.
x
=
-
Math
.
PI
/
2
;
plane
.
position
.
y
=
100
;
scene
.
add
(
plane
);
...
...
examples/webgl_materials_cars.html
浏览文件 @
db78ffe0
...
...
@@ -76,7 +76,7 @@
name
:
"
Bugatti Veyron
"
,
url
:
"
obj/veyron/VeyronNoUv_bin.js
"
,
author
:
'
<a href="http://artist-3d.com/free_3d_models/dnm/model_disp.php?uid=1129" target="_blank">Troyano</a>
'
,
init_rotation
:
[
0
,
0
,
0
/*0.3, 1.57, 0.0*/
],
init_rotation
:
[
0
,
0
,
0
],
scale
:
5.5
,
init_material
:
4
,
body_materials
:
[
2
],
...
...
@@ -92,7 +92,7 @@
name
:
"
Lamborghini Gallardo
"
,
url
:
"
obj/gallardo/GallardoNoUv_bin.js
"
,
author
:
'
<a href="http://artist-3d.com/free_3d_models/dnm/model_disp.php?uid=1711" target="_blank">machman_3d</a>
'
,
init_rotation
:
[
0
,
0
,
0
/*0.2, 1.77, 0.0*/
],
init_rotation
:
[
0
,
0
,
0
],
scale
:
3.7
,
init_material
:
9
,
body_materials
:
[
3
],
...
...
@@ -108,7 +108,7 @@
name
:
"
Ferrari F50
"
,
url
:
"
obj/f50/F50NoUv_bin.js
"
,
author
:
'
<a href="http://artist-3d.com/free_3d_models/dnm/model_disp.php?uid=1687" target="_blank">daniel sathya</a>
'
,
init_rotation
:
[
0
,
0
,
0
/*0.2, 1.37, 0.0*/
],
init_rotation
:
[
0
,
0
,
0
],
scale
:
0.175
,
init_material
:
2
,
body_materials
:
[
3
,
6
,
7
,
8
,
9
,
10
,
23
,
24
],
...
...
examples/webgl_materials_cars_anaglyph.html
浏览文件 @
db78ffe0
...
...
@@ -76,7 +76,7 @@
name
:
"
Bugatti Veyron
"
,
url
:
"
obj/veyron/VeyronNoUv_bin.js
"
,
author
:
'
<a href="http://artist-3d.com/free_3d_models/dnm/model_disp.php?uid=1129" target="_blank">Troyano</a>
'
,
init_rotation
:
[
0
,
0
,
0
/*0.3, 1.57, 0.0*/
],
init_rotation
:
[
0
,
0
,
0
],
scale
:
5.5
,
init_material
:
4
,
body_materials
:
[
2
],
...
...
@@ -92,7 +92,7 @@
name
:
"
Lamborghini Gallardo
"
,
url
:
"
obj/gallardo/GallardoNoUv_bin.js
"
,
author
:
'
<a href="http://artist-3d.com/free_3d_models/dnm/model_disp.php?uid=1711" target="_blank">machman_3d</a>
'
,
init_rotation
:
[
0
,
0
,
0
/*0.2, 1.77, 0.0*/
],
init_rotation
:
[
0
,
0
,
0
],
scale
:
3.7
,
init_material
:
9
,
body_materials
:
[
3
],
...
...
@@ -108,7 +108,7 @@
name
:
"
Ferrari F50
"
,
url
:
"
obj/f50/F50NoUv_bin.js
"
,
author
:
'
<a href="http://artist-3d.com/free_3d_models/dnm/model_disp.php?uid=1687" target="_blank">daniel sathya</a>
'
,
init_rotation
:
[
0
,
0
,
0
/*0.2, 1.37, 0.0*/
],
init_rotation
:
[
0
,
0
,
0
],
scale
:
0.175
,
init_material
:
2
,
body_materials
:
[
3
,
6
,
7
,
8
,
9
,
10
,
23
,
24
],
...
...
@@ -124,7 +124,7 @@
name
:
"
Chevrolet Camaro
"
,
url
:
"
obj/camaro/CamaroNoUv_bin.js
"
,
author
:
'
<a href="http://www.turbosquid.com/3d-models/blender-camaro/411348" target="_blank">dskfnwn</a>
'
,
init_rotation
:
[
0.0
,
0.0
,
0.0
/*0, 1, 0*/
],
init_rotation
:
[
0.0
,
0.0
,
0.0
],
scale
:
75
,
init_material
:
0
,
body_materials
:
[
0
],
...
...
examples/webgl_objconvert_test.html
浏览文件 @
db78ffe0
...
...
@@ -108,14 +108,11 @@
geometry
=
new
THREE
.
PlaneGeometry
(
100
,
100
,
15
,
10
);
mesh
=
new
THREE
.
Mesh
(
geometry
,
xm
);
mesh
.
position
.
x
=
0
;
mesh
.
position
.
y
=
FLOOR
;
mesh
.
position
.
z
=
0
;
mesh
.
rotation
.
x
=
1.57
;
mesh
.
scale
.
x
=
mesh
.
scale
.
y
=
mesh
.
scale
.
z
=
10
;
mesh
.
position
.
set
(
0
,
FLOOR
,
0
);
mesh
.
rotation
.
x
=
Math
.
PI
/
2
;
mesh
.
scale
.
set
(
10
,
10
,
10
);
mesh
.
doubleSided
=
true
;
mesh
.
updateMatrix
();
scene
.
add
(
mesh
);
scene
.
add
(
mesh
);
// SPHERES
...
...
@@ -125,13 +122,12 @@
for
(
var
i
=
0
;
i
<
10
;
i
++
)
{
mesh
=
new
THREE
.
Mesh
(
sphere
,
material_spheres
);
mesh
.
position
.
x
=
500
*
(
Math
.
random
()
-
0.5
);
mesh
.
position
.
y
=
300
*
(
Math
.
random
()
-
0
)
+
FLOOR
;
mesh
.
position
.
z
=
100
*
(
Math
.
random
()
-
1
);
mesh
.
scale
.
x
=
mesh
.
scale
.
y
=
mesh
.
scale
.
z
=
0.25
*
(
Math
.
random
()
+
0.5
);
mesh
.
position
.
x
=
500
*
(
Math
.
random
()
-
0.5
);
mesh
.
position
.
y
=
300
*
(
Math
.
random
()
-
0
)
+
FLOOR
;
mesh
.
position
.
z
=
100
*
(
Math
.
random
()
-
1
);
mesh
.
scale
.
x
=
mesh
.
scale
.
y
=
mesh
.
scale
.
z
=
0.25
*
(
Math
.
random
()
+
0.5
);
mesh
.
overdraw
=
true
;
mesh
.
updateMatrix
();
scene
.
add
(
mesh
);
scene
.
add
(
mesh
);
}
...
...
@@ -142,13 +138,13 @@
scene
.
add
(
ambient
);
var
directionalLight
=
new
THREE
.
DirectionalLight
(
0xffeedd
);
directionalLight
.
position
.
y
=
-
70
;
directionalLight
.
position
.
z
=
100
;
directionalLight
.
position
.
set
(
0
,
-
70
,
100
);
directionalLight
.
position
.
normalize
();
scene
.
add
(
directionalLight
);
if
(
render_gl
)
{
try
{
webglRenderer
=
new
THREE
.
WebGLRenderer
();
webglRenderer
.
setSize
(
SCREEN_WIDTH
,
SCREEN_HEIGHT
);
...
...
@@ -158,12 +154,15 @@
}
catch
(
e
)
{
}
}
if
(
render_canvas
)
{
canvasRenderer
=
new
THREE
.
CanvasRenderer
();
canvasRenderer
.
setSize
(
SCREEN_WIDTH
,
SCREEN_HEIGHT
);
container
.
appendChild
(
canvasRenderer
.
domElement
);
}
stats
=
new
Stats
();
...
...
@@ -177,8 +176,8 @@
//var loader = new THREE.BinaryLoader(),
var
loader
=
new
THREE
.
JSONLoader
(),
callbackMale
=
function
(
geometry
)
{
createScene
(
geometry
,
90
,
50
,
FLOOR
,
105
)
},
callbackFemale
=
function
(
geometry
)
{
createScene
(
geometry
,
-
80
,
50
,
FLOOR
,
0
)
};
callbackMale
=
function
(
geometry
)
{
createScene
(
geometry
,
90
,
FLOOR
,
50
,
105
)
},
callbackFemale
=
function
(
geometry
)
{
createScene
(
geometry
,
-
80
,
FLOOR
,
50
,
0
)
};
loader
.
load
(
{
model
:
"
obj/male02/Male02_slim.js
"
,
callback
:
callbackMale
}
);
loader
.
load
(
{
model
:
"
obj/female02/Female02_slim.js
"
,
callback
:
callbackFemale
}
);
...
...
@@ -191,13 +190,10 @@
function
createScene
(
geometry
,
x
,
y
,
z
,
b
)
{
zmesh
=
new
THREE
.
Mesh
(
geometry
,
new
THREE
.
MeshFaceMaterial
()
);
zmesh
.
position
.
x
=
x
;
zmesh
.
position
.
z
=
y
;
zmesh
.
position
.
y
=
z
;
zmesh
.
scale
.
x
=
zmesh
.
scale
.
y
=
zmesh
.
scale
.
z
=
3
;
zmesh
.
position
.
set
(
x
,
y
,
z
);
zmesh
.
scale
.
set
(
3
,
3
,
3
);
zmesh
.
overdraw
=
true
;
zmesh
.
updateMatrix
();
scene
.
add
(
zmesh
);
scene
.
add
(
zmesh
);
createMaterialsPalette
(
geometry
.
materials
,
100
,
b
);
...
...
@@ -213,33 +209,29 @@
mesh
.
position
.
x
=
i
*
(
size
+
5
)
-
(
(
materials
.
length
-
1
)
*
(
size
+
5
)
/
2
);
mesh
.
position
.
y
=
FLOOR
+
size
/
2
+
bottom
;
mesh
.
position
.
z
=
-
100
;
mesh
.
scale
.
x
=
mesh
.
scale
.
y
=
mesh
.
scale
.
z
=
1
;
mesh
.
doubleSided
=
true
;
mesh
.
updateMatrix
();
scene
.
add
(
mesh
);
scene
.
add
(
mesh
);
// number
var
x
=
document
.
createElement
(
"
canvas
"
);
var
xc
=
x
.
getContext
(
"
2d
"
);
var
xc
=
x
.
getContext
(
"
2d
"
);
x
.
width
=
x
.
height
=
128
;
xc
.
shadowColor
=
"
#000
"
;
xc
.
shadowBlur
=
7
;
xc
.
fillStyle
=
"
orange
"
;
xc
.
font
=
"
50pt arial bold
"
;
xc
.
fillText
(
i
,
10
,
64
);
xc
.
fillText
(
i
,
10
,
64
);
var
xm
=
new
THREE
.
MeshBasicMaterial
(
{
map
:
new
THREE
.
Texture
(
x
),
transparent
:
true
}
);
xm
.
map
.
needsUpdate
=
true
;
mesh
=
new
THREE
.
Mesh
(
new
THREE
.
PlaneGeometry
(
size
,
size
),
xm
);
mesh
.
position
.
x
=
i
*
(
size
+
5
)
-
(
(
materials
.
length
-
1
)
*
(
size
+
5
)
/
2
);
mesh
.
position
.
x
=
i
*
(
size
+
5
)
-
(
(
materials
.
length
-
1
)
*
(
size
+
5
)
/
2
);
mesh
.
position
.
y
=
FLOOR
+
size
/
2
+
bottom
;
mesh
.
position
.
z
=
-
99
;
mesh
.
scale
.
x
=
mesh
.
scale
.
y
=
mesh
.
scale
.
z
=
1
;
mesh
.
doubleSided
=
true
;
mesh
.
updateMatrix
();
scene
.
add
(
mesh
);
scene
.
add
(
mesh
);
}
...
...
@@ -267,7 +259,6 @@
camera
.
position
.
x
+=
(
mouseX
-
camera
.
position
.
x
)
*
.
05
;
camera
.
position
.
y
+=
(
-
mouseY
-
camera
.
position
.
y
)
*
.
05
;
camera
.
updateMatrix
();
if
(
render_gl
&&
has_gl
)
webglRenderer
.
render
(
scene
,
camera
);
if
(
render_canvas
)
canvasRenderer
.
render
(
scene
,
camera
);
...
...
examples/webgl_particles_dynamic.html
浏览文件 @
db78ffe0
...
...
@@ -159,7 +159,7 @@
scene
.
add
(
parent
);
var
grid
=
new
THREE
.
ParticleSystem
(
new
THREE
.
PlaneGeometry
(
15000
,
15000
,
64
,
64
),
new
THREE
.
ParticleBasicMaterial
(
{
color
:
0xff0000
,
size
:
10
}
)
);
grid
.
rotation
.
x
=
1.57
;
grid
.
rotation
.
x
=
Math
.
PI
/
2
;
grid
.
position
.
y
=
-
400
;
parent
.
add
(
grid
);
...
...
examples/webgl_ribbons.html
浏览文件 @
db78ffe0
...
...
@@ -118,7 +118,7 @@
}
var
tmpRot
=
new
THREE
.
Matrix4
();
tmpRot
.
setRotationAxis
(
new
THREE
.
Vector3
(
1
,
0
,
0
),
1.57
);
tmpRot
.
setRotationAxis
(
new
THREE
.
Vector3
(
1
,
0
,
0
),
Math
.
PI
/
2
);
xgrid
=
34
;
ygrid
=
15
;
...
...
@@ -132,8 +132,8 @@
ribbon
=
new
THREE
.
Ribbon
(
i
%
2
?
geometry
:
geometry2
,
materials
[
c
]
);
ribbon
.
rotation
.
x
=
0
;
ribbon
.
rotation
.
y
=
1.57
;
ribbon
.
rotation
.
z
=
3.14
;
ribbon
.
rotation
.
y
=
Math
.
PI
/
2
;
ribbon
.
rotation
.
z
=
Math
.
PI
;
x
=
40
*
(
i
-
xgrid
/
2
);
y
=
40
*
(
j
-
ygrid
/
2
);
...
...
examples/webgl_rtt.html
浏览文件 @
db78ffe0
...
...
@@ -163,7 +163,7 @@
var
n
=
5
,
geometry
=
new
THREE
.
SphereGeometry
(
10
,
64
,
32
),
material2
=
new
THREE
.
MeshLambertMaterial
(
{
color
:
0xffffff
,
map
:
rtTexture
}
);
material2
=
new
THREE
.
MeshLambertMaterial
(
{
color
:
0xffffff
,
map
:
rtTexture
}
);
for
(
var
j
=
0
;
j
<
n
;
j
++
)
{
...
...
@@ -175,11 +175,12 @@
mesh
.
position
.
y
=
(
j
-
(
n
-
1
)
/
2
)
*
20
;
mesh
.
position
.
z
=
0
;
mesh
.
rotation
.
y
=
1.57
;
mesh
.
rotation
.
y
=
Math
.
PI
/
2
;
scene
.
add
(
mesh
);
}
}
renderer
=
new
THREE
.
WebGLRenderer
();
...
...
examples/webgl_shadowmap.html
浏览文件 @
db78ffe0
...
...
@@ -167,7 +167,7 @@
var
ground
=
new
THREE
.
Mesh
(
geometry
,
planeMaterial
);
ground
.
position
.
set
(
0
,
FLOOR
,
0
);
ground
.
rotation
.
x
=
-
1.57
;
ground
.
rotation
.
x
=
-
Math
.
PI
/
2
;
ground
.
scale
.
set
(
100
,
100
,
100
);
ground
.
castShadow
=
false
;
...
...
@@ -240,7 +240,7 @@
var
meshAnim
=
new
THREE
.
Mesh
(
geometry
,
material
);
meshAnim
.
position
.
set
(
x
,
y
,
z
);
meshAnim
.
rotation
.
y
=
1.57
;
meshAnim
.
rotation
.
y
=
Math
.
PI
/
2
;
meshAnim
.
castShadow
=
true
;
meshAnim
.
receiveShadow
=
false
;
...
...
src/extras/cameras/PathCamera.js
浏览文件 @
db78ffe0
...
...
@@ -47,8 +47,8 @@ THREE.PathCamera = function ( parameters ) {
this
.
lookSpeed
=
0.005
;
this
.
lookVertical
=
true
;
this
.
lookHorizontal
=
true
;
this
.
verticalAngleMap
=
{
srcRange
:
[
0
,
6.28
],
dstRange
:
[
0
,
6.28
]
};
this
.
horizontalAngleMap
=
{
srcRange
:
[
0
,
6.28
],
dstRange
:
[
0
,
6.28
]
};
this
.
verticalAngleMap
=
{
srcRange
:
[
0
,
2
*
Math
.
PI
],
dstRange
:
[
0
,
2
*
Math
.
PI
]
};
this
.
horizontalAngleMap
=
{
srcRange
:
[
0
,
2
*
Math
.
PI
],
dstRange
:
[
0
,
2
*
Math
.
PI
]
};
this
.
domElement
=
document
;
...
...
@@ -117,24 +117,24 @@ THREE.PathCamera = function ( parameters ) {
dstRange
=
this
.
verticalAngleMap
.
dstRange
;
//this.phi = map_linear( this.phi, srcRange[ 0 ], srcRange[ 1 ], dstRange[ 0 ], dstRange[ 1 ] );
var
tmpPhi
=
map_linear
(
this
.
phi
,
srcRange
[
0
],
srcRange
[
1
],
dstRange
[
0
],
dstRange
[
1
]
);
var
tmpPhiFullRange
=
dstRange
[
1
]
-
dstRange
[
0
];
var
tmpPhiNormalized
=
(
tmpPhi
-
dstRange
[
0
]
)
/
tmpPhiFullRange
;
this
.
phi
=
TWEEN
.
Easing
.
Quadratic
.
EaseInOut
(
tmpPhiNormalized
)
*
tmpPhiFullRange
+
dstRange
[
0
];
// constrain horizontal look angle
srcRange
=
this
.
horizontalAngleMap
.
srcRange
;
dstRange
=
this
.
horizontalAngleMap
.
dstRange
;
//this.theta = map_linear( this.theta, srcRange[ 0 ], srcRange[ 1 ], dstRange[ 0 ], dstRange[ 1 ] );
var
tmpTheta
=
map_linear
(
this
.
theta
,
srcRange
[
0
],
srcRange
[
1
],
dstRange
[
0
],
dstRange
[
1
]
);
var
tmpThetaFullRange
=
dstRange
[
1
]
-
dstRange
[
0
];
var
tmpThetaNormalized
=
(
tmpTheta
-
dstRange
[
0
]
)
/
tmpThetaFullRange
;
this
.
theta
=
TWEEN
.
Easing
.
Quadratic
.
EaseInOut
(
tmpThetaNormalized
)
*
tmpThetaFullRange
+
dstRange
[
0
];
var
targetPosition
=
this
.
target
.
position
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录