|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
2 J, m' b6 s# {, ]9 A
6 g4 ~/ @' a2 `: P3 ?废话不多说,官网自己百度下, threejs.org ,入门很简单。
- @2 l2 E, H8 g- p9 w. l6 T! ]- Z, J& }" [/ j( a1 Z
创建的javascript脚本如下- K& b9 B" y# r1 y; b
0 ~ s4 u, a! y/ t6 z
) }" u/ A3 b6 s$ _! `
[mw_shl_code=javascript,true]
6 L; {6 w) [9 F7 Avar scene = new THREE.Scene();5 t; L3 w* t0 L9 i' P- Z5 l8 g
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
" h% _ N" k2 h" g7 p* w! gvar renderer = new THREE.WebGLRenderer();0 M4 C& B" g* l3 v: c' [+ k
renderer.setSize(window.innerWidth, window.innerHeight);6 f- a1 @- R1 Y) _
document.body.appendChild(renderer.domElement);
$ @& a8 j; m5 z1 Q0 b9 a/ y- M# S$ B
: S6 c3 a% T. y R4 |* z// Refresh Issue
8 N. K5 r8 V- t( e2 F, n; _: xwindow.addEventListener('resize', function () {
& Y, n& i* B/ |) Q$ ~3 { var width = this.window.innerWidth;
8 w' r1 p) Y, T) \$ ? n) o var height = this.window.innerHeight; @9 Q' f5 K7 d! I
render.setSize(width, height);" \8 n+ S: Q( B2 A
camera.aspect = width / height;
; S( x! O; U! t- n" b* V3 M camera.updateProjectionMatrix();) | V% h# e! n9 _8 t
})7 c8 B, v4 p5 f: W# |) R+ l2 y8 L
4 m' F+ Y( y9 ^: a" n j d
//orbit contorls$ t/ v- _" t; i& }9 }; s# m7 h! G
controls = new THREE.OrbiTControls(camera,renderer.domElement);0 c9 w8 r9 l8 I. ~6 @
/ ]2 l; \1 {/ `/ n/ |2 }//create the shape4 @. P% n, E [5 G* S
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);
; B ^0 B6 d3 s//create a meterial
( E% Y! Z- J! Avar material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
% }1 J! v& w0 _; @9 Z//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
5 A$ E2 e* j: H$ J" X2 ~//var material = new THREE.MeshFaceMaterial(myMaterial);
* I0 f% Z5 }) s3 N9 ?' f: P9 J
! `: y0 y: h$ w( ~& ~/ Zvar cube = new THREE.Mesh(geometry, material);- Z* f3 T% \# o
scene.add(cube);
2 V5 d/ y6 G' T! G& ucamera.position.z = 5;
( S% _$ m- g% g* e
' |" Y8 i4 T: L0 {/ C3 e% o
' |2 X, U: A3 \8 u* a" s2 C& ]" f, S3 B N% {* E
, `* T: A1 @- [+ k& n
: @* A* c( P9 q0 @% d//rotate 3 Q, ], E0 P b( s( |- v/ B7 N. ]
var update = function () {7 V! I0 X7 _ G5 s8 N' R7 A
cube.rotation.x += .01;
+ P5 ~ `3 h- ]6 m. T cube.rotation.y += .02;
8 h; Z( [/ h4 w. G9 q cube.rotation.z += .02;% A" x. @/ |5 l' n) O% f
}
% \5 N+ q" _* X2 |! g n& k% U9 b, m! x5 T' }7 T2 F
var render = function () {
- g9 E& X; e1 r2 A& k renderer.render(scene, camera);" X0 P: }# _" M' j- p% f" x0 E
}# c9 N8 O7 s `
( W8 R5 a' ~7 K3 F% c8 C- l! q6 t
/ M& b6 t& g$ a
- }8 D$ q: l, G5 g: z( m$ H I/ K: yvar Gameloop = function () {
( g6 R" A9 e& a4 d3 l- U requestAnimationFrame(Gameloop);5 F- F( S8 `& k3 n* r
update();; j" k5 v I4 a- u
render();0 R: E2 n& h8 c
}
/ Y1 x2 Y- V2 r o! g F! ^9 k( Q" b$ _3 {0 s; c# H4 z) P' l
Gameloop();
0 I6 G f' k( }& S% g. l[/mw_shl_code]# K; }+ O7 ?( E( [5 O$ z( z& B+ {
) N1 G* C; }4 A: o( f0 R9 m
+ O4 W7 o3 @" }" ]引入争取的html,( z* E0 J1 J" C, v# O
# O) a5 K0 K G6 H( ]2 J[mw_shl_code=html,true]<!DOCTYPE html>! S1 l- y6 y# ^& h5 i
<html>
7 x; E$ @. L( @( W* Q: E
( }& C" t1 q0 m g. Y" @<head>
- S5 _5 }7 }& v9 ] <title>hello ThreeJS</title>
S: R$ a8 l+ \ <style>: I( \8 E; a+ j, P. }0 t0 M: F
body {& m! N0 Y# s: L) E# d! y3 {
margin: 0;( P+ S% G0 v& y9 V5 h. k
}
2 B+ x# l. q: u/ F4 U5 o
! b: l$ v0 z% }8 d( y q canvas {
# N7 l/ W$ n& f+ G2 N( m/ a width: 100%;1 V+ z& e, H7 ~5 c" o
height: 100%;9 r( I @- |7 T5 C0 [
}
( ]; w" P+ j6 o
; Q# P M' a6 T9 F h1 {
1 u2 |3 Q9 C7 J6 u9 b color: aqua;
; E# ?3 `: G' o3 l% F+ i }7 Q% N: Z5 p- n- `3 I( I8 D
</style>
. z% Y4 x) W2 c: r0 G</head>
# U$ E, z% T+ k: b' ]; i, m1 O) b" ^1 `0 T
<body>7 d6 |( F0 _2 L" K4 z4 x. a
<script src="js/three.js"></script>4 d* g% y1 z5 |) F# {" o& Q
<script src="js/OrbitControls.js"></script>
2 c6 @+ Q3 q5 u; O* u5 Q <script src="myjs.js"></script>( o/ H. ~* N c0 |$ {
, j7 ?+ _. e- e9 ?. e6 s7 r) H, K" S7 u: s6 N
( o9 f6 r, T$ I) S
3 T# I. O; G% A0 H</body>1 d8 `* P5 U0 ^5 V
4 N: \( s2 f# t: O2 S4 n
</html>[/mw_shl_code]
% C. H+ g# _5 }, w9 R8 |2 Z0 G
' U2 a* s+ m7 z. ?) }3 a效果点击这里:9 q; d8 G n. I- S
9 d1 Y7 u/ a" y2 v5 E8 _
http://plmhome.com/doteam/lesson1.html) h, k! r6 \+ t' }8 O+ W
: D, z% W1 d% J4 u6 `8 s7 Z- K# p* K! w
|
|