|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 P8 B1 a6 [; G/ u% k
; [ o: P w$ _5 _
废话不多说,官网自己百度下, threejs.org ,入门很简单。' g$ t1 V5 o% I9 V& q
9 C8 j0 q" }$ ~( s6 o, R' t0 u创建的javascript脚本如下
0 G) w( g) V. L8 j, o1 S
z5 G v" ~8 Q0 V) W. L% }
* l* n- d% P' w G8 g
[mw_shl_code=javascript,true]1 r: u" }1 B- i3 _
var scene = new THREE.Scene();
( \% q3 f1 Y1 ], H# dvar camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);2 k0 R7 a% p9 W- k- L4 n" w
var renderer = new THREE.WebGLRenderer();
6 O: l4 s z+ m+ d' Irenderer.setSize(window.innerWidth, window.innerHeight);) v6 W8 n( h7 L3 {3 k
document.body.appendChild(renderer.domElement);
' l* Z/ W8 T V5 K7 ? v$ ~. d
8 h9 F+ a; k# H( q b- ? t// Refresh Issue
( _: B' V7 L& B1 O3 u% Owindow.addEventListener('resize', function () {9 W( e3 o9 l; c g
var width = this.window.innerWidth;
$ S. v( t9 d+ g9 {# X var height = this.window.innerHeight;
4 l7 R& O; k, }) ^! N render.setSize(width, height);
4 O) d; C2 p, c% z' W/ { camera.aspect = width / height;+ i4 ~/ R, [6 s, d( J% P
camera.updateProjectionMatrix();
/ I1 ~" X; ?8 H; s}): j4 d3 Z$ x! ]1 K; B, D
, Y$ F5 m; p. C c O/ t! a
//orbit contorls- { Q6 v$ ?" p9 P/ n; g6 e- q
controls = new THREE.OrbiTControls(camera,renderer.domElement);9 j7 z, z' C: z( c
5 D: ^0 M( ~# i5 Z//create the shape
* i( o3 h1 v. f( b. avar geometry = new THREE.TorusGeometry(2, 1, 16, 100);
' {2 k& x% K9 J2 r5 s//create a meterial; @ ~% ~9 W5 P5 v7 O
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
; y B1 a9 k% v//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
5 b2 b* k, o1 G) }//var material = new THREE.MeshFaceMaterial(myMaterial);) c- M+ g' i! f% i
4 x* j" p! _# E7 M, _# uvar cube = new THREE.Mesh(geometry, material);7 |% H' ~$ Y) ]9 s
scene.add(cube);* [& ?+ E8 Y1 U% {
camera.position.z = 5;
: S* H+ O5 |( ?: k1 d: | f. p7 ~* ~% O ?4 g
) N+ K0 W) _$ T. O9 r/ X" B7 F! d! r; p) x# J( r1 A1 ^/ Z
3 V- x3 j: K0 B+ R2 c: _( F( S
. O) ~* a6 D0 W: R% l//rotate
7 B0 G0 R3 s# w, [4 N* Kvar update = function () {% ]/ O H$ {/ n+ K; a* `. _
cube.rotation.x += .01;
? j: k0 |: h cube.rotation.y += .02;
4 Y. i. [: q, V1 u* h3 A6 o; v cube.rotation.z += .02;
4 e" i) p# Q f# ?# e}* _; v, k) t' z2 x9 ?9 r
- S# \% O- ?2 d) hvar render = function () {! ]: R0 f9 D1 a1 E6 x8 h
renderer.render(scene, camera);
4 k+ ^2 T* V3 S. z}
+ L( o- x/ P2 v
6 M5 f3 C1 H) T+ Y5 Q% d6 U: c. z5 n. b+ B- {. `9 Z
, ~, X" d$ q( m' R/ v( ~var Gameloop = function () {
3 p& f& K/ k* T: q% l requestAnimationFrame(Gameloop);
- w: s' |8 [! H1 Y. b2 _/ z update();0 }7 ?2 ~% W1 q: s
render();5 ]/ M, Y3 P3 Q: I7 s6 [2 J
}# U, Z W7 q6 X8 J4 k( T# F
( s7 z& A8 B) T% d4 d" {& T1 E; J: gGameloop();
! T' R8 K' z& G9 l4 R1 T7 V% C[/mw_shl_code]. J( O, F; u5 ]) \7 t2 I
* g3 M. A$ j J6 ?) Z
8 y# R& H7 I5 m" D+ c引入争取的html,5 R+ ~. r$ w0 ?+ f& D
- g- X& x/ s% ]- C. }7 z. @
[mw_shl_code=html,true]<!DOCTYPE html>0 } C! M: D7 B2 f" f( i
<html>. [# k0 h2 v/ n Y4 b3 [
" R+ Z5 v1 ]8 a. R/ N<head>' F9 z$ {' a% L* I
<title>hello ThreeJS</title>3 O* c* `, C' G: `$ @, u( ?1 q
<style>
8 C7 @0 _1 c; P# T body {' s+ M9 q& H# }2 n) G# X
margin: 0;
# `! {1 ^ J/ _0 d! z; q* a9 h }
% j7 X5 ~* w& _' c% G* U: M+ [ e$ ~+ J
canvas {6 P: Q% W9 ]. C: l# J4 M7 M, ~
width: 100%;% x8 ^% O W" N- B- c$ Y- N
height: 100%;
1 F& _& X1 H* R; i# d' Q }
! I! }9 t, H: H* l+ W# A6 w2 S4 ?* G. {! `4 N) @
h1 {1 ~5 \" ~) Z: p% t7 m3 g- X1 e
color: aqua;1 T: X! ~) w9 C0 H
}4 K6 T3 p, K u) z4 W/ o( I
</style>
% y% |1 }/ s; {</head>
. c- ]. o" |$ Y8 H; A" l: v9 t* h
( Z- I. v1 J5 w Q" U7 ^<body>
* I0 R: p& r" ~) ]& l <script src="js/three.js"></script># U. ^, V. |' p, C
<script src="js/OrbitControls.js"></script>
3 a4 Q% M" ]2 K( ~9 K <script src="myjs.js"></script>' W* R+ O9 [1 }6 p) L \& R
9 {5 X4 F, D* X! z4 y
9 }1 Z; H5 G) a2 [5 ]- s3 Q. g) Z* K4 ?1 @/ K
6 A* f4 Q; p# b( j1 {9 _: d
</body>1 s$ N% [0 P5 ]4 J
; K) p1 q# Z+ l& p
</html>[/mw_shl_code]+ Y5 i0 D& u- a. c& n* w
( Q# b$ ?8 U9 A: f8 j效果点击这里:* A& ?" K, ^5 Q: r- ~
2 v( M! `/ |& M6 F5 w/ A
http://plmhome.com/doteam/lesson1.html
3 u* J8 Q. z& {! M: n
6 W z7 v' K: m J( }- j7 o- ]$ ?6 g4 @8 \: W5 u' @( j. X
|
|