|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 Y( F$ F Y; Q8 g+ o2 X
/ r4 \4 ^0 y) Q/ [ P
废话不多说,官网自己百度下, threejs.org ,入门很简单。2 a$ m# P* f, L& p& s
2 y2 z+ q- L' P5 p创建的javascript脚本如下- u- i& i8 u ^: V1 n9 h5 ^
* v2 m# R& f2 N( I! _- Z
$ ? W' S7 g7 o8 Q5 U[mw_shl_code=javascript,true]
# ^$ {3 Z3 j) [* `4 B3 L8 kvar scene = new THREE.Scene(); B* L2 r& \" O" p" o
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);' R' P S8 R- H3 z8 a5 Q( h- t6 m
var renderer = new THREE.WebGLRenderer();" M+ t) d! D, ^) Y5 c
renderer.setSize(window.innerWidth, window.innerHeight);
: a. i6 G( F( i6 [. hdocument.body.appendChild(renderer.domElement);/ r" T/ O% P! c! ^; P w; W' S* h ~
8 h( B2 { }0 y- p$ @// Refresh Issue
. ]' {: ~: ?- ?% J) G5 {window.addEventListener('resize', function () {
) K: [* N6 z. N j- y9 F var width = this.window.innerWidth;; l7 i: w" A7 ?% U+ p# S
var height = this.window.innerHeight;
9 O( v8 e- C' K3 C l% R/ k render.setSize(width, height);
! r* X! m" X" q9 C camera.aspect = width / height;
8 S" E u6 p. w. e/ s camera.updateProjectionMatrix();
6 g5 S! o* o9 D: l* H}); c0 q* X) ^$ ^4 K' r
6 y6 z+ x: U3 Y9 [& A* V/ \7 s
//orbit contorls
& q7 x" X2 e) J* I# n+ ocontrols = new THREE.OrbiTControls(camera,renderer.domElement);
6 F- ~3 ^ \) M0 P. m4 F7 E$ d
F4 w* g. ?) x. h# A8 U. p//create the shape
% t# c4 d! a) C( B- pvar geometry = new THREE.TorusGeometry(2, 1, 16, 100);
( ]+ `3 D$ A4 N' n- |& G//create a meterial$ J7 v+ g+ ^& ?! U W1 _* y
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });3 b% c( B/ G- a) S
//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];" v; Y; g% H! ~& L* P ` V
//var material = new THREE.MeshFaceMaterial(myMaterial);, {" `/ _; F! y% E x2 S: L
0 s% @. F" R$ r
var cube = new THREE.Mesh(geometry, material);' B- `0 n6 i9 K0 @, \; }) y
scene.add(cube);2 X1 ?" X6 e& \
camera.position.z = 5;) [' M9 \& T# E: f3 d
/ [1 v. o7 k, X7 M+ x# d8 T
/ Z4 [( J9 i9 x9 L; M# n H& M( |' j* [) P4 K, l* J3 k5 Z
' m: Q; B# s7 M) L! u
# Z6 L5 |. [8 N& h//rotate : K" H5 W, U; @+ g1 @: _
var update = function () {
; A$ ~ f7 ^- `4 s ` cube.rotation.x += .01;1 Y* v/ ~2 m# S7 T' Z! e4 _* x |
cube.rotation.y += .02;% V, w; J* ?8 N2 d. {/ h
cube.rotation.z += .02;; P* [8 Y U) ^. v+ @$ C* x
}- X% y4 h9 N T0 I# T' F, Y' p, ^+ @
5 ~7 [- V3 w$ {3 g
var render = function () {8 h5 j9 J% A. U) f+ a
renderer.render(scene, camera);
4 R z+ p- C2 R/ p/ Q2 J0 \}/ ^2 N7 H( w& K) p! b
! L3 E6 P/ @& F* g
9 ` q. a# R( r5 a- u9 Y% l3 J
3 j n2 k: r' H7 _var Gameloop = function () {
) B7 m5 I: U- I' f requestAnimationFrame(Gameloop);5 F4 _" |4 s; `& i$ K1 V
update();
( i; ~" O& n& B* e7 r render();7 i! v5 o3 D9 Q- D
}
7 _3 s# f& [: A: [/ \3 j' ]& b( X/ l4 t6 {' Y, K
Gameloop();
1 w+ N# p( D# q4 [! ~+ W[/mw_shl_code]' f0 Z0 j1 Q) ]% P+ c) n* s( P
3 {' Y7 g \6 r8 _
; C7 ?3 u" z& S0 C; W; u引入争取的html,/ e/ w% l/ s2 f+ C' M [6 A
8 D( s- p2 _) h( ^- G/ i[mw_shl_code=html,true]<!DOCTYPE html>
$ {6 v3 U; x" r+ D<html>
1 l" v7 w" m: {# }, R
0 B7 A3 d; T7 t$ P. c0 a% C- Z<head>6 \( M& r" n) K/ t
<title>hello ThreeJS</title>
' X% }# z% ]4 K! S; G) N2 k <style>
3 P, m% n' B$ r body { O- Y9 W4 s" q
margin: 0;
4 |, P7 |4 d3 Y) Z* u. l( ]( E }
3 Q5 B; @( ]0 q, |0 U- M5 T5 c$ n( Y4 A. t
canvas {4 a; h. N" n3 M* P( ~
width: 100%;
; h4 M% p& z, d% @ j p. q height: 100%;( v7 v1 G. \+ A: I$ M+ b$ Z
}" J' _6 j8 q( T3 t$ p: |
3 ?8 L* P, V+ c1 b9 v7 J h1 {
; r: g8 d5 T/ s P3 J color: aqua;
4 ~% o" k) [* F2 \3 i+ E }
; F, j1 D: \( U1 e: O4 u2 ?7 W </style>
+ R) p5 _( F! w# [4 m5 ?& y+ L0 p</head>
# r" q2 p0 `) H, I7 U
; \3 O& b2 R4 W" f3 O; I<body># J" x: y: a2 i$ ]
<script src="js/three.js"></script>0 j( U' u* [( a; |. ?" f
<script src="js/OrbitControls.js"></script>. W: q% z4 ~- y/ N7 x' I- v
<script src="myjs.js"></script>, R" x8 q% z9 ^* }2 v5 ?% k8 @, L
& B6 [/ n2 }, ]% ]. z1 a M
^3 v9 A8 ?3 O, R$ P5 P. C t7 [1 H) A3 v$ i
- r: V4 T* S, {% V2 V& M9 j" k7 I
</body>' w) _& L( q* |+ j8 n5 n6 K
# a8 {. H* t7 D</html>[/mw_shl_code]
, w6 h1 k; C# Y* d; m5 v7 \) O3 _, Y8 v6 b" R9 y
效果点击这里:
8 m0 o- ]& T$ t; f2 y; b9 y( X
" R* B* g; ?+ _5 L6 X hhttp://plmhome.com/doteam/lesson1.html
: a6 S) b3 g. |1 [' Q* g
$ R6 P. w: O) T7 J& Q& g4 H; W7 h; p
|
|