|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
& W5 y8 t6 r h k) l8 N
- ^3 n1 G4 v$ A6 G废话不多说,官网自己百度下, threejs.org ,入门很简单。3 X1 p6 ]# ^/ T) R
! ~$ }) |$ _ k5 p创建的javascript脚本如下" T, c7 U$ L1 J$ i8 H# @0 y
/ h) V' A9 ^' ^' ?; C3 B9 t, z# @" M5 R
7 p+ z1 c0 A4 f8 H6 v# K[mw_shl_code=javascript,true]. N; z9 U' x' r; r
var scene = new THREE.Scene();# J4 R& [/ Y P
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
. [6 R7 h* N' wvar renderer = new THREE.WebGLRenderer();' W0 v }8 ^2 Q# Y# K. k
renderer.setSize(window.innerWidth, window.innerHeight);
9 w5 s; X, N; f6 q$ Z, j: H- Adocument.body.appendChild(renderer.domElement);+ v: p$ t2 r7 i- G
# l3 T( D# w, X5 W
// Refresh Issue
: e/ O& L+ u' t' w) Mwindow.addEventListener('resize', function () {' h$ z% Y5 z1 b7 k0 L
var width = this.window.innerWidth;
- [5 z& r4 |! m var height = this.window.innerHeight;2 g! @5 ?/ W, X% h- P$ a* q
render.setSize(width, height);4 r$ z4 J* `% J% w% z% M& Z: \" o
camera.aspect = width / height;
0 J* Z) E: U9 s8 v* l9 p5 F camera.updateProjectionMatrix();) A" G. J" f @, O5 t
})
1 D5 V' a; _+ s! r
. e- k. _/ l. I# g//orbit contorls
`7 a& ?; G o) L- m/ kcontrols = new THREE.OrbiTControls(camera,renderer.domElement);2 l* b+ j$ \& E1 x- g5 }- _
0 f; W- E+ L$ X9 Q; l# M# i, c
//create the shape4 Q; a2 w9 ~# q( X! ~* M
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);
8 \' ^" J6 L; Z0 y, j4 r8 M//create a meterial
9 |- o+ j& D, G! ovar material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });* r/ s- K: d* v- }, L
//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];. t4 [5 z* n, U+ y" t
//var material = new THREE.MeshFaceMaterial(myMaterial);
& d/ \: @: N9 R( V2 `* w% A8 d: c$ i' i4 `3 [
var cube = new THREE.Mesh(geometry, material);1 M7 H4 W, k+ v; N
scene.add(cube);
$ S- F$ K4 p7 `1 [$ T( Rcamera.position.z = 5;
) z) ~* V m$ T9 h' C. i& U5 s E, D2 Q& f. g g$ t
3 j) \: |" D1 }+ [
h j* A5 s3 J/ B" v! G
( k, h; b3 b7 G; u: O8 U+ j: z
% ~) |( u% B3 r6 d1 P! ~* b5 X r7 t//rotate : x$ ?2 M) ~" R3 Z7 K F; m' Q0 ?
var update = function () {; {& l: E& h- f- J3 ~2 Q9 E" P
cube.rotation.x += .01;
* q3 ~' z! L- x1 ] cube.rotation.y += .02;
: E3 g, U- F) q2 J4 m) {. I+ k( i cube.rotation.z += .02;
1 y1 m" Q/ X, f- S; ^}* E& V0 ~4 L( a! h: d/ J/ g& R" B
! r/ H5 Y( f# M1 P
var render = function () {
/ U' o8 r# b) ]$ s$ L renderer.render(scene, camera);
# n+ b. N L0 S# o- H7 u}. |9 a3 y+ {! `
7 n8 ~3 {5 u4 z0 X; t
* j3 K* }" X- `9 s: R% }# [0 w1 a: }
+ S" }/ o [) L8 \( zvar Gameloop = function () {( R2 S8 z3 q: E T3 C' b! d
requestAnimationFrame(Gameloop); c( W+ _' [4 g* N$ A: F
update();
1 C( L: H" M3 n render();
" u) I- X1 Y& Y( |}
! @) [# y: i! I: ^8 a
2 r1 z% z8 C8 x- g, {/ ]Gameloop();+ K d/ K1 K/ }0 ]: `3 H4 [# D
[/mw_shl_code]1 t/ g" {5 R/ L/ J
. ?$ g) P2 n8 }& ?5 P
/ z# u; S9 z- P1 p" ]* w引入争取的html,; o# h$ l$ [/ t( n
. X2 i9 r/ y/ \% e, t% k( O[mw_shl_code=html,true]<!DOCTYPE html>
" D, g" _' X" {: c<html>& g+ ]8 J; [& r2 Y4 l; A
( N. r( A. Q, F3 D1 D( x( [/ p) j<head>4 u( U+ J9 z. ?) c9 X9 F
<title>hello ThreeJS</title>/ m( ~8 u) n! r$ x
<style>
0 w2 h( g7 v% _( C# Z/ O body {
6 c& r# v, P0 P8 k margin: 0;$ |" j$ l6 }# @
}* N* t' o% x6 S9 Q( t) G! s. g/ T7 I
. n4 c# I# {, M4 R, Z% |0 ^( n canvas {; \& V2 w/ p4 [* ~. ~
width: 100%;8 h, R* v6 h q6 R4 Q: r: k+ M
height: 100%;1 h! @+ A3 S) s4 U7 B5 L4 W8 S& [6 U* w
}6 g& }3 u3 M- C' X# V }% {! ^
) u6 T: Q% ~! n0 y
h1 {
4 \1 Y) O* f8 n0 ]' v5 e color: aqua;: K, \8 J0 Y7 L$ L* y; O2 l
}
8 u2 R& ?2 I1 i; s. t% K </style>) v5 p1 i1 V8 B `' F R% A9 R
</head>
) G; l7 s* m5 s' C4 _* X/ _$ X; Z5 h# O
<body>8 D* W, R8 y; k2 h' U, [ P, ^4 e
<script src="js/three.js"></script>7 K* u( M, I, i8 Y! Y
<script src="js/OrbitControls.js"></script>
) b, W8 M5 |7 b- @5 a; k; c! E7 w <script src="myjs.js"></script>
% _5 A9 A7 Q: i
8 h' Z' q+ g& C/ h# t' g- ?( \. o) ~) p# O/ @9 S6 D& c
; x6 _3 f; x# @5 Y9 E
' `) L5 s8 h i4 U+ A* J</body>
! {4 A- e. |+ B9 d7 T- f; p4 [$ k/ Z3 J) B% D
</html>[/mw_shl_code]
, p' I$ }1 E9 s3 n
4 Y0 K6 p4 {. c; w+ K5 W效果点击这里:
$ T% z! g/ d8 H- ^
6 ] ^. T% ]5 z! o3 G- p. e# I7 qhttp://plmhome.com/doteam/lesson1.html" A% }2 W* j& S, ]
/ }3 `/ Y! ~2 Q( ^+ w0 R
& L" o- A. H4 m! z" y+ e; k" l |
|