|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, a+ |, U: n$ \- z- X5 ?( j0 d
_2 [, e" |1 Y( h* {8 h- \废话不多说,官网自己百度下, threejs.org ,入门很简单。
* R% X( z. j( p# T9 r: W
. M n3 O( r& y# D1 J创建的javascript脚本如下3 \% {3 s9 r$ L, [( m: E9 ~9 I0 F
4 \' B" `- d2 a S) P% u. q
0 P7 q3 v; k6 o# f7 C+ L
[mw_shl_code=javascript,true]
7 r! {- |& v: L8 ^3 I, B( Y" Wvar scene = new THREE.Scene();. q7 ? [9 _# ^9 Q& ?0 j% u
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);$ w* j2 E5 X$ i/ a! i& I
var renderer = new THREE.WebGLRenderer();
; V! Q+ g' q/ N, \9 K; Trenderer.setSize(window.innerWidth, window.innerHeight);8 K* r. B! s. h, X
document.body.appendChild(renderer.domElement);2 p' R/ F- ^8 K9 L( T
+ w# i& X& z& p// Refresh Issue 0 \. e0 r2 F' s: ^& B* S
window.addEventListener('resize', function () {: g6 B4 g) @6 d2 o+ E: ?) N) D
var width = this.window.innerWidth;
3 o$ S; f8 y. l var height = this.window.innerHeight;
/ k$ L+ h) p0 H% b" p render.setSize(width, height);
: E: j! |: f4 K( ^/ D# q camera.aspect = width / height;
5 t8 V8 I0 @' }& d9 [8 k2 T. n camera.updateProjectionMatrix();
/ I6 s* G( x# I; m: K4 H( s C})* @4 t: L. a- t. k" ?8 v' [
9 a0 o' V1 s. ^- S0 }//orbit contorls! C+ R5 L }* \" k8 v
controls = new THREE.OrbiTControls(camera,renderer.domElement); |1 T, {+ @1 K8 y% \- l
1 q: K# r! r' v, t% D5 @' X' |6 [
//create the shape
' T5 G& |& Y# [3 z9 s# c1 yvar geometry = new THREE.TorusGeometry(2, 1, 16, 100);
( x* g4 Q7 T5 f+ j//create a meterial
R& p4 I) }, i8 ?; \7 e4 Jvar material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });/ S! V5 b/ Q5 B& D+ S
//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];- j# H5 p( A: A% K+ `; x
//var material = new THREE.MeshFaceMaterial(myMaterial);/ q! {8 y% S( s; {" S7 C$ X
2 g7 m9 h- B3 G+ l4 [- e8 l
var cube = new THREE.Mesh(geometry, material);# }/ v* U* {1 t
scene.add(cube);! g) l7 d2 D5 ?' J) z' {
camera.position.z = 5;
9 T6 ]: ?. x1 ~2 z) N7 q+ z2 `
) A( b7 r: o3 Z: ~, r* H
- a' D9 I% d! E: K3 h( p0 q& T' ~- u# O6 f- b
9 [3 q7 ~) q- g9 T- e+ l' H, X/ s x6 b9 U& h2 ^9 n6 _. \2 L
//rotate " E1 k# B7 W8 ?6 D
var update = function () {
* T" C6 F0 }' e v cube.rotation.x += .01;2 X, P. A0 }$ e- O3 c c7 E3 x% C' Q
cube.rotation.y += .02;( \, u7 k7 V9 E7 Y" [$ l! Y
cube.rotation.z += .02;
' m! v2 _: b! z) [& D; F4 t: j}
2 s" M) A) y# q1 J1 s" P+ S5 s5 N! g, O2 w, z
var render = function () {, C1 w" z9 \9 p2 Q7 C3 V* [* Q4 V2 A
renderer.render(scene, camera);
; k/ D+ y$ G; P* x1 K+ G g} W2 f( q! {4 N& E
5 C& ?) g+ X* Z8 o V9 l/ k1 E
+ m' ^/ `) p8 h0 u* t/ l8 d, |' e: }3 T
var Gameloop = function () { O/ k: ^; e: x
requestAnimationFrame(Gameloop);
. @5 Y6 x4 f0 t' n @4 f4 f0 v$ c update();
- H6 W; T* J2 M1 v render();3 A7 l' W u8 I3 E' u
}
; ]1 s8 j- r. u5 j1 U0 y1 x3 [
Gameloop();' c6 k1 T" F+ p2 M. H- U' e
[/mw_shl_code]
9 j" D' M5 L8 `6 P4 w2 S! _9 w; R, p0 I Z) g6 u9 ]
' r/ i! b7 f" R, x
引入争取的html,& O/ c- f# ]0 N: i- n' E' a
/ {: z+ I/ {8 p# [- m5 i
[mw_shl_code=html,true]<!DOCTYPE html>
; W# {3 O3 r. i- E* c6 L; t<html>
6 @0 k* ?4 E' q
% p" f H7 B! b6 Y$ t<head>
0 {- g1 F8 m& o* E J <title>hello ThreeJS</title>" t6 S6 \0 r; S
<style>$ B: _1 H: M% B( u o8 b+ j
body {: L% v; G a! }3 p1 W8 e
margin: 0;) n% B' u$ u, B. X7 x9 J0 B
}
6 ^0 c$ w! \+ ^7 g: K) j# A- ^: r# e' M, |( E7 b
canvas {) n: i. |6 A6 N
width: 100%;
: u+ `0 P" v& F0 }* r7 N height: 100%;
$ N: o8 I! j+ K9 B7 O9 k }! I' b9 n% O: i9 G/ y
, I- j$ v' s' X h1 {
7 n2 o. y5 I+ P0 Z color: aqua;7 G S m0 v, {' t+ C, H
}
7 \! a2 Y8 W" G: t) ~ </style>
0 r' s5 w# _. P- E</head>) U9 e" T5 F: y4 ~3 P
; h5 v+ N! H7 m! f6 S3 w6 T<body>1 R% ~4 A7 B6 F& h5 a% j2 y, J
<script src="js/three.js"></script>, Q3 s" X- z9 F% b8 D$ p* r
<script src="js/OrbitControls.js"></script> R( ^* N4 K% a5 @
<script src="myjs.js"></script>( k/ v0 N# ~9 j
& J' K, N7 q& \- v& _' h
' O# V# D4 e2 L( U$ w( o4 ^: X! U0 r' b2 ^! H
% _. B3 m7 ]$ A h</body>
8 Q. o, ~: N" _$ x/ _" C, U( h- V* ?/ p# B. u& K! W" U
</html>[/mw_shl_code]: c! A* K; Q% `0 t* ]% I$ d
2 s9 J# v+ _! J3 `* V! H# ~
效果点击这里:4 ~+ i: Q* {3 {0 P( n" l
+ v( G8 s, N j4 g; p* |
http://plmhome.com/doteam/lesson1.html
. k0 j8 h# c* v$ Y" a+ T, p% B# z: J E8 ]; a/ ~- X' \: r- k" j) `
. o; l4 a+ ~, s+ d9 T
|
|