|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
: y1 e. }5 y& y; `5 L1 w7 H" }3 r: ?! s% ] W
废话不多说,官网自己百度下, threejs.org ,入门很简单。
/ B2 n" l3 ^, V2 s3 _0 K2 o8 R$ {( ]
创建的javascript脚本如下, ?6 Z0 Z0 E, [) k
9 j3 I( f! E8 K. O0 {
$ |% F( u- l# d4 g2 V% C( j
[mw_shl_code=javascript,true]
# s7 X: n( I2 Cvar scene = new THREE.Scene();
8 E/ F& s1 V4 ?) Gvar camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
" \2 ~2 @& n/ c6 ?' t0 w! N" mvar renderer = new THREE.WebGLRenderer();
4 Z w$ \" w5 S5 g" {renderer.setSize(window.innerWidth, window.innerHeight);# ^/ }6 M1 s; I( m9 {
document.body.appendChild(renderer.domElement);2 _1 ]4 B* G, Y1 h4 b
( K; `8 V5 l; s9 [! c G' E
// Refresh Issue
' m6 h$ B; @' |. p4 y2 Ywindow.addEventListener('resize', function () {
9 f' T. V7 k3 M, F& u var width = this.window.innerWidth;1 i$ C* m5 ?0 y2 w! A: B
var height = this.window.innerHeight;
1 }7 T& Q3 ]( G5 q- M, t render.setSize(width, height);1 A) G n3 d" X! u, f" G; H
camera.aspect = width / height;7 I! v2 ?3 K1 Z2 ?" F
camera.updateProjectionMatrix();0 Y0 }- k1 o0 u T) H
})
; K+ |) A- u" E( s# G: L2 q# b3 u1 }4 j; o" e1 `: H0 \/ t
//orbit contorls
8 l6 P7 ^: P$ K4 p Acontrols = new THREE.OrbiTControls(camera,renderer.domElement);" W, }; `: C- ~# t
0 w# ~* e# i# h2 S" e//create the shape
' {. o( v4 H4 q& @6 H5 zvar geometry = new THREE.TorusGeometry(2, 1, 16, 100);' U8 @3 f0 e0 _2 g
//create a meterial
- c: N* S1 Q. M m d2 B! evar material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
; A" [7 h, q" E//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];* {1 ^9 i7 a! S1 ?9 O3 i
//var material = new THREE.MeshFaceMaterial(myMaterial);; i2 h# n# {! V; s
9 J) d$ y; x0 d3 c$ h; H7 T9 q \
var cube = new THREE.Mesh(geometry, material);3 g2 \7 W) Q }3 F' a( K
scene.add(cube);
/ n, h/ k' t% `3 j8 c ?( E* W6 B) ccamera.position.z = 5;
! R/ y) q9 w5 ]: q. r l: W4 y+ \ x6 z' p y
* P2 Y* @( w: T- S7 Q7 m
3 {$ U; y. d8 Y$ i: q, R$ C# J: _* T7 ~% n7 s
: V# t& f) f: A0 m) c( d# c
//rotate
6 M3 j6 g4 J3 y. R2 Zvar update = function () {
, M, d; D* c# F# M' c cube.rotation.x += .01;
% V h" y( \5 |0 t& w( C8 | cube.rotation.y += .02;
" ~% I! R: I$ ?6 d: U" I cube.rotation.z += .02;/ \5 ?0 N0 @7 H8 J) Q& b
}
8 s' w: F8 ]) k" E7 |: r" e+ P6 J# x) s& o8 d: e. e+ D1 I
var render = function () {8 V1 A# S: U: ]
renderer.render(scene, camera);
2 a7 p. m" w6 K6 e# G' B}" d* a9 b. m! t' X6 N; g( X; L
8 I6 m7 G( R7 a1 c( @
/ g7 S/ z( e. n" F( U$ z
! b, J4 _, _% K4 q* L! evar Gameloop = function () {
8 S4 d' k3 j: s/ e9 _! n( @ requestAnimationFrame(Gameloop);
2 T6 S, W6 v" f% X8 P; X# y update();
! q* j) a$ E8 Y render();: h1 o, _6 s! r8 n6 b1 Q C' d
}
/ O# P- D! W, D8 l$ q/ V7 Q! U/ @2 Q" W& `* {7 ~
Gameloop();
# b( s' x7 b$ R5 }, t[/mw_shl_code]
: k) v$ p/ v. d) }: X3 v' `# T8 `8 @: A; m) [, o
9 @0 ?$ _- j& F! _" A引入争取的html,
' `; d0 U( p- J8 n' x/ {0 J; N
$ _( b" {; L0 r: t3 p/ u[mw_shl_code=html,true]<!DOCTYPE html>3 `6 X* s5 X# Y; h$ W, }8 U8 S
<html>' l3 [; d+ z0 q; ]) E) Z: B! G& U) K
" ^8 \& O* m% U0 \' \" S9 T
<head>; c- E; m" s8 d7 m; P1 T1 [: R
<title>hello ThreeJS</title>
9 o" B. @( }5 l2 I( w4 J& I <style>% x- j0 @; R' F8 J: c: D+ |
body {/ H: A6 y1 _1 s' z$ W4 w9 _+ B
margin: 0;$ Z1 i% o3 A6 u V
}+ b. F+ N- Q W% D. a0 m T
5 N" s- [" k$ n9 h" |" C+ k canvas {/ x0 e/ U c7 ^' A6 F, e, O( y
width: 100%;( ~. b6 d+ V/ {; I3 b
height: 100%;4 h* I# ?# V; `, l& s
}
- |% F5 Q8 s3 k1 y G# h' ]* ]! t8 Q9 y3 Q4 B
h1 {* N( ^3 ~( l. R7 T% K' U6 o
color: aqua;
: v6 q Z! C. ? }7 p" i W* N$ H3 S' K& \. @
</style>
8 R) ]4 ^! w6 T6 `2 f }5 F7 g</head> q2 `" c& l. b! m$ q& \! J
2 ^7 O" O8 k) p2 w& q8 O
<body>
* t9 g9 c2 ? M: a. L <script src="js/three.js"></script>. j# Z$ ~% l* o$ D$ M" E W. V7 c5 Y& j
<script src="js/OrbitControls.js"></script>% |- @' E1 w% J7 d
<script src="myjs.js"></script>
" u8 Q8 i v! @0 O. X$ p3 F & L0 ?$ ]! L) J0 H, e( @5 ^
% ^8 |' ]/ B3 j# G# \7 V% W5 z% C1 _6 Q- O* W" u2 s J
* U y/ x, z+ Q' C7 j4 n3 g0 U- D</body>
# L! S D* Y7 d" f5 g4 [, x1 ?/ u; S/ @, k, i4 I
</html>[/mw_shl_code]; z0 P( X+ L0 j: ?0 Y/ s9 e
3 i. E. S" S! i$ Y2 P9 }
效果点击这里:4 i& H/ _6 }. @" r1 P: | r8 \1 w
1 {/ H; M( [4 a$ Yhttp://plmhome.com/doteam/lesson1.html
$ T) _+ k/ S u9 J8 H$ l a% x. U9 x; V: Q5 q. T
3 S$ `; c3 h% A. I u8 ^' q
|
|