|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 X" O( |: n$ q2 `; w
0 _1 u6 _# ]4 P2 ?: Y0 b废话不多说,官网自己百度下, threejs.org ,入门很简单。
# X1 y- A6 B1 i- }& D8 S6 k ^- a) D, w* ^+ z2 G3 C2 }: E/ O
创建的javascript脚本如下
7 w: ~7 {' Y! D5 r7 S- Z. G$ x) `7 d- j$ }' e
3 L0 ~; j# M; c9 j* t R9 z[mw_shl_code=javascript,true]/ B, o: n q% D
var scene = new THREE.Scene();
1 I* T' L+ S/ |# |. X' e3 a$ Jvar camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);9 H( z+ B9 \* V y1 }4 m9 o
var renderer = new THREE.WebGLRenderer();; [. @: x& U1 p
renderer.setSize(window.innerWidth, window.innerHeight);' s- y' k9 I0 R9 o" d% L! a4 }8 }8 O
document.body.appendChild(renderer.domElement);; @7 f( F+ P0 O
( B3 p: u w+ Q0 {5 ~, W6 s// Refresh Issue
+ G7 G2 w% U$ o" H/ x' Cwindow.addEventListener('resize', function () {
! R. |) K: Y! N" U; y! V% ` var width = this.window.innerWidth;$ r C8 r6 _) J4 L
var height = this.window.innerHeight;
8 X5 e/ L. [1 V render.setSize(width, height);$ C- c, }( M% |1 r; f' K5 o
camera.aspect = width / height;
5 D# V4 m. C3 [8 D camera.updateProjectionMatrix();( G- t" O Z& i9 g
})+ M; f& Q. i" `3 O
7 i6 ^# ]5 W" j$ g2 X0 X# u//orbit contorls
; R- Y4 [) b; H+ C6 [6 T d- |controls = new THREE.OrbiTControls(camera,renderer.domElement);
! }+ R& `) ? x5 A: t. g" A6 z
0 O6 C. l$ e- M8 k; c# K//create the shape
5 c4 e9 |# z! o/ | Mvar geometry = new THREE.TorusGeometry(2, 1, 16, 100);+ w/ n. T& d) F* U; {
//create a meterial
: S5 d. m4 A3 w. r* {5 Rvar material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
/ Z" q& p9 U+ \" H+ n//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];( I* V* w' j9 }! B, M$ @. z1 }! \6 l) C
//var material = new THREE.MeshFaceMaterial(myMaterial);7 z7 e+ Y# t3 F( A& \( x
0 M- a2 }' u5 l$ X- G) E* }var cube = new THREE.Mesh(geometry, material);
, O. }8 R5 ?) b! ^9 U( z Wscene.add(cube);7 y, v4 F& U. m- a# F
camera.position.z = 5;* e+ v" Q* ?% v* U& F4 f
) a T+ J; d# [1 E$ s0 S+ X: B0 D: m0 P! x8 k% d" I1 C4 a
% v8 ~* s' _$ `# S6 t' X1 ^! K4 m. W; X
1 C, ~2 ^8 ~0 L w# v" j1 f
//rotate
I5 g. _& l3 K9 J: d, i' Dvar update = function () {2 u% X! Y& F- E. v# \
cube.rotation.x += .01;
6 i8 W% x# Z$ p4 x2 y; k6 F8 S2 x cube.rotation.y += .02;
& m/ C! t2 B! R2 k- Y3 V cube.rotation.z += .02;2 h, i4 D' b$ [
}* R: [ Z2 w' _4 w- c
5 v; |2 n$ |; W
var render = function () {
5 m7 O `5 n& B4 \- Q: b& { renderer.render(scene, camera);5 u: A* p H* w4 {
} x }5 h0 E; d. H: l/ L
* q- K0 t! Q8 V: R9 W6 t) h
/ U: _$ g0 Q2 Q2 F# s' c/ F1 J
% L8 t/ g, @: \7 h2 v N+ tvar Gameloop = function () {
1 O% ^' F- U6 F+ {8 u1 P: S) A p* o requestAnimationFrame(Gameloop);- g/ ?/ O8 O7 f/ e" E" _( a
update();) p' B j4 H% I! F; f& B: l
render();5 Z' c2 `9 @ B/ k/ O! B& K, Q- G
}0 F) g: ?; q5 [( ?/ h5 s) O9 g1 w
5 A& t* O N! W& X1 `2 j
Gameloop();7 ~1 t* S& F( u; Y
[/mw_shl_code]. e) I6 _" R8 V" }( x+ a' y, L
) ~) j/ t; L8 t: T4 A$ ~" J. d; h2 N- d
引入争取的html,0 b( w5 L6 Y4 H6 Z, s0 @' n
" ~! V$ D; u' a/ g
[mw_shl_code=html,true]<!DOCTYPE html>$ h. f% `7 L6 r' F4 h
<html>3 u# |7 b6 Q& _' E% C4 Z- g, w' O
9 @! w$ c0 c, v! e. s2 E% [) ]
<head>
& Q3 g8 j& P$ E% B h2 \7 k w <title>hello ThreeJS</title>, W9 v, M' c# t7 M/ U' ]
<style>2 p8 D; c% C" H+ r* h% [
body {
' N. j1 _3 `. ^7 f0 [ margin: 0;" [* P; ~) \: @3 X
}
2 i" F; R Y) ?. Y" H9 P6 y! G$ q4 _2 N6 c; d9 Z
canvas {
* |0 y1 V0 h# v. g width: 100%;, f3 |8 S; t/ P
height: 100%;% [( U: I. u9 b
}
6 P; O& m$ T6 `3 F' u& o b
5 g9 N8 a9 ^; H+ V2 q8 b h1 {; j v$ }+ E8 O5 v1 ]! T
color: aqua;% m3 p) \. x* g+ I! W* x2 x
}
$ w, V/ ?" { Q& F% L </style>) W( \1 J/ U% x8 v: i0 @' D
</head>* {7 T! s5 S! ^+ u
7 _( s" x( _+ T4 \+ `, F. p
<body>+ f! |+ {) ^5 X; }" H3 A9 g, U
<script src="js/three.js"></script>
; @, E, ?" o# H, [ a j5 ^ <script src="js/OrbitControls.js"></script>" Q2 v; f/ N$ c7 N( ^
<script src="myjs.js"></script>
( t2 Q L0 F& _
5 b* H8 h- I5 z1 L1 _4 [, w0 j* h2 H5 w% w5 t& Y
$ Z' {0 q! A4 m( `9 j. {4 w
1 r$ x- k4 C: i% [2 a: o. a% T
</body>
9 P- X7 N0 j2 M& j# t; o1 H
0 c- Y# a X- K</html>[/mw_shl_code]
* N- m6 B* }$ O) H
- O* f, N% b- F( I1 O- j效果点击这里:- y9 k1 o- H7 Z- o
- X" a: b( X* l" e n0 N9 hhttp://plmhome.com/doteam/lesson1.html
' V5 Z; A/ C% {+ ]9 y/ ~
8 P+ \ o, G$ u% Z
1 _( {% q: e9 M1 p- j7 A/ h |
|