Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
802b5376
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,发现更多精彩内容 >>
提交
802b5376
编写于
7月 13, 2011
作者:
Z
zz85
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added ExtrudeGeometry Steps and Extrusion by Path. Updated example with Spline Shapes.
上级
6e90ed8c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
364 addition
and
322 deletion
+364
-322
build/Three.js
build/Three.js
+320
-317
examples/canvas_geometry_shape.html
examples/canvas_geometry_shape.html
+25
-1
src/extras/geometries/ExtrudeGeometry.js
src/extras/geometries/ExtrudeGeometry.js
+19
-4
未找到文件。
build/Three.js
浏览文件 @
802b5376
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
examples/canvas_geometry_shape.html
浏览文件 @
802b5376
...
...
@@ -210,6 +210,30 @@
fishShape
.
quadraticCurveTo
(
x
+
50
,
y
-
80
,
x
,
y
);
var
fish3d
=
fishShape
.
extrude
(
extrudeSettings
);
// Spline Shape + Path Extrusion
var
splinepts
=
[];
splinepts
.
push
(
new
THREE
.
Vector2
(
350
,
100
)
);
splinepts
.
push
(
new
THREE
.
Vector2
(
400
,
450
)
);
splinepts
.
push
(
new
THREE
.
Vector2
(
-
140
,
350
)
);
splinepts
.
push
(
new
THREE
.
Vector2
(
0
,
0
)
);
var
splineShape
=
new
THREE
.
Shape
(
);
splineShape
.
moveTo
(
0
,
0
);
splineShape
.
splineThru
(
splinepts
);
//splineShape.debug( document.getElementById("debug") );
var
extrudePath
=
new
THREE
.
Path
();
extrudePath
.
lineTo
(
10
,
10
);
extrudePath
.
quadraticCurveTo
(
80
,
60
,
160
,
10
);
extrudePath
.
quadraticCurveTo
(
240
,
-
40
,
320
,
10
);
extrudeSettings
.
path
=
extrudePath
;
var
splineShape3d
=
splineShape
.
extrude
(
extrudeSettings
);
addGeometry
(
california3d
,
0xffaa00
,
-
300
,
-
100
,
0
,
0
,
0
,
0
,
0.25
);
addGeometry
(
triangle3d
,
0xffee00
,
-
180
,
0
,
0
,
0
,
0
,
0
,
1
);
...
...
@@ -218,7 +242,7 @@
addGeometry
(
heart3d
,
0xff1100
,
0
,
100
,
0
,
3.14
,
0
,
0
,
1
);
addGeometry
(
circle3d
,
0x00ff11
,
150
,
0
,
0
,
0
,
0
,
0
,
1
);
addGeometry
(
fish3d
,
0x222222
,
-
50
,
200
,
0
,
0
,
0
,
0
,
1
);
addGeometry
(
splineShape3d
,
0x888888
,
-
50
,
-
100
,
-
50
,
0
,
0
,
0
,
0.2
);
renderer
=
new
THREE
.
CanvasRenderer
();
renderer
.
setSize
(
window
.
innerWidth
,
window
.
innerHeight
);
...
...
src/extras/geometries/ExtrudeGeometry.js
浏览文件 @
802b5376
...
...
@@ -13,7 +13,16 @@ THREE.ExtrudeGeometry = function( shape, options ) {
var
bezelSize
=
options
.
bezelSize
!==
undefined
?
options
.
bezelSize
:
8
;
var
bezelEnabled
=
options
.
bezelEnabled
!==
undefined
?
options
.
bezelEnabled
:
false
;
var
steps
=
options
.
steps
!==
undefined
?
options
.
steps
:
3
;
var
extrudePath
=
options
.
path
!==
undefined
?
options
.
path
:
null
;
var
extrudeByPath
=
false
,
extrudePts
;
if
(
extrudePath
)
{
extrudePts
=
extrudePath
.
getPoints
();
steps
=
extrudePts
.
length
;
extrudeByPath
=
true
;
}
// TODO, extrude by path's tangents? also via 3d path?
THREE
.
Geometry
.
call
(
this
);
var
vertices
=
shape
.
getPoints
();
...
...
@@ -25,7 +34,9 @@ THREE.ExtrudeGeometry = function( shape, options ) {
var
bezelPoints
=
[];
var
reverse
=
THREE
.
FontUtils
.
Triangulate
.
area
(
vertices
)
>
0
;
console
.
log
(
reverse
);
//console.log(reverse);
var
i
,
vert
,
vlen
=
vertices
.
length
,
face
,
flen
=
faces
.
length
,
...
...
@@ -44,11 +55,15 @@ THREE.ExtrudeGeometry = function( shape, options ) {
// Including Front facing vertices
var
s
=
1
;
for
(
;
s
<=
steps
;
s
++
)
{
console
.
log
(
s
);
for
(
i
=
0
;
i
<
vlen
;
i
++
)
{
vert
=
vertices
[
i
];
v
(
vert
.
x
,
vert
.
y
,
amount
/
steps
*
s
);
if
(
!
extrudeByPath
)
{
v
(
vert
.
x
,
vert
.
y
,
amount
/
steps
*
s
);
}
else
{
v
(
vert
.
x
,
vert
.
y
+
extrudePts
[
s
-
1
].
y
,
extrudePts
[
s
-
1
].
x
);
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录