|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 ]: U$ k3 g2 Q$ _3 G' |' l8 A3 j' d# T2 N3 P4 W; a
废话不多说,官网自己百度下, threejs.org ,入门很简单。
0 }: H7 A. s! h- D1 @
2 w+ B3 n* Q, U! y5 u3 V创建的javascript脚本如下7 E9 c: B) @: H; k
0 L* I3 y# R. H/ A+ _
8 g+ R5 u, m7 S[mw_shl_code=javascript,true]
. }% t% H, R, w& S. i. m/ `* N% rvar scene = new THREE.Scene();; W/ H7 Y: a. d! x+ I) A! E
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
* S' }+ a+ I6 {! t$ p- U. Zvar renderer = new THREE.WebGLRenderer();
; \/ I. w' R; k! u" s" Lrenderer.setSize(window.innerWidth, window.innerHeight);
, J: d4 k" n0 \+ o9 d, @; D: D7 zdocument.body.appendChild(renderer.domElement);
$ d: H6 y/ U I6 T) |# c- N) r' j; {1 S K3 M
// Refresh Issue 8 |, C5 U4 U# u6 O5 p
window.addEventListener('resize', function () {' N" r, g" ~1 W
var width = this.window.innerWidth;
6 p' U* y5 c% [1 ?+ q var height = this.window.innerHeight;9 Z3 f/ T9 t) ]) d& H' ^
render.setSize(width, height);
4 H( H G" o+ U% o7 d9 X0 H5 w camera.aspect = width / height; W- k6 v$ U3 W8 H( u b
camera.updateProjectionMatrix();6 Q# o2 M1 K5 m7 M( Q
})3 u3 r# J2 `; x7 {% G9 O! D7 r
* }2 H9 V( e, p6 z//orbit contorls
A! d3 [9 g8 O4 O8 S! W, ncontrols = new THREE.OrbiTControls(camera,renderer.domElement);
6 Z5 `, |, O: U8 H/ h+ R u7 D. a( O+ f( ~: _
//create the shape
( u! W# q, R, l: Avar geometry = new THREE.TorusGeometry(2, 1, 16, 100);+ W6 }; z; i3 T) O" l" M
//create a meterial' g. i% X8 D a) S( s
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });5 o6 Q/ s! Y% B9 U& W
//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];3 N5 R; g8 t4 w: T
//var material = new THREE.MeshFaceMaterial(myMaterial);
+ z- M; L7 _. r& E2 `
^: g7 q$ s" ]( ^: t$ E; O3 jvar cube = new THREE.Mesh(geometry, material);
$ a9 @/ w5 w* Z2 kscene.add(cube);) ^& o) d/ m8 I4 \
camera.position.z = 5;( S q' y9 A1 I7 w
) N4 r# ?4 n' g# `
$ X# e& a9 ?, x! Z, t3 U( _$ d
. _* o+ I# o! x( L7 g5 L p ^5 c- g- C, Y) A) k* b" l
1 _# @! r4 l4 l( F$ Q
//rotate # b' ^4 }; y% a/ c c; W
var update = function () {* T4 }+ j9 _" Z$ [) O" |
cube.rotation.x += .01;
% x$ q7 V3 L# x. c5 u3 N cube.rotation.y += .02;) T* L! j# @/ n0 n0 f4 ?% y+ t
cube.rotation.z += .02;
& y! I4 i0 Q2 p# S}5 i% e& u Q1 t* ^( L0 C
: }7 x2 l# W3 `/ x! l1 k1 l) c8 j
var render = function () {
* F1 ?' C% {2 \# b3 q& [8 N renderer.render(scene, camera);
9 p# S- h4 l% X}
* r9 o$ m* M, b- a
) M( U# N) H! R9 X, _1 I% i1 W
, I3 O) ]; c5 o! o- l: c: Z }( ]( S2 m: L
var Gameloop = function () {4 H: d% ?+ t; \
requestAnimationFrame(Gameloop);3 t- h4 Y" c. i
update();
, q2 e+ U1 z/ F1 W) c render();
2 q7 _3 _$ h4 A% r: p}
- v, T+ \/ X/ U6 s) Y8 k
- u* |! |2 Z v6 ~! {9 P. }4 }5 S* ]Gameloop();
9 O' I* E4 Q( n) Z- h) ~[/mw_shl_code]
7 D C/ }9 p; n) p/ h) r2 t- y
* X7 D/ d4 X7 v+ o+ h
! h2 p6 `5 t9 `引入争取的html,
; d3 F4 N& u# |1 X. U S! i$ [! o2 D4 N; { a3 b) f+ y6 h
[mw_shl_code=html,true]<!DOCTYPE html>
5 S/ D9 }, H% K+ Y; Z<html>$ ~$ f o! b: X, d
7 u/ S! f% M) g( w: I<head>
+ a& _9 S* t: K <title>hello ThreeJS</title>
$ n1 X2 G$ M; q$ U7 V. r; k1 Z <style>: P+ ]$ K" ]* w+ ?: L
body {
% A B9 Z; i' i7 H& h margin: 0;$ U' d+ Y; a, g
}
# n0 w$ N# B& {* x" t. n' d: \& i* g% v6 N* t& @) z3 L" z* y
canvas {
5 o7 k( W; E2 q. e9 |* W8 `" m# [ width: 100%;
5 i' Q2 E2 }' {6 r) ]! ]/ A height: 100%;
6 R. k4 t( B( y V }: g4 n, q+ V5 c, {# C4 h9 W
8 V6 X6 w% R p, i/ [* f: o. r h1 {4 V8 K% R( H0 C; \" Y3 E) m
color: aqua;
, g- u. ~# W) m: A6 I$ \0 K }, \' X+ v) m9 b
</style>: `. K" P. g1 w5 B# [
</head>+ T+ v# s; W0 B3 O! }" d
4 R3 L2 _+ N2 V! E
<body>: c7 H1 Y# B D% ^" }, M
<script src="js/three.js"></script>4 A$ {& o3 C3 t J* p; ~
<script src="js/OrbitControls.js"></script>
1 N; t$ E- F% W _ <script src="myjs.js"></script>6 a) d$ T9 Y7 |; @
/ I0 B7 D. f% Q8 u6 U) t2 X" D* j, a
: x* F: J# Y) M" f# }: Y, U$ b* L( s0 E; i* q
- U9 e& E0 y1 W, ~4 u</body>% ]& [: _3 t6 P, i- m
! {' u# T' w/ z8 A! P* U. ~
</html>[/mw_shl_code]3 N( d- U( p8 B( r
* L2 B: Q h) C* X1 N u
效果点击这里:
9 o% A; c2 F( F
; C6 \2 B3 {0 l. rhttp://plmhome.com/doteam/lesson1.html5 I5 F- s# X6 k) X: Z- l6 V: A: H
$ D; z. {' Q3 n, m9 a2 d
8 J* J/ L* _. {0 Q0 |7 m ] |
|