|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
. q; \6 c6 J" H) C; Y) I$ n( V) y6 X0 F; r
废话不多说,官网自己百度下, threejs.org ,入门很简单。
6 ^+ E8 @6 `& N8 W/ G" k- P% ?0 {0 K' U
创建的javascript脚本如下
j' |. M, }3 y# S+ K: [3 R' r$ K( o1 O" M
- x. F) M8 v$ p. P! E- c+ a0 g
[mw_shl_code=javascript,true]
1 A# q* R0 F1 g1 J- kvar scene = new THREE.Scene();
# N& p" Q/ l, O* Y6 q4 avar camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);* A2 k4 O) L4 m: \
var renderer = new THREE.WebGLRenderer();: l% z& L1 G J0 Z6 T5 G
renderer.setSize(window.innerWidth, window.innerHeight);
4 N) u9 E1 k/ ^! w8 Ydocument.body.appendChild(renderer.domElement);
. e" A$ c/ G- w4 o9 @* z
0 t2 @& A0 X2 b. b% x; B+ n// Refresh Issue 1 T) S- Y3 \: L$ t* o/ A; T
window.addEventListener('resize', function () {) u& U( E6 o. v% [9 \
var width = this.window.innerWidth;
/ Q# i9 V! y5 z, b var height = this.window.innerHeight;
m, @0 l( F g# J+ N S render.setSize(width, height);) m; E5 F7 i' T+ A- P
camera.aspect = width / height;
7 l- }. ]+ D; e4 O' J3 \ camera.updateProjectionMatrix();" G* @2 I, j: K. `$ j
})# l: a3 L6 ]$ ]0 I
4 t& C' {1 U5 [: `% A/ w
//orbit contorls
# V6 b7 R9 @6 j- ?0 kcontrols = new THREE.OrbiTControls(camera,renderer.domElement);
: a) X5 k, J9 y/ }* k+ Z, k( w, w6 t; D* P2 Z
//create the shape
& H3 ^- X* o* gvar geometry = new THREE.TorusGeometry(2, 1, 16, 100);0 \# U# I' X( J# B o- ^- L5 z8 G- I
//create a meterial3 o- o' ?4 `' X7 X
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });1 s5 B# }) y( }/ G6 g, Q7 }
//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
# K. M, F3 Z) q% m% k6 c4 `//var material = new THREE.MeshFaceMaterial(myMaterial);0 m' N, }* g9 h0 [) f1 x! z
- L- {* r8 e1 \ I5 M* I! r7 jvar cube = new THREE.Mesh(geometry, material);* e; P, t) ~8 t1 ]( x w" D" k
scene.add(cube);( l0 T) [: t0 X: L" B' d$ h/ ?
camera.position.z = 5;
- H' }7 e5 G7 o: `
2 i2 J! g2 L9 R1 ?8 C
# z' T4 [3 s0 Y- C) O2 K, U
$ ]% [: U5 ~. r+ Z1 T9 _
/ n& P' Q) }# A3 J: ?2 D$ q( A$ H3 f L8 J! h; s$ }5 k
//rotate % o# n4 b: E X: M
var update = function () {. y6 t5 I8 x" j
cube.rotation.x += .01;
7 i7 V& ?1 L9 O' S) ^ cube.rotation.y += .02;; D( y3 {) w& }' l& s8 Q+ y- x$ l4 l
cube.rotation.z += .02;' R& Y* H' ^4 ]" T G, h4 |) Z0 q) b! b
}
; K* w1 O: m8 G
4 o. a }% f4 R4 bvar render = function () {
( r9 ^' M: n9 u' P; c5 s* ? renderer.render(scene, camera);
3 H% l7 M, S$ j; |- v+ B4 d" N9 b# F}& I0 I+ f5 q& O1 t1 S" C- }
! j7 h4 L5 W* d$ K- G- K
% d5 o) Z5 G! [/ G# B K2 e9 R3 C+ p9 p
var Gameloop = function () {
! @% k8 k8 p$ j1 o+ A requestAnimationFrame(Gameloop);, ~5 `/ }, r) x; |- E
update();; x; ~. \+ W7 Y0 A8 k5 }
render();0 b, ` M0 N, o6 ^0 O+ K, I# R
}5 [0 J0 u: F9 X4 V2 W3 \) w
( p+ j* V) d) F+ m9 J1 QGameloop();8 y( }6 f! _1 z0 @
[/mw_shl_code]
# Y- ~' ]) ^0 t
: J% E5 N6 N/ j5 @; }/ t* M
" Y7 L0 l( ?' t+ c X引入争取的html,
5 l% P: Y- V9 B7 u% O* x% r* s
+ z; m# H5 q- ~6 M' o, y[mw_shl_code=html,true]<!DOCTYPE html>
8 d) f' j* {4 ?% D ~5 g<html>6 s) H9 |% n+ @. h) X) z* C. r
" ^5 F* {0 y2 F! l! F<head>$ O t# u, w/ r. x! ~7 D8 W
<title>hello ThreeJS</title>1 H" U9 J8 }+ `3 F+ h8 {
<style>
9 M" J. f- {8 l" { body {; i; @ } w( B" Q
margin: 0;$ n6 n7 `1 l* v5 u! D; O! U% Y
}
6 p* P* ]6 U3 f" z" E( F% G# x0 X" R* E9 {& x. V6 `9 C+ h
canvas {
5 I& k- F: w; u! D* U) k$ i width: 100%;
G# {+ c# e3 V" A; T1 A9 i9 b height: 100%;
1 |# {: g$ X( }$ b: L. p; p }
) S% G$ m5 o3 D7 J6 Z3 G1 Q% O" f3 t! t$ [) l- g$ P
h1 {
7 T$ k* c0 p' ]) `# g' r% z9 { color: aqua;
j! _9 @0 f; N1 A0 @2 e9 j# w } J+ k9 V k5 y6 {! ]9 ~' L e
</style>
0 ~ t, E- E8 ~( g, B8 d& l% a4 H. ]</head>
5 Q8 m4 e& q; D" C: h, I$ H, _# {1 \+ u. M G8 E2 k
<body>! v* g; t/ {2 n8 F) B
<script src="js/three.js"></script>
) [. v0 m8 S" v6 }1 w# `, S, C, p <script src="js/OrbitControls.js"></script>$ j0 V8 X8 x& q6 s
<script src="myjs.js"></script>
$ v2 @; B4 _3 @2 ]/ p9 h3 L : v! K) z6 w; M) F* k
+ f }4 \, p+ \
8 X8 ~( ^ K5 }9 x6 r4 X& Q5 `% [) H8 |) e0 p
</body>
8 A7 X( W4 a/ ^' y4 `
0 C$ K, w: \1 ~6 m* ^0 \" R</html>[/mw_shl_code]
4 H* V- c; }/ H( T3 h
# _ J4 K1 [ n6 k/ [. R' c效果点击这里:# N F. C3 Y) t, i$ J) V
8 V- y; N b6 F* }0 \8 t9 e5 `1 khttp://plmhome.com/doteam/lesson1.html9 `& C7 Z: A2 |- s, E
/ x8 z6 d. Z( h: ?, z
& t8 m# s3 n0 o* c |
|