Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
谢斯
Model_Library_Front_End
提交
209538b1
M
Model_Library_Front_End
项目概览
谢斯
/
Model_Library_Front_End
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
Model_Library_Front_End
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
209538b1
编写于
6月 06, 2021
作者:
X
xiesi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改延时问题
Signed-off-by:
N
xiesi
<
305492881@qq.com
>
上级
cc8c3e95
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
92 addition
and
94 deletion
+92
-94
src/components/LoadFBX.vue
src/components/LoadFBX.vue
+92
-94
未找到文件。
src/components/LoadFBX.vue
浏览文件 @
209538b1
...
...
@@ -16,113 +16,111 @@ export default {
return
{};
},
mounted
()
{
setTimeout
(()
=>
{
console
.
log
(
"
mounted
"
+
document
.
getElementById
(
"
fbxdiv
"
)
+
this
.
fbxfilepath
console
.
log
(
`mounted
${
document
.
getElementById
(
"
fbxdiv
"
)}${
this
.
fbxfilepath
}
`
);
const
container
=
document
.
getElementById
(
"
fbxdiv
"
);
let
camera
,
scene
,
renderer
;
const
clock
=
new
THREE
.
Clock
();
let
mixer
;
const
mw
=
document
.
documentElement
.
clientWidth
*
0.7
;
const
mh
=
document
.
documentElement
.
clientHeight
;
console
.
log
(
mw
+
"
,
"
+
mh
);
const
init
=
()
=>
{
camera
=
new
THREE
.
PerspectiveCamera
(
45
,
mw
/
mh
,
1
,
2000
);
camera
.
position
.
set
(
100
,
200
,
300
);
scene
=
new
THREE
.
Scene
();
scene
.
background
=
new
THREE
.
Color
(
0xa0a0a0
);
const
hemiLight
=
new
THREE
.
HemisphereLight
(
0xffffff
,
0x444444
);
hemiLight
.
position
.
set
(
0
,
200
,
0
);
scene
.
add
(
hemiLight
);
const
dirLight
=
new
THREE
.
DirectionalLight
(
0xffffff
);
dirLight
.
position
.
set
(
0
,
200
,
100
);
dirLight
.
castShadow
=
true
;
dirLight
.
shadow
.
camera
.
top
=
180
;
dirLight
.
shadow
.
camera
.
bottom
=
-
100
;
dirLight
.
shadow
.
camera
.
left
=
-
120
;
dirLight
.
shadow
.
camera
.
right
=
120
;
scene
.
add
(
dirLight
);
// ground
const
mesh
=
new
THREE
.
Mesh
(
new
THREE
.
PlaneGeometry
(
2000
,
2000
),
new
THREE
.
MeshPhongMaterial
({
color
:
0x999999
,
depthWrite
:
false
})
);
mesh
.
rotation
.
x
=
-
Math
.
PI
/
2
;
mesh
.
receiveShadow
=
true
;
scene
.
add
(
mesh
);
const
grid
=
new
THREE
.
GridHelper
(
2000
,
20
,
0x000000
,
0x000000
);
grid
.
material
.
opacity
=
0.2
;
grid
.
material
.
transparent
=
true
;
scene
.
add
(
grid
);
// model
const
loader
=
new
FBXLoader
();
loader
.
load
(
"
http://localhost/myfbx.php?filepath=
"
+
this
.
fbxfilepath
,
function
(
object
)
{
mixer
=
new
THREE
.
AnimationMixer
(
object
);
if
(
object
.
animations
[
0
]
!=
null
)
{
const
action
=
mixer
.
clipAction
(
object
.
animations
[
0
]);
action
.
play
();
}
const
container
=
document
.
getElementById
(
"
fbxdiv
"
);
let
camera
,
scene
,
renderer
;
const
clock
=
new
THREE
.
Clock
();
let
mixer
;
const
mw
=
document
.
documentElement
.
clientWidth
*
0.7
;
const
mh
=
document
.
documentElement
.
clientHeight
;
console
.
log
(
mw
+
"
,
"
+
mh
);
const
init
=
()
=>
{
camera
=
new
THREE
.
PerspectiveCamera
(
45
,
mw
/
mh
,
1
,
2000
);
camera
.
position
.
set
(
100
,
200
,
300
);
scene
=
new
THREE
.
Scene
();
scene
.
background
=
new
THREE
.
Color
(
0xa0a0a0
);
const
hemiLight
=
new
THREE
.
HemisphereLight
(
0xffffff
,
0x444444
);
hemiLight
.
position
.
set
(
0
,
200
,
0
);
scene
.
add
(
hemiLight
);
const
dirLight
=
new
THREE
.
DirectionalLight
(
0xffffff
);
dirLight
.
position
.
set
(
0
,
200
,
100
);
dirLight
.
castShadow
=
true
;
dirLight
.
shadow
.
camera
.
top
=
180
;
dirLight
.
shadow
.
camera
.
bottom
=
-
100
;
dirLight
.
shadow
.
camera
.
left
=
-
120
;
dirLight
.
shadow
.
camera
.
right
=
120
;
scene
.
add
(
dirLight
);
// ground
const
mesh
=
new
THREE
.
Mesh
(
new
THREE
.
PlaneGeometry
(
2000
,
2000
),
new
THREE
.
MeshPhongMaterial
({
color
:
0x999999
,
depthWrite
:
false
})
);
mesh
.
rotation
.
x
=
-
Math
.
PI
/
2
;
mesh
.
receiveShadow
=
true
;
scene
.
add
(
mesh
);
const
grid
=
new
THREE
.
GridHelper
(
2000
,
20
,
0x000000
,
0x000000
);
grid
.
material
.
opacity
=
0.2
;
grid
.
material
.
transparent
=
true
;
scene
.
add
(
grid
);
// model
const
loader
=
new
FBXLoader
();
loader
.
load
(
"
http://localhost/myfbx.php?filepath=
"
+
this
.
fbxfilepath
,
function
(
object
)
{
mixer
=
new
THREE
.
AnimationMixer
(
object
);
if
(
object
.
animations
[
0
]
!=
null
)
{
const
action
=
mixer
.
clipAction
(
object
.
animations
[
0
]);
action
.
play
();
object
.
traverse
(
function
(
child
)
{
if
(
child
.
isMesh
)
{
child
.
castShadow
=
true
;
child
.
receiveShadow
=
true
;
}
});
object
.
traverse
(
function
(
child
)
{
if
(
child
.
isMesh
)
{
child
.
castShadow
=
true
;
child
.
receiveShadow
=
true
;
}
});
scene
.
add
(
object
);
}
);
scene
.
add
(
object
);
}
);
renderer
=
new
THREE
.
WebGLRenderer
({
antialias
:
true
});
renderer
.
setPixelRatio
(
window
.
devicePixelRatio
);
renderer
.
setSize
(
mw
,
mh
);
renderer
=
new
THREE
.
WebGLRenderer
({
antialias
:
true
});
renderer
.
setPixelRatio
(
window
.
devicePixelRatio
);
renderer
.
setSize
(
mw
,
mh
);
renderer
.
shadowMap
.
enabled
=
true
;
container
.
appendChild
(
renderer
.
domElement
);
renderer
.
shadowMap
.
enabled
=
true
;
container
.
appendChild
(
renderer
.
domElement
);
const
controls
=
new
OrbitControls
(
camera
,
renderer
.
domElement
);
controls
.
target
.
set
(
0
,
100
,
0
);
controls
.
update
();
const
controls
=
new
OrbitControls
(
camera
,
renderer
.
domElement
);
controls
.
target
.
set
(
0
,
100
,
0
);
controls
.
update
();
window
.
addEventListener
(
"
resize
"
,
onWindowResize
);
window
.
addEventListener
(
"
resize
"
,
onWindowResize
);
// stats
//stats = new Stats();
//container.appendChild(stats.dom);
};
// stats
//stats = new Stats();
//container.appendChild(stats.dom);
};
const
onWindowResize
=
()
=>
{
camera
.
aspect
=
container
.
clientWidth
/
container
.
clientHeight
;
camera
.
updateProjectionMatrix
();
const
onWindowResize
=
()
=>
{
camera
.
aspect
=
container
.
clientWidth
/
container
.
clientHeight
;
camera
.
updateProjectionMatrix
();
renderer
.
setSize
(
container
.
clientWidth
,
container
.
clientHeight
);
};
renderer
.
setSize
(
container
.
clientWidth
,
container
.
clientHeight
);
};
const
animate
=
()
=>
{
requestAnimationFrame
(
animate
);
const
delta
=
clock
.
getDelta
();
if
(
mixer
)
mixer
.
update
(
delta
);
renderer
.
render
(
scene
,
camera
);
//stats.update();
};
const
animate
=
()
=>
{
requestAnimationFrame
(
animate
);
const
delta
=
clock
.
getDelta
();
if
(
mixer
)
mixer
.
update
(
delta
);
renderer
.
render
(
scene
,
camera
);
//stats.update();
};
init
();
animate
();
},
1000
);
init
();
animate
();
},
methods
:
{
hello
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录