|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
! {5 H$ G5 q/ X) k1 F9 \+ x, X2 S5 h
废话不多说,官网自己百度下, threejs.org ,入门很简单。
, f5 [. G; a' Y4 b6 Q, C
8 K7 S- w7 r0 a O' E创建的javascript脚本如下2 T* f% A& D# g% l
8 \; Y- ?- a6 \) V+ H" @
5 S, a$ G" c: t* E/ X0 N. q
[mw_shl_code=javascript,true]
! ^. t! b Q- _var scene = new THREE.Scene();
& S# X1 j+ y4 w: K* Q: Q! Yvar camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
K# o5 p+ e1 Q4 i$ e0 ^3 Cvar renderer = new THREE.WebGLRenderer();3 _+ s4 D: r8 k1 l- Y3 R
renderer.setSize(window.innerWidth, window.innerHeight);
! p' Q3 P( w: v5 sdocument.body.appendChild(renderer.domElement);* m/ Y8 E0 t/ y
+ e' [: E0 K$ p7 }& Q! i' g+ \. _$ ]// Refresh Issue & U2 A4 H2 A. {7 T+ O
window.addEventListener('resize', function () {4 J) e. R( k" ^
var width = this.window.innerWidth;
9 b! g2 Q8 N; f7 Q- m" ^' j var height = this.window.innerHeight;+ q& ]( n v/ Q* `6 f. S$ o
render.setSize(width, height);$ `* {! c3 v/ o. f- ^& u3 z% \" i
camera.aspect = width / height;. b% W/ t& `. U2 \1 o* |6 u# g
camera.updateProjectionMatrix();9 Q3 e5 j# g% N4 q
})
' J+ F7 ^2 p1 q3 s+ z" W; ?9 m8 r: W+ Z% B
//orbit contorls/ {/ z3 J& ]; U9 [9 Y8 a( c7 H
controls = new THREE.OrbiTControls(camera,renderer.domElement);
) J1 I6 ~9 \; J$ y$ C: L% _! |3 S8 x7 f& R8 N* m1 a0 P
//create the shape4 H1 |! c# R4 _4 m
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);$ h% ^- r" L1 a) Z) T1 e4 r
//create a meterial5 u% o; n3 T4 J. [
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, }); i( l' c, v7 e- A
//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
' {+ ^$ T4 n) ~' ]& l% P//var material = new THREE.MeshFaceMaterial(myMaterial);
a7 x) o3 K1 H0 r
+ B! Y& q7 k+ X; ?0 c6 z+ Vvar cube = new THREE.Mesh(geometry, material);
' l% C: u( n% b3 T) gscene.add(cube);
. D+ V. |6 A$ f5 U1 H q8 K; Hcamera.position.z = 5;/ {6 P) N" Z8 W+ U7 G1 L. u+ c
?& m8 M: K0 {2 T- c4 K
( E- u, S, M& P
$ ~7 `; E6 T; ^& `' P4 X8 p- x2 w. \& n0 L& Y. W
# z3 z3 |6 K" t3 v: w% d6 B9 {
//rotate
; @6 d+ E. x, ^var update = function () {4 G, q0 o9 e$ d( Q& w: L
cube.rotation.x += .01;
( q8 ]# J' C3 i! J4 M cube.rotation.y += .02;8 `# @" E# [3 Y, f+ ?4 k
cube.rotation.z += .02; r- y0 d8 _- K: T
}
) ]3 S) G2 e( R% [$ q/ k0 w; L3 D9 [3 g
var render = function () {2 I1 d6 C% @+ M1 @9 X
renderer.render(scene, camera);: i. Z3 J8 _3 G8 ]* k* c
}
. y: y6 l/ D- T" y1 G0 m
5 b; T$ E% ] j' ^+ f
$ j" L Q- \9 A) {6 T: U% }
) J/ |# V% j0 ~4 U4 rvar Gameloop = function () {: m3 f. f! W# k5 j0 w' l1 a
requestAnimationFrame(Gameloop);- G' e3 q+ T# u& n, `9 y' t/ @7 e
update();
1 h& S/ H! L4 K6 B o render();
5 t3 o! ?- O/ z7 F}
& k* k/ T" L% l% m& M! J8 G! A; ?& j/ t) a" C% t. M8 w% W. {& E1 N: v
Gameloop();3 ^9 J* r3 y h1 Y& r% G& P$ }
[/mw_shl_code]! n6 v3 Y5 L5 ~7 n( u4 n, @# }- `
( K X9 V: e/ L3 T' q1 n+ M# g' |6 D& v- D2 r
引入争取的html,
" }5 i. g. n3 D! f
& ^1 y9 H Q0 Z( t[mw_shl_code=html,true]<!DOCTYPE html>
/ @. w: I5 K/ @0 ^. B4 M% Z<html>
6 o$ H) K! V: b5 x- c$ b9 [2 y4 V. t: n8 I k7 \( U- f
<head>7 o+ A' `+ T) t4 l$ D0 J" N
<title>hello ThreeJS</title>- s0 Q$ u5 ]% {7 G5 z. L
<style>
1 _; n& f+ Y2 M$ D/ b body {5 X: I9 U& l2 n0 u' i
margin: 0;
2 ~& Z) P3 w0 u- m, S5 ` }2 D) m1 K s# H
( ^8 m2 c4 X% V- a$ K$ `
canvas {
( M$ c+ k& Q8 R5 H" p+ a4 l width: 100%;( V( w- S* {1 `8 C! C# |
height: 100%;
) Y" d- ]; _. ~0 o0 _) L' Q }
/ U# \! ?5 K! J' F
& I r$ ~+ N& U h1 {
3 B2 w/ N5 b1 e% [& A7 P color: aqua;
, R* e+ j7 z. e }6 m! E4 |; r4 k1 p$ [& }
</style>/ y8 ^8 A- Q" `8 j% z, Q
</head>
8 Q2 O0 m, ]$ }7 O+ ]/ o
' v3 d5 j7 s2 z; d5 h4 o, Q; a$ a<body>% E7 [! @5 g0 g8 B1 o
<script src="js/three.js"></script>
( ? C x1 Y/ m. { <script src="js/OrbitControls.js"></script>
0 `' r1 D( ]2 K <script src="myjs.js"></script>! x, ]# g5 G. e4 }. V* J; r
1 ]9 x3 [: U' K. I+ l9 q
8 q3 ]9 l2 I' |7 Y# k _0 I% _$ \7 U& \+ N# M
0 w5 a' Z& Q" V* x6 E" m# ~$ ^</body>
4 q5 ^& z8 M' P8 C' d1 X
8 |1 H9 S0 a* N7 K+ ^ I2 M* v</html>[/mw_shl_code]0 A3 F1 r# ~: _2 Q
! D2 R @* n- ~
效果点击这里:
6 z/ ^ a. b5 J: f e1 ^# L7 N; V+ O+ V
http://plmhome.com/doteam/lesson1.html, s k# l% \; e" n& V
7 d3 a) Q% { m+ P* z
$ O1 Q& }' h( n9 }" S |
|