|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- U# `2 }9 v% T2 _. R
$ I) ^5 ]8 l- D% u; ~废话不多说,官网自己百度下, threejs.org ,入门很简单。$ v" X0 m. Z: l+ H, m$ p P) w6 h
; j* G7 ~0 m( C
创建的javascript脚本如下7 D2 U z8 s4 F5 R7 }6 q) Z* q
5 W' z, f" T: W+ \7 w- P: ? G7 L
6 t% U8 B. W$ r& n" o p# \1 l
[mw_shl_code=javascript,true]
) k/ |, o/ p0 T/ A) Y+ ?var scene = new THREE.Scene();! V* }6 ]( R/ p" V( m
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);& K, t; t/ M# u0 ~( Z
var renderer = new THREE.WebGLRenderer();
( G- i' N$ Y( s" z5 i7 P& b& Nrenderer.setSize(window.innerWidth, window.innerHeight);& ?! k% {# W6 b- w
document.body.appendChild(renderer.domElement);& ^, o1 ^5 B" W( s v, Q1 ~
- w" }3 x" @% [
// Refresh Issue
9 E0 ~. H3 y( G ^; d) ewindow.addEventListener('resize', function () {
4 \0 D/ e. b; k; F. S1 W' e var width = this.window.innerWidth;% a; N/ T; h1 O( Z2 j& P2 j Z* P
var height = this.window.innerHeight;3 h" t3 Y1 j" R1 @8 Z, C$ w, `
render.setSize(width, height);$ v( }6 f! x; s) J! \ F1 b
camera.aspect = width / height;
7 x/ @$ f, R3 a, ~ camera.updateProjectionMatrix();
( \$ y4 ?6 |: N& A7 F7 J8 t})$ U% w' E' z5 k6 Q; A
: W5 ?0 r" Z7 s1 t- Q* \4 j9 K
//orbit contorls4 n1 X3 {" f% \) u
controls = new THREE.OrbiTControls(camera,renderer.domElement);
8 w; e# t) T+ i. V% L& y
9 d/ @+ [1 g+ u8 J2 r* R//create the shape4 ]- s6 I: m9 I- C" X* y. m
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);
+ X4 I. F1 x; i0 O0 b( f* m//create a meterial
( n& @9 r- w) [" o+ \var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
! |% n) A$ W) }( i/ K7 S& n7 F//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
- C4 _& S) v0 R: v6 |' _2 P//var material = new THREE.MeshFaceMaterial(myMaterial);
) ]/ f' n1 G q2 k9 u# p5 ]; @, ^* h/ r1 g2 e+ c1 l
var cube = new THREE.Mesh(geometry, material);! N ?# Q1 S- P9 {
scene.add(cube);
7 Q) [" p& U* Y9 m5 o0 ccamera.position.z = 5;
! z3 {# G/ m' d2 {6 d2 b: J. Y) a9 T( G! T/ w3 s, b) r
* O/ L# ^/ Y# a0 D t) q
7 U2 U$ W* S" `2 o- r' @: E" ?- F% c; o7 G6 `9 T5 z% v1 m
! v: E9 h6 y/ L( a4 E//rotate * Z: M6 T# }! h. Q/ `9 H3 {
var update = function () {: }3 |& m3 W0 T
cube.rotation.x += .01;8 U7 a* R4 h" } G
cube.rotation.y += .02;: v, \( w( Z( l
cube.rotation.z += .02;1 g; {+ v1 z$ Q0 n7 S2 u1 e8 Q
}- k. G8 I( C+ X$ A# M
5 ~& p: j: J- Z, [; Uvar render = function () {0 t1 S& a8 b% M8 d. V. y
renderer.render(scene, camera);
; u. ?5 p' f: F9 v' H}
4 c) b' R# K2 F( W; p6 M2 P, g2 N7 `- R$ Q, W
9 Z7 u9 X# m# L) x! Y
. y% ~& m% t' k# @# d: a- t) I5 evar Gameloop = function () {& p; ]' w) Q# l) c$ `) w
requestAnimationFrame(Gameloop);
2 P( T+ ~/ t6 A2 G) m% B* G, H/ W ] update();2 U8 F2 }' S7 o) Q/ R! l9 I
render();- a5 z$ p0 f, K( M! v) R, Y V- }
}$ i, d4 R% ^" g: j
1 T" U; H# B+ b( I
Gameloop();; M/ v0 m/ Y. Y$ H% {
[/mw_shl_code]; S& B, f, L! o
x4 @- E. m& g2 [% D; R/ S
# B* _# l0 f/ H" t! m1 x5 c, R* R引入争取的html,
& R8 f& l; i+ O3 q7 _' d% f" u: o' Q1 x
[mw_shl_code=html,true]<!DOCTYPE html>
# n% c' w! O6 L$ I" z7 h! X J2 \<html>. j1 D& W2 r9 p1 z% I8 Y; d
/ ~" ]: x$ ?$ y1 a
<head>
& _8 h$ O G; b! r1 {3 E <title>hello ThreeJS</title>
; ^* Q5 u: [3 | <style>$ x" h7 x S8 u8 {% M' N
body {# W9 i* b0 y9 d& G
margin: 0;
z1 R2 R9 C5 ?/ |) ` w" P8 g- r }/ v" n* _% H' A2 X5 J
& D6 s2 \( f* t( W- k- n% o canvas {0 @3 k$ ^# G' V% O; G
width: 100%;
3 _& S$ E$ ]! w$ x: ]9 c a height: 100%;; _( \$ ^1 b l$ d* l
}% n4 V) E: K' z' l" Y: ]9 V# E
1 b0 }/ G3 I' T
h1 {
* X9 K8 C$ }, r `8 L color: aqua;
/ @& y7 U) B4 A! ^3 t0 l0 K+ Y }
# a3 y( r5 P/ a' L+ |: ~1 C }; g2 S2 N </style>+ c: I" j& D- q- i( B* l5 V2 ]
</head>
0 E8 j% T& g) g: |0 T
3 X0 c* \5 E: o; o5 d8 f( i( M9 Q<body>9 z1 k6 ~' e/ @( {. P* }7 M# _
<script src="js/three.js"></script>
[) Q8 [ j# a. U+ y <script src="js/OrbitControls.js"></script>1 T( j4 Y( y2 _! Y
<script src="myjs.js"></script>
( s9 w! C# k' K) J* _2 L 9 u; S, Z3 O0 I3 d+ t7 V
0 x5 z9 a0 V, p8 G
1 X2 F0 Z4 M; h$ q8 } E0 t. T: j3 t* g7 A! Q0 ?+ `
</body>' \2 j) T2 u" l7 \9 l0 W8 G, _8 E
* |7 h/ |4 Z+ }4 S& }% m</html>[/mw_shl_code]
) j' b- `1 d" a4 B; l
9 O J. y8 O6 y/ S" z效果点击这里:
$ a. d. l# Z ]1 H! D8 r3 R3 d! H# j- G9 ^: F3 ~
http://plmhome.com/doteam/lesson1.html
) j; X- E, N5 P( S! z" i! s9 @: @6 b- f1 f2 x
- p) X+ j6 T4 F7 ]2 r |
|