|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% z/ I" C2 E; O. F4 [4 A
( Q) H! c$ ?% m( p' L1 b/ t$ ?* @废话不多说,官网自己百度下, threejs.org ,入门很简单。# ~8 X1 |! W @9 M8 u' }# a. Z7 a3 h
5 A v' G" a, q& |1 R3 h+ H创建的javascript脚本如下0 p& `# D% n3 A% x: O
3 j$ w9 o Y& k( s6 R
& C7 C5 ^1 ~# c+ m9 |. E! @[mw_shl_code=javascript,true]
: u: p, M2 k, ~' Q' A. g6 n8 Dvar scene = new THREE.Scene();& }& `) k2 P4 M$ b
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);: |/ D/ E* s9 a, ~
var renderer = new THREE.WebGLRenderer();/ S; Q' H6 O, {! r, v2 S6 p
renderer.setSize(window.innerWidth, window.innerHeight);6 l0 u) l1 a6 R, S# v
document.body.appendChild(renderer.domElement);5 Y3 _: Z' E5 ~4 L/ \7 O+ v5 r' b$ \) ?
9 K r5 I5 U% X E: n1 t
// Refresh Issue + t6 \. x# H# R% m# d9 }
window.addEventListener('resize', function () {% g6 C/ V0 f" w- f3 Y' W( C! ^* v
var width = this.window.innerWidth;
7 N1 }; @% E% D$ a2 s4 M' S- S9 I# v var height = this.window.innerHeight;# Z" L9 O, Y. f8 h& L$ `# r+ V
render.setSize(width, height);- U+ P' B& W# t. T/ V
camera.aspect = width / height;
4 }& l+ ^9 c P camera.updateProjectionMatrix();
3 b* W4 p7 E+ _5 E6 }})# R" `% a: y8 U) N h
* \6 L/ h6 t/ J//orbit contorls' k) G# s2 b1 ^- F6 H9 ^$ W5 q
controls = new THREE.OrbiTControls(camera,renderer.domElement);
9 D/ `- F, b6 J* E! T2 b1 I N( \1 P2 T9 T8 T
//create the shape
1 {7 \+ i R2 Q, N; t ^- Vvar geometry = new THREE.TorusGeometry(2, 1, 16, 100);
& l) {3 b9 v: o. d* `; j- j) p% O//create a meterial% x. E- {) w' V0 {& W8 w" V
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
& `, k3 G8 X7 L+ Z//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];* z) q" p4 W! R" \* X3 P. N8 S
//var material = new THREE.MeshFaceMaterial(myMaterial);9 f1 u' m# x" I
+ P$ }$ m/ L& r3 M# F0 Rvar cube = new THREE.Mesh(geometry, material);: j$ k9 }7 f$ {4 A
scene.add(cube);5 Q0 W3 s u" ^: R9 d
camera.position.z = 5;
+ \2 w. ]' A/ n8 l
) _ U0 g4 K; P% B e3 k% j) Z
5 n* S8 ~. L0 q/ T3 X4 L! u9 m7 y) R% B1 G- j( g, u: Q6 u
% h3 |2 O5 Z& s/ E5 F
5 B* ~# R( u6 v! }" m9 l, Y4 A+ Z' [//rotate - F) _ j" P5 b2 P+ b
var update = function () {( z* C7 c4 k, q4 \# T. ]9 w$ T
cube.rotation.x += .01;
- ~& N2 U% v% l; }0 a/ O cube.rotation.y += .02;) A% A, j/ @/ P r0 B0 l
cube.rotation.z += .02;
( I, }! m4 w& k& i1 j: ~}
4 |" `) S2 h7 Z4 S+ {& H) g$ O3 g! V
7 ~( F# U) B+ |$ [8 uvar render = function () {
, F5 x- }8 ] K5 l) G# m renderer.render(scene, camera);1 y* B& Z: q: M, q; Y! @+ \
}+ z3 F& A9 E% s. b/ T
% l+ `( \& d: w2 W- |" H+ w
% E9 I) o2 p! O+ t2 K: e1 [: o1 T2 \
var Gameloop = function () {
1 I& Y% P3 G1 m. p requestAnimationFrame(Gameloop);
}5 K8 Z" ?' W! i' }! F+ ~ update();" ^8 |' H, K |1 k
render();
( T. Z1 N9 K; \. H- u}. N: P6 A3 ?: p, m6 X, l
0 D1 @$ ]5 w2 }: ?* [9 z5 n
Gameloop();
4 A* ~/ ?+ C9 \6 b* r[/mw_shl_code]6 o8 R [9 q$ k
1 L! C4 p; K' q3 U
3 A3 c" x, K* L+ O: f引入争取的html,; p N' `# G( X5 f) i- a
5 f, Z J: \' p- O# V7 r+ D1 s
[mw_shl_code=html,true]<!DOCTYPE html>4 ]3 V. ]6 J( ~8 u6 T9 f
<html>( |# O6 r! D4 C' u
+ I5 F1 g5 ~# c2 s# e" ] O# h- C
<head>
! R% r: M6 o7 ^ Q5 a2 G <title>hello ThreeJS</title>
: c' q. @0 ~4 {) P7 | <style>2 {0 @+ t" {* {# a
body {
/ ]# t" [( o! y3 P4 V( u/ K5 G# b margin: 0;, @3 L* N5 R' S3 t D
}
, n1 W: m' i& \# O' K
- O, t4 e" A: T+ b0 V3 D canvas {/ a4 C2 | p" E! M
width: 100%;& v7 P% {' {) q: ^+ f
height: 100%;
" Q4 f5 E6 C' n+ e }
4 s7 Z/ g" @0 R: d9 B, ]' ?" a4 \) n* u! G0 Y' i( p: s0 l/ l: p
h1 {
- C: b& Y+ L9 T/ { color: aqua;
$ }. J/ E3 }, s2 F, @6 B: { }
3 y: K! m; H: `$ m% v n& Z. v </style>
- ]9 j# s$ _. a* w; F</head>3 S' c% f$ a1 w r8 A$ A, N" o
c) L2 e' Q% N2 f$ y<body>+ ?8 l0 @0 W. {' Q/ G% g4 ~ o. W
<script src="js/three.js"></script>! P: m6 `9 I8 u8 i6 \) M- X$ E
<script src="js/OrbitControls.js"></script>
- ?) v$ K: i! w0 `9 ~ <script src="myjs.js"></script>; @) I$ w' s# N
8 _% d/ m6 D5 {" q- d7 s. h; x8 q, o1 @9 _" j0 @6 P
3 Q* v; D+ E5 J! c) |9 W, G* j4 I+ a' `
</body>
5 v+ d2 c7 W, R5 F6 B z9 L% T
# Z' [9 l N9 ]: k3 n- _7 L</html>[/mw_shl_code]
; E; s6 R- G a0 b M! b- b2 s/ w; @. P: n4 |8 s7 G
效果点击这里: N& J. @9 F2 ] J1 v. p
3 E2 r" _$ j9 Y2 ^9 K; D. y* s
http://plmhome.com/doteam/lesson1.html
+ n! G: ~0 S+ _, E' e4 `4 G9 ?6 B9 n
. B+ a0 x# U8 I3 O9 K4 t' n
3 f; w# v8 c: I |
|