|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
5 t9 _* q$ [! B$ B! k W p$ Y' ]7 n1 _& F2 N2 _$ `2 K% |
废话不多说,官网自己百度下, threejs.org ,入门很简单。
3 h" V# S( D2 L0 @- C0 K- O/ X" e5 W% d( D* c: f
创建的javascript脚本如下( Q4 g, U, b8 \3 ~5 U
( j4 h6 O8 t G: b' m$ ^
: C6 }& z5 Z* r# o. ^ N2 R) X9 p/ t[mw_shl_code=javascript,true]
' T1 f( H) D( fvar scene = new THREE.Scene(); m% g# `1 M1 S
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);7 n+ I, Z# J2 w$ ]" Y
var renderer = new THREE.WebGLRenderer();
7 p- h8 \( v' {( [' ~/ \renderer.setSize(window.innerWidth, window.innerHeight);" n' k5 C0 A9 z+ n4 G! d
document.body.appendChild(renderer.domElement);/ @# {! t# D, Y( B) }
5 V3 d3 j" u3 f }! X1 t c6 U// Refresh Issue
7 J8 ] \7 y- Q) kwindow.addEventListener('resize', function () {
' o; F( y/ w0 {1 F W var width = this.window.innerWidth;9 j% f% k9 ?" Q( Z0 @
var height = this.window.innerHeight;
' E6 k: f! i$ l( s render.setSize(width, height);4 O& P+ C9 b( G
camera.aspect = width / height;: G$ m# A7 l) p
camera.updateProjectionMatrix();
4 u: G# n* X* t9 J; ?: z})) U' G4 K' D2 T @6 @1 b
, u/ n) G$ Q& y$ L$ @//orbit contorls( Z4 ?! j& K7 P6 D* B( Z$ p1 k
controls = new THREE.OrbiTControls(camera,renderer.domElement);
2 D) j A& A8 N4 T9 N. |
\: a+ z/ m. k1 K- r, H2 j9 u7 b//create the shape% Q4 Y/ M- B$ s0 b- J+ a
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);, v4 X7 ?( g# M2 E) u
//create a meterial I% T8 r5 x8 o8 A( p, u
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });2 i K) J; V$ U) r. g' ^0 p
//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];% K9 a! {2 a' Y; f; z& j# g) y
//var material = new THREE.MeshFaceMaterial(myMaterial);( i$ Z7 V7 L. _; D' l. K5 E9 Q# ]
% F1 w- {1 w+ ]4 uvar cube = new THREE.Mesh(geometry, material);8 l% |! m# H# Q! O0 @. i
scene.add(cube);2 ?7 Z2 ?- x+ D- C8 U
camera.position.z = 5;. j3 V6 D4 ~$ _. Z: d' _ E
, e% n" R" e+ ^ h& Z) B2 D) U
* g4 I+ C# m; I4 r' ?
/ _7 Q: j$ V& m* [6 T% W/ q0 u+ p. F. M
: Y% o4 T" b# ]! S4 k9 ^3 C
//rotate
! R4 A. t5 b: w, k8 avar update = function () {: ?. S4 a) ?, q; M( m. j3 t# U/ t8 A
cube.rotation.x += .01;
) B: ^7 d0 \2 u" p' c" A cube.rotation.y += .02;
" f. D' F" X* Q0 Q cube.rotation.z += .02;
' S5 X2 z4 I' s( x% I* J5 [% O. ?5 T& @}* O( o: E& G W3 {5 y
! e4 [, w- p5 s A
var render = function () {# Z9 ~- d$ f, @* F% X) P* x
renderer.render(scene, camera);. I8 `5 b5 ^) t4 j; s. ?5 q# Q
}9 Z/ {4 }1 B0 ~4 [7 {
8 A% a. Y# e# y L l
% K$ U- y/ n0 g# P' [7 `5 r* y! Z9 H
* ^7 ]0 O+ y/ }$ E0 K. D9 ]var Gameloop = function () {+ ]# r+ p. j* P/ |6 p* O' _7 k
requestAnimationFrame(Gameloop);
3 t5 p) y+ ?1 \$ _+ f0 y/ M* t update();
1 K4 b# L( I& s6 I# e render();
/ J& S/ i/ g* d! m}
/ ^' R" E+ I, O3 F
: O* e% _8 D5 ~" @$ oGameloop();
# M7 W4 q+ g1 x" h+ a1 D* h5 Q[/mw_shl_code]
t. b0 m. D; V: S# S
2 h1 a4 d# `9 u: F8 R1 N9 j
k3 a9 S( D& ?8 i引入争取的html, ^2 Y$ Y) v0 ]. [" V+ e" L4 k
$ \! d( ? Z& p5 ][mw_shl_code=html,true]<!DOCTYPE html>( t( L2 L. R" s5 d; T. \8 @7 D7 V
<html>
1 M# }# ?& `6 N2 H' I3 z( |, ?$ C9 {0 x1 V. J5 }4 q; v7 X
<head>
' L3 |9 u! Z2 d6 X {9 I% d( U <title>hello ThreeJS</title>' b8 K2 p7 g; h1 C! j
<style>
% {: R2 F o& }' k" C2 _: R5 o body {! |2 I- K' X9 `& }
margin: 0;" c( Z' s3 R$ T+ G! m4 `
}
( G& ?" X, D4 Q7 y
3 G+ s2 U$ x7 s3 k canvas {3 A+ v; A" p2 ?: o
width: 100%;
% W* s5 L+ ^2 g- B height: 100%;
5 x) H1 [' J; d- M9 `$ h" L# g }! K1 J+ s9 R0 i9 i, M$ c- ~. ]
" D1 U* i+ v+ i2 b2 S# e" P
h1 {
% c" ]$ V+ h! f2 F0 @$ q9 Z- r color: aqua;- |2 z! L( w8 x
}1 d9 ~+ b2 s1 [# |% K0 x" U2 o
</style>
% w9 |1 J( T0 Y' Y( c% W- G</head>" H" U! z; \6 s2 i* ~5 l
$ b9 x! j5 H" u" C# j6 y3 [6 [
<body>8 m z4 M7 `8 S/ M& \6 \+ \
<script src="js/three.js"></script>
/ k8 s+ ]! N+ |1 m" }; z5 W <script src="js/OrbitControls.js"></script>$ X+ w8 l, Y) @( R) E3 }4 Q3 O1 b# }
<script src="myjs.js"></script>
: V+ @0 K# Y& N6 U8 a. U* Z
& ?' a( W$ X! {; T0 m A& f
5 V3 E% p9 G6 O9 {# j1 ?2 X& L9 n2 q n3 ~' R8 W; u9 W6 E
; R$ A8 h+ C) I, ^7 B. _
</body>6 S8 W- j" P4 t0 ?* U2 h" J+ n% A
. |- o! \$ K8 r; K% O</html>[/mw_shl_code]$ ?( v* @' q# y
+ y, |8 Q- e2 \/ v7 h9 H1 U$ K
效果点击这里:
3 l$ f g) @* v3 s: J' D, @7 R& B4 Y4 S# H2 y
http://plmhome.com/doteam/lesson1.html
# g- l" Q6 M3 l( c" i% u/ n5 c9 L) s- T) |- Q5 p
. o8 h! I3 ^; t: y
|
|