|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
& w( V# n) \% R! ~- i" P i) ?5 {) l2 A9 Z7 i( N
废话不多说,官网自己百度下, threejs.org ,入门很简单。
3 Z K( U3 S3 B& @; G
" q- L, E) K2 J9 x9 u( z" ~2 E/ \创建的javascript脚本如下5 ]4 R9 D: ^7 G$ m5 O+ h/ S
j! O1 j6 l, z5 j7 }% r! ]
6 h7 Y4 s/ l5 ?4 v
[mw_shl_code=javascript,true]7 U4 M% I% y/ m& i6 x( y- V
var scene = new THREE.Scene();
; n- d4 b9 v) `5 ?, `; H* Lvar camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);$ D6 x6 K+ q3 N o
var renderer = new THREE.WebGLRenderer();
5 {/ E7 T1 e0 m2 a3 zrenderer.setSize(window.innerWidth, window.innerHeight); r4 W) D) \8 J4 K, s" f
document.body.appendChild(renderer.domElement);" A2 i3 x2 b3 X6 C
1 b; s. O3 E+ M4 W# |7 J// Refresh Issue # u `1 |; B4 S; C! O
window.addEventListener('resize', function () {. E6 O/ r0 ~" b) }* o
var width = this.window.innerWidth;2 ~& i0 a. H0 }
var height = this.window.innerHeight;. X. O; T7 s$ e( N8 G; r
render.setSize(width, height);8 U F5 G% i+ D3 C8 X
camera.aspect = width / height;+ O$ ~- W7 R( ^& s- h) G# U
camera.updateProjectionMatrix();) v' }9 P7 K, U3 f( h4 u$ O
})3 V1 G) ^+ n* \7 s% ~
& u: y! U$ e ~//orbit contorls, @. {/ q" M1 S9 z' |, Q" Q
controls = new THREE.OrbiTControls(camera,renderer.domElement);
' h4 y, g% Y. g; H% ?9 {" o& }
3 B/ `& ]% z9 E//create the shape
* B% T( |. N9 S/ J0 {var geometry = new THREE.TorusGeometry(2, 1, 16, 100);1 @( ~+ Z% [& T5 K% A5 F; c" o/ |
//create a meterial& w7 d9 s7 y$ n/ ]% _6 L2 x7 G2 H1 F
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
- x; D1 ?- m2 E//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
1 {* x0 g& n" ^% \1 y& l//var material = new THREE.MeshFaceMaterial(myMaterial);
3 w1 ?& ]. m/ x0 U5 E" E3 s5 D7 t' v# c. o% T' H) p" L
var cube = new THREE.Mesh(geometry, material);; t6 n9 v4 `8 }' b6 Q) e* `
scene.add(cube);
: b, X3 \" i0 V# N* Mcamera.position.z = 5;
! x) t5 E$ Z9 S* M8 u
5 `7 Q) X5 A" U! b, C4 Y) h: G0 J# w+ l0 C K+ [* U3 H
B, M2 b7 z9 h9 `! ^6 d3 g/ c. _( K! F9 D; T
; u2 t; l$ M+ i, X8 X. f//rotate
3 Z! u) B: m1 V. ^8 Z4 @$ lvar update = function () {4 H8 D1 F. E6 P; z9 I8 \
cube.rotation.x += .01;8 g9 u8 i" R, n7 z% ?* r4 G
cube.rotation.y += .02;
" d; y0 A" ?9 U2 A9 n8 m cube.rotation.z += .02;$ V' M+ s7 |: }/ y, x+ `
}
1 U# Y8 J$ q) B7 Q4 {* b: c J( W5 Q3 M0 U
var render = function () {6 s5 p: _; m3 ^0 D' Q6 U
renderer.render(scene, camera);. A9 t$ o, D8 U7 \( z
}0 a5 w8 h- a% E/ x9 F# @, r( r3 t
3 l% w/ y$ H: q) f* l4 R
- s/ B& v( N: t( h- ]% r. o( ^+ }! L4 ?# n0 d% r
var Gameloop = function () {
2 U$ D# @0 I! n4 z, H requestAnimationFrame(Gameloop);
* u7 {. \$ I0 Q( J: `/ l- S update();
- N; K" W9 y$ W render();
) l8 M% g! ~ a; e' t3 r" v}
' Q7 m' ~: I3 b9 G" M
3 k Z2 O8 a$ F0 L8 I+ U4 j0 _$ Z$ ]* SGameloop();
* y; l0 q8 {8 d. Q0 \$ H2 |; B0 C4 T[/mw_shl_code]
! e3 ]0 G/ J* |
5 r. _9 s! }: A8 w
! b/ F' O: w: `- m2 O引入争取的html,* {/ M/ m2 e# ~7 f* ?7 @$ I
- g# F' \# [! v) ?' \ E
[mw_shl_code=html,true]<!DOCTYPE html>
% ?' @/ K" P- y. R% r<html>
/ e% w2 L# `3 s& K7 g4 m- C- F+ ^ V" P% s" ~
<head>
. b$ R; o3 G, X& ^ <title>hello ThreeJS</title>, n: C6 r; k! A0 m9 A% Z
<style>, P. z/ C3 X6 e" I0 x
body {; ]1 [: Z/ M# ^4 @$ Z" _
margin: 0;3 T8 N1 G3 U1 s& l7 o. Y( y8 m
}
; b# ~- d: j0 F6 f5 n7 ~6 j9 R
. N, d) [, h; K1 r canvas {' J' R- j8 ]8 m6 t2 }" Y
width: 100%;3 t( V7 t6 n U7 P3 Y
height: 100%;: {; p, q3 U8 ^1 _9 k# x! H/ w" c
}8 @& d, G, }8 [8 B& y# J
! A4 X9 N o: H2 N0 S; \7 o8 R
h1 {
* I2 \ `$ C" n6 l5 ]& S color: aqua;3 T5 m: T& K1 N; {- f
}; ^( P! d* W, A" W9 a% C$ `: d. `
</style># n6 J( {# C9 Z g0 V. G# Z% C
</head> T! U( @! [/ i3 K
( S$ T) K% |4 J# g8 N
<body>0 |- B( R5 R/ A
<script src="js/three.js"></script>
b9 S) C3 t% F0 { <script src="js/OrbitControls.js"></script>
+ X% f! {* m1 u1 M' G <script src="myjs.js"></script>
E) I' ~# J5 _/ J+ y
o5 |+ J( ~1 q9 X4 i. G8 k) S- X3 G& \( y' h
: ^2 Q. y0 b8 U3 q# O: b" E) C2 Y$ z# a3 Q ^
</body># R' R5 d$ \* J* _! O9 A
) w. p( s {% G</html>[/mw_shl_code]
9 @4 [8 L5 t8 ^
8 l$ d& H. H; q/ U% }' D效果点击这里:( Z& i1 M8 t. Q# l
/ t5 Q' a2 j4 g k
http://plmhome.com/doteam/lesson1.html. N% m( P# U* D2 ]
k2 t% N1 ]+ `# I7 v2 a: @5 @; i+ s g( o* j( h6 I7 \
|
|