|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ n- @ w2 x1 W1 S! P
2 J+ }: m9 m$ c; y% F8 b4 c废话不多说,官网自己百度下, threejs.org ,入门很简单。1 ]) W4 T" V$ m8 G1 R
* m7 O# A9 Z7 i
创建的javascript脚本如下
+ ?' L8 |2 D# u H: a5 ?6 f# N! e9 y k7 ~% u! {
8 F( F% ?+ L/ w! }! N[mw_shl_code=javascript,true]
- `- B# }2 z& @& T4 [var scene = new THREE.Scene();
$ S, I& L: X0 l7 p' `: s4 q% kvar camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);0 Y6 g3 o$ u% O. l, @2 D, ~ b
var renderer = new THREE.WebGLRenderer();
# S) E( l2 p L4 c, @renderer.setSize(window.innerWidth, window.innerHeight);) J) P2 u3 I, ?. |
document.body.appendChild(renderer.domElement);2 w4 c( f! @0 g8 _1 `
8 ]2 m- z: l$ g8 ^
// Refresh Issue
. E$ b3 z. Q1 n4 E' x8 Ywindow.addEventListener('resize', function () {' Q" G h$ p- |$ n
var width = this.window.innerWidth;' K+ `6 P: y# t" V' X+ t
var height = this.window.innerHeight;: E/ u/ M% B; b; [, y( R; m
render.setSize(width, height);( S" w N+ h. `
camera.aspect = width / height;
6 K+ f/ B, C! N5 M camera.updateProjectionMatrix();, @3 ?$ W7 _- f$ @
})$ b# @8 z2 X, d% }5 e
, f5 [ | E; O% y6 e* ?//orbit contorls
1 M7 Y+ f+ V! l0 L% c1 pcontrols = new THREE.OrbiTControls(camera,renderer.domElement);
! @% a* Q+ m" c& X( ^" X. x+ }( D) f6 ]/ y: r- I7 I
//create the shape
: z* U' b! q4 P Jvar geometry = new THREE.TorusGeometry(2, 1, 16, 100);/ p: J2 [+ J& o* N
//create a meterial
) ]6 W' \, Q0 Y+ b+ W3 ^3 t' l, ivar material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
2 @- G5 g% Z9 D//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
( }+ m, p5 D% M; y//var material = new THREE.MeshFaceMaterial(myMaterial);1 P8 p3 N l. z( |
$ m* p [' e5 G$ J" {8 xvar cube = new THREE.Mesh(geometry, material);+ S, j6 R9 c! s( u
scene.add(cube);
. Y" U, k# l1 [9 y- Hcamera.position.z = 5;) ^# G7 M/ p" ~# i; A1 V+ p
6 I: r' A f5 Q5 l& b; q S6 `$ j& C: M3 e, n$ b
8 I# h3 [( d3 j4 S E Q
% Q" N# E" N7 I' W& X7 Q& j3 A6 C+ K1 }3 ^
//rotate
7 K% y6 q3 h8 l% s- D+ d3 Jvar update = function () {
$ x& {# m( {0 O3 g2 e8 D2 u7 E/ o+ | cube.rotation.x += .01;
! w! b! d' t6 l1 R6 D cube.rotation.y += .02;- o F9 ]6 o' u e: k
cube.rotation.z += .02;
# u3 O( b7 i# M6 b- N! }}7 [& f+ G2 s: e0 U, w- J# f
% M" w8 i' P+ f, p; D+ H7 v7 ^
var render = function () {
# x5 e8 t: `% _! x! [ p4 _ renderer.render(scene, camera);4 `1 `% M1 o/ T! f8 D
}5 E3 k. e8 Y: [- P$ j
; t& ]% U, Y- ]- {7 D$ b7 {. f
7 K, N u. y* k! @% o5 k1 C
8 n3 H4 ~! q9 cvar Gameloop = function () {
- w: o$ r5 n/ i7 \( x" L; L; f requestAnimationFrame(Gameloop);
% m# e/ h/ R' D ?$ w update();
% i: n- r2 x; t3 d2 O' z" d render();$ l. ^$ A2 x3 b5 D7 F8 P$ }
}
$ f. x, L( V! x. c9 A! `& r1 @5 g7 V+ k, d4 w7 W2 Q
Gameloop();" h# M) E4 S, M. R; F o5 g
[/mw_shl_code]
- g8 C6 C% o2 X _3 Z6 K
S$ `( e1 D; x' E4 r
6 W# E0 A0 }$ _$ G% I8 z引入争取的html,
1 m' ^% E" w1 X5 {! J0 q' W e6 ~. L5 N0 r5 `2 j9 @
[mw_shl_code=html,true]<!DOCTYPE html>. f0 W4 Z) W1 O: n0 b3 g7 N" n
<html>7 f9 \8 l- p; U
+ @' s9 I. i5 t: Z- F; ~; a( z1 }
<head>: ]$ _2 m$ e4 ~6 K# ?, x
<title>hello ThreeJS</title>8 e" n8 d. Y6 A, t7 m2 `6 D
<style>
! X+ q3 i/ _$ q0 O' P+ J body {
: [9 @# D% \3 C) k+ a margin: 0;
' b. z. {6 _7 B }
, z1 w- }/ S" _0 i( M# d! O7 Q" V! [0 W$ P- a
canvas {3 y5 \- y5 ~( }, Z
width: 100%;
]3 R4 V' \* h2 V2 {3 S height: 100%;* ]8 { c' w. Q" `$ }, s( A
}
: D' U0 C& a6 ?5 o: A2 q. i1 a0 J
8 f* I2 S2 w# H! v h1 {7 S; K9 F$ T% p# _: y9 O( A6 F
color: aqua;
+ s: m2 N3 a/ i2 U: c n }
3 ?" S. f8 q, [ w/ U* b1 v </style>* p0 [ _3 I. g" m# B
</head>/ P1 }& ]3 m9 p' K+ E4 t e
2 E' Y" l0 l' ?) b2 q# d( K
<body>2 i3 l4 c/ n/ H* C, `
<script src="js/three.js"></script> ^. F) l2 H; {3 V8 Q s
<script src="js/OrbitControls.js"></script>. D* J. P# K( s; _$ `! {
<script src="myjs.js"></script>
; n1 I- G+ r, }* z2 X: ]8 c
7 N4 v: r( @% Z' E; S
: o+ ]5 |0 C- n8 R4 I& f
' [% m& ^: N1 W6 u
# g; {' s8 \4 T</body>7 D6 X; Q% x/ ~' v- U! h
/ @) I0 b) m" w4 l L+ T/ i</html>[/mw_shl_code]' b$ n1 s# M4 B* ~
* N3 U1 n2 m7 ]& a7 B& ~效果点击这里:2 Z& g8 o9 e& _* D
( R( m* K7 T! Y( ^ u
http://plmhome.com/doteam/lesson1.html# l8 m( i$ b% m
7 O3 i0 ^/ Y$ G3 m
: ?( t. C/ ^7 R, G+ S! Y |
|