|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
& [7 a& b" t5 U3 K, h1 r; N; p+ N
1 W# h' g5 u, o' `; l/ r
废话不多说,官网自己百度下, threejs.org ,入门很简单。) N1 U/ w& U$ J3 X. U" I
; G6 _; {3 V' I7 W创建的javascript脚本如下
% r N" K0 {* q% x/ t; K5 R0 j+ u$ J- I
6 h$ G0 [3 ]2 K, J* ?1 K
[mw_shl_code=javascript,true]
6 G! `* Q9 Y2 Jvar scene = new THREE.Scene();; ~* Q% R! k* B3 E% }7 g3 o7 j: h
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);: w# Z: o3 g! m9 z, f
var renderer = new THREE.WebGLRenderer();
; S1 v; Q& P0 m a4 o) T" zrenderer.setSize(window.innerWidth, window.innerHeight);9 u6 r. M+ g9 a. U7 z2 @/ d
document.body.appendChild(renderer.domElement);, Z {5 V. J; a8 ]- u. K0 g# G
) i; e" C2 k2 f5 D# N* ~, i
// Refresh Issue
% f4 _' F6 l) h" H: ] u# twindow.addEventListener('resize', function () {8 |: U. W* [$ X* B* x1 K c
var width = this.window.innerWidth;' J& b4 x; J' C+ R/ K' R) n7 M
var height = this.window.innerHeight;: a; ^/ @: E% }- C: s
render.setSize(width, height);
, L( Z2 A& j% g2 W9 c- J d camera.aspect = width / height;2 g. ?2 p7 ?* ^
camera.updateProjectionMatrix();! T/ m% C, x7 t* Y/ E
})8 L" ]5 M1 W/ n6 @7 ?3 _
# s& C) }6 ]( p2 ^4 H: T
//orbit contorls5 Z0 a( `( p0 d8 w2 r7 E
controls = new THREE.OrbiTControls(camera,renderer.domElement);' Y8 X/ N/ Z$ j. G: f! p. \
7 M; y# ]5 V) f6 O; k//create the shape
! m; f3 R4 s! Y2 d8 o; vvar geometry = new THREE.TorusGeometry(2, 1, 16, 100);
; `+ D: g* e7 r u& V5 Y' J//create a meterial
: C u/ l d2 B- ^! q: ^" wvar material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
. b% F- U5 b1 x& j T4 b0 W//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
; m; c) a& d; r z9 D3 q//var material = new THREE.MeshFaceMaterial(myMaterial);* A* F4 n1 R8 k
7 l, s+ h D- w' k+ N- m" j ]
var cube = new THREE.Mesh(geometry, material);
! t8 O1 q' D; G3 J3 p& gscene.add(cube);
; H7 w9 S8 N2 J* D4 hcamera.position.z = 5;0 r$ g {5 Z( d$ t; ~; n. Y7 t8 H
' [/ ^) ^$ w$ x6 T/ d
4 s' f8 l6 n: V+ \; |- a+ [
# P0 y X# i) G" z% A/ @
5 ]) s( p9 ^ k6 U$ @9 ^( B
( D9 C Z K8 x% X& S
//rotate : P* Q, L# h* E
var update = function () {# m+ n1 {, U& j
cube.rotation.x += .01;
- f- [2 l; b5 B+ l# C) ]! V$ f cube.rotation.y += .02;
4 I: W- m% T+ D& o cube.rotation.z += .02;
4 j" @, a: \ }! |) c}1 N, f0 t/ ^$ w1 M
. x `( ^( Z) E8 u6 `* V3 @0 `var render = function () {1 j# i6 ~" Z z& q; b
renderer.render(scene, camera);' u; Q8 ]) M; H9 g* s4 |! q! A
}& a) Y7 W1 m* t( K: i* d+ C
& W7 I% t0 R/ t& K, ~' g
3 E9 U' Q& z, {6 c) y$ W% Y6 ~
# C# B* ?) O( ]: }: H
var Gameloop = function () {& `* M4 ^2 Q2 I9 o3 n
requestAnimationFrame(Gameloop);
& R& Q9 K( c! l: |0 w update();
4 F5 T. [4 u% F7 }: i render();
& n. D7 s5 P+ Q2 {}
* s; x3 f1 n8 L- z5 i% w2 J6 K C+ G1 K6 U. I+ |" `
Gameloop();2 D9 W' _& \$ C4 b8 y* v4 }" k
[/mw_shl_code]
- n5 B" ^# L' @3 _4 p( X( Q* ` U1 L* u3 R
# i. V1 r J& m5 R
引入争取的html,+ P* [- [! r# s6 y- T5 [; ~
$ H6 s& c- ]1 O" ^[mw_shl_code=html,true]<!DOCTYPE html>
9 V3 h/ g' n" F; a3 f" q<html>
# o9 u9 _2 [4 D; P% e; }
5 u8 p8 z/ ^: I; J$ a<head>
, ?$ ?4 C0 L- v; f2 e, f3 p <title>hello ThreeJS</title>! r$ r" |' D3 E& A1 \
<style>6 s ]( M$ Y; S
body { R0 d, i1 [. R8 `7 e
margin: 0;) s1 \$ I5 F- K' e `8 d" k. Q6 J
}
7 Q- |5 J B) h+ T3 u
/ B8 e7 N/ R5 s7 c" C canvas {" `4 \% e) m; D
width: 100%;3 c7 L( P: u5 L. W4 z5 `. v( U
height: 100%;8 t H, j z0 _8 `1 s; A2 C# J" O7 y
}
2 A% _ `# C# T2 A, ^ i6 p5 h7 O9 W: U- f; C5 b" J
h1 {* M9 z; w1 J% C% i
color: aqua;% f4 F/ }6 F! a2 z3 b
}
. R, j4 C! c; P+ ` </style>
' d- P" i& z) j6 ?+ T# u</head>
2 X" }7 i7 D: ~7 {$ L! d( a+ c3 m0 ]. A2 D
<body>1 z* _0 l+ M* z
<script src="js/three.js"></script>
- K0 i* w) o+ }9 S8 Y0 v5 }' J <script src="js/OrbitControls.js"></script>' s! a# a! P q6 n; P
<script src="myjs.js"></script>3 `: h2 ~; p+ y1 V2 H8 K
' w% p6 A( \1 h; _" ~1 X! a8 [' e; w' F9 j* p1 _0 Z, J7 L
" N$ `: d( [4 T% T- n5 J
1 t8 a) D; L7 K</body>
* J* S2 J' b% V$ |" y/ \$ \! E' W; n! a6 V, W* G
</html>[/mw_shl_code]
' H9 u: p' t. U2 T l& _
- f3 @& A' Z" k1 X; W效果点击这里:/ s) d5 p- ^) X2 e9 h3 ]. b
- r, m$ z k3 V. t' Y
http://plmhome.com/doteam/lesson1.html
6 |! g: y: t: M" {
1 G2 V6 D) u) g- e- A, P$ y$ _' R$ r& I3 |$ f$ T
|
|