|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
) r2 O0 D9 S0 g$ e
$ i+ p) c" N" _" e- }( j
废话不多说,官网自己百度下, threejs.org ,入门很简单。5 B3 X- p4 [! u) d, B
9 s4 s' R- k* H+ G3 i' B0 _创建的javascript脚本如下
" U5 Q, k4 g' `" d
$ Q# {# m3 R% B* v
- Q* x0 f& t' o[mw_shl_code=javascript,true]$ M4 o( e& d3 b$ Y1 L8 D) K6 p
var scene = new THREE.Scene();, `1 w$ q' g; G6 P% {6 U+ i
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);; [6 w5 @ e2 _8 T8 e) [1 M$ v
var renderer = new THREE.WebGLRenderer();! Z8 v+ t( r. w7 s' F8 B
renderer.setSize(window.innerWidth, window.innerHeight);
& n3 c6 Y$ w2 b% W, ndocument.body.appendChild(renderer.domElement);5 {" u7 R, ]* P8 j
5 A6 i2 |- z& O- s) H2 a
// Refresh Issue 0 T, Z8 o3 M( \/ h% ~
window.addEventListener('resize', function () {
% f5 @# z6 |5 Q& t0 B+ N var width = this.window.innerWidth;# ]; q0 }/ C, H& X( y, f4 C* R9 w
var height = this.window.innerHeight;. ~# P8 c2 f+ e% z# K+ h0 c
render.setSize(width, height);# Z( U3 E7 T! @9 S3 i' O K
camera.aspect = width / height;! B7 H I% ~7 d! A( g. E- s
camera.updateProjectionMatrix();
7 w+ P& p8 A/ ?})* ~$ t5 m) b3 p. q! m0 v6 `
3 G V7 Q z8 {& K6 r) d) m//orbit contorls
4 H2 T- y3 f' |controls = new THREE.OrbiTControls(camera,renderer.domElement);
' m- W7 x5 m; h4 t3 l8 `0 p5 J
' L: z( A- |- |8 u4 @( b//create the shape
7 G& s( h/ J6 t: Y- \var geometry = new THREE.TorusGeometry(2, 1, 16, 100);2 f( Y6 z7 O( u
//create a meterial3 y4 G5 }+ k7 f0 g* e
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
4 a) @, k; |0 V- J//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
9 K: m8 J* T. \# V//var material = new THREE.MeshFaceMaterial(myMaterial);' B: P) s/ a8 r
, y3 ^; ?+ g/ S# d
var cube = new THREE.Mesh(geometry, material);3 K& L; k Q4 p6 D( q
scene.add(cube);* V6 z; p8 g5 |. V' f0 B" A
camera.position.z = 5;
% S9 r7 v; A4 m
" F0 a% c! a" a/ j& O& F v q7 s# R7 u) y8 o
" ]8 z5 k' G2 Y% x( F- _: {. e
* b5 b6 i& p! ~' G2 O, T$ Z
\6 q* @: A# S7 }% E//rotate 5 \) k0 [& [; ^1 F( t
var update = function () {/ |5 g/ F+ @/ p% K4 m* j
cube.rotation.x += .01;5 B) H: a q' R& L
cube.rotation.y += .02;) ?2 V8 f; K$ \0 B ~% {* s
cube.rotation.z += .02;
$ h& G% l8 y9 z+ w}
) F* S8 j$ q& o7 E& T+ R; J& L3 v- U/ i7 B1 x, }) [0 v
var render = function () {
l( M8 }4 x- V. n renderer.render(scene, camera);
4 c4 a9 X' K. e) [" M}# v1 R a" W: Y$ F
0 t% ~5 r5 y4 y. C6 [! b( L7 O1 V
7 V' E( {% n' e( u1 ^( D0 U
- O) {' X0 Q0 `3 _! ^
var Gameloop = function () {
6 \: M2 }# l0 P$ t F2 o requestAnimationFrame(Gameloop);; ~) ?5 t$ Y: s' ]/ K( g) k+ t
update();6 F9 g) i' D( |; _' s
render();
8 a. X$ `% ^! L/ L% q6 L}
; l( u5 \5 d5 H2 ~! j2 m+ @2 d; k+ ?% G6 j5 p& u& e W
Gameloop();
% C% }5 W; ~. P& I0 H# S4 X[/mw_shl_code]# U2 o- I( B# e$ B+ N$ M1 r+ G% F8 T
2 {3 w# l5 ]! J8 c& m; u# {9 C7 j& _! }) ?: v0 R: _! G
引入争取的html,
( s2 m+ Y. p2 L! q( O. @1 {% K3 R7 a u$ H: |
[mw_shl_code=html,true]<!DOCTYPE html>
$ {6 m) i; S/ w) f7 C' h: H<html>+ T7 A/ Q h# o/ I: e( [/ U
2 l/ `" h2 e7 b- P" e4 I<head>: \6 p& U$ K% T) y
<title>hello ThreeJS</title>
& Q; O; y$ A& j) Q8 |8 m <style>4 A. E4 F* t* }
body {! n3 {2 k+ _+ i
margin: 0;9 w) G! T4 A/ D7 ~2 ]2 X0 c
}
" a0 X0 t* {; S4 E' G
! f$ K/ g% q$ i canvas {, ?2 i: f5 Z( ^* R
width: 100%;' }% P- W/ _2 ~% k* h
height: 100%;" }: \ i# p0 {; `5 g
}% Q$ Q" H* a; r2 C
- ~2 W# n+ A" W7 \3 n! g& q' A
h1 {
' o5 e. O9 C* W4 }& X color: aqua;
2 g/ U3 D m) f' r }
2 o+ T$ P3 k. |- U1 Q$ P2 I </style>; ^5 p1 o9 o/ w! o
</head>$ c9 f# w K6 |( M
" r+ n$ ]2 T4 T2 g% k5 Z7 I<body>5 U+ ?& L7 }6 D# m
<script src="js/three.js"></script>
8 [. d& n d! C$ B7 z3 v <script src="js/OrbitControls.js"></script>, k' M1 ?$ A9 X! p. _
<script src="myjs.js"></script>
( d( V( i, T9 C; L. C" n 3 X# a( w$ C7 V2 S8 r1 O3 U
+ E6 q# u% X" D3 r& b/ h% w) ~- O: Z% i
' X8 f, f; I+ u$ A0 d4 @0 u1 v
</body>
6 S! Q; P F( h* m, r; X& b5 ?0 O) B9 @ H- {$ ?, }' U1 l
</html>[/mw_shl_code]% B9 t6 b4 ]9 [7 o+ M5 [
$ V, ] ?0 l, ~! ]3 V& j
效果点击这里:
" G4 t& i$ {1 R2 F- o% Q
" y% g* s% U2 ~- T2 x+ vhttp://plmhome.com/doteam/lesson1.html
8 Y' p, v" @% B9 q3 `
4 ^5 J9 M+ d0 D1 z6 T P7 ^9 V1 U' W4 `; d9 m
|
|