|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
: k3 \0 g. l7 e3 z- c
1 ]* ]! }" ~& n废话不多说,官网自己百度下, threejs.org ,入门很简单。. i1 x/ k& X m4 E; z7 Q
& _+ K P; e' G8 f/ f创建的javascript脚本如下
- R7 r- b) _# _8 u G; H
; l$ T- u3 g2 p7 D. U
% N% M v6 Y4 F; X) o" c8 s
[mw_shl_code=javascript,true]- R" G7 x+ ?! T, a8 \: t
var scene = new THREE.Scene();6 X# E k; G3 g9 q3 \9 b" p5 R
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);* q* D( c% T b: g
var renderer = new THREE.WebGLRenderer();$ V2 |3 K) B8 ^. _$ b5 I( k3 H
renderer.setSize(window.innerWidth, window.innerHeight);
Y L1 ?1 E6 ^7 x0 `document.body.appendChild(renderer.domElement);
! t0 W n+ _4 z T+ }6 S
) O2 ^: q# q9 O4 y! L/ X! R/ [// Refresh Issue ( y' [2 x* t- n. l
window.addEventListener('resize', function () {
, k: z7 U0 q% f+ X' g var width = this.window.innerWidth;
! I d+ v' O" u5 C0 f var height = this.window.innerHeight;' M+ p( \1 b0 Z9 R S- [, V& s" [$ B" _
render.setSize(width, height);2 c5 O- ]* i' e8 a
camera.aspect = width / height;
3 ~0 f1 W: K0 h0 m0 ]5 y& @! `: v camera.updateProjectionMatrix();
; }: F& d& @* d1 u4 S g})
4 V5 C) U7 o5 A& i4 N# r* ]0 ]$ z) j; r
//orbit contorls
, f* f- X* N" J; R, b- J" N- Ocontrols = new THREE.OrbiTControls(camera,renderer.domElement);
1 E( ^, G" e4 M7 b: l3 S) g- a h0 ^5 a" ^; X) P7 ]* U3 C
//create the shape
/ D: I7 T: f! t+ ?1 m" ^var geometry = new THREE.TorusGeometry(2, 1, 16, 100);+ Q" X8 C( T- `' q( g% z% q
//create a meterial
! h% ]( o& J6 u. {$ Bvar material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
$ t5 t& b5 d6 r% i//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];& ]7 R7 |" |& u0 ]8 A
//var material = new THREE.MeshFaceMaterial(myMaterial);& I2 |7 ?6 i4 @! ]0 s! ?
; h8 f1 l% p. `+ F$ W2 [3 q0 nvar cube = new THREE.Mesh(geometry, material);2 z! h) I' s" p( @: Z( o
scene.add(cube);
( d/ F9 t* }( M+ Kcamera.position.z = 5;$ {: v$ E9 o, g" I% x2 s
" |) \7 A( G# g% P) v
T3 b& R& f0 O1 Y; Y3 b5 A2 }
2 c6 y |& W" i3 R1 i
' C0 Y7 d' p' A. D6 u, s" x5 D# g/ G7 N. B0 S; A& L
//rotate
' _& ^5 l. B8 q" }: y/ avar update = function () { N' R' N/ E5 K0 g1 n5 D
cube.rotation.x += .01;
" m" z H% y; x cube.rotation.y += .02;- S6 n$ K [8 F+ k3 R
cube.rotation.z += .02;
# A2 h% u- m0 N# j4 Q}
1 U5 c& }0 V. x1 h+ z" ~
9 r6 O2 @, u! i( J% X/ P0 ` r, }var render = function () {( f5 f* J3 @" B* o( E' v9 _" j
renderer.render(scene, camera);/ p/ I. H, O: o
}% D7 m+ s# J6 g1 B% b
2 H* K6 F' h0 G7 Y
( c" } M; B" `6 c
/ h, n4 c% ^6 N/ |* S( F. |
var Gameloop = function () {
, w* c ^3 l" i6 ?( K( g2 W; X& Z8 Z! K requestAnimationFrame(Gameloop); O1 z: x3 o6 A& X7 e! x+ S
update();
1 S8 o4 w8 N2 a2 B9 Z5 O) f render();
& Z& M6 X q. ]7 M}
7 ?7 l9 K' z3 s: |3 y& [" X* A8 a( a) u/ S; J( K# N7 `; v5 L
Gameloop();
$ A" E7 y; j; a# A[/mw_shl_code]
7 u0 J% E+ V/ R# w1 d3 e
8 {& a3 d4 y9 q; d. w/ o
7 ^. W1 y/ c2 |2 {引入争取的html, V. O9 T. V9 h6 E! M, J# i
* ~/ B. p! X! `6 \' ?[mw_shl_code=html,true]<!DOCTYPE html>: O* y J, T2 d+ P
<html>
& }2 l1 G- C6 X9 {. j- [7 n8 E& G5 p1 W% q9 I- K
<head># O* {" ]7 g: h c1 s
<title>hello ThreeJS</title>
: u9 n; R( J9 W2 v% T$ _ <style>
- g a# W9 b3 l( ~8 J body {
- ^ M0 v2 G) {6 w: M: x" m* H margin: 0;
0 H% _& ^/ @, X- r8 H }; Q' b$ Q* m. t8 {, k
9 s7 u; g. V) J2 ^
canvas {
( }% B6 o" g9 W& E width: 100%;0 X+ w' a* K9 `1 \/ H8 p
height: 100%;4 v: ? [: J9 p( G s
}+ @% y, K& m! }7 L/ g' J
5 }& h4 V9 F& H1 o! X: o9 W h1 {
7 K* p6 E9 x: B6 A) G color: aqua;
* b1 {; }$ ?! ]' e4 t {1 e }' z: u( G2 L$ o, R+ G. N
</style>, L/ }3 {6 z5 h
</head>3 g9 e2 y! z3 U$ s6 h- k5 e& Q
" j) _! c3 j3 j" A
<body>
; G+ Z: B3 {# ^+ r7 P8 p <script src="js/three.js"></script>
( s7 r# t5 S/ n1 t# H5 y <script src="js/OrbitControls.js"></script>$ O1 z$ u: f- u
<script src="myjs.js"></script>
+ q3 e% A# r5 M* w- s( p* q 9 C9 G/ w2 d, f3 a- e( X6 M
, y+ [& s4 I8 I% ?$ P8 C6 k, ~: i. \: B; g2 r
7 X& G/ Q% ?; T0 L
</body>
) { v! _6 X, f$ d `* P( g8 W- V3 R4 N. P( K" n+ y0 @9 `
</html>[/mw_shl_code]4 L [7 a; s: I: K" y
0 O1 t, v2 |3 [, m3 p P' Z. T效果点击这里:( C) w. r: T9 _8 ?
! ^+ H6 \! x; u6 }. Z/ z. ^http://plmhome.com/doteam/lesson1.html
: a* ]0 H* P% `( V( e9 H
" m% J* {+ z, L9 O9 E0 g0 x% \8 w
+ s9 z6 r; d( J, ^ |
|