|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 e# d+ b: _+ k9 j7 M: P
& D( f1 n+ z) h1 J+ q: ?
废话不多说,官网自己百度下, threejs.org ,入门很简单。9 d& F1 _. d+ [' t
% B5 P! }$ P$ z# E' v创建的javascript脚本如下) a- E6 ]5 s5 n9 ]
3 f: E" d; P; D: v
9 H1 `# F8 P v; |0 ~% O/ H" N3 l[mw_shl_code=javascript,true]
$ C g' V5 @5 m' c' P1 {& E. E0 n* U3 ?var scene = new THREE.Scene();6 K" D: Y9 H& s2 {* t
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
0 o+ o/ Q/ t9 Y4 Y( Rvar renderer = new THREE.WebGLRenderer();+ p4 y" D' ` ?8 h4 {6 [$ q" H [
renderer.setSize(window.innerWidth, window.innerHeight);
2 Q% q( o9 c" d( ]' wdocument.body.appendChild(renderer.domElement);
* t* X& s1 p1 x! O6 O a Z8 f* |3 o: ~0 y: C
// Refresh Issue * H. [1 c8 Q$ @2 c+ B2 D: q: V
window.addEventListener('resize', function () {/ E& \' j6 I7 a5 w
var width = this.window.innerWidth;
3 U. O' a9 c+ \2 A, C var height = this.window.innerHeight;
0 j6 Q7 v5 \" I render.setSize(width, height);
3 n- l. R( z v* t, M, w( l/ J camera.aspect = width / height;- s# F, P+ H6 u1 r
camera.updateProjectionMatrix();- o3 U: O" P! N' x+ w2 r/ \
})2 [9 u) }+ v' u) Q' ~. [
6 |9 e4 ?& o1 h/ I
//orbit contorls, ?2 z4 [/ n* r# ]2 b
controls = new THREE.OrbiTControls(camera,renderer.domElement);
. l" F4 h/ [; j$ ~& {. J, u) p5 j7 e7 S8 A/ Q- t( H9 o
//create the shape
+ o5 P5 y; x6 r* Z' N/ G# Z- S1 [var geometry = new THREE.TorusGeometry(2, 1, 16, 100);
: H( W, K" |+ r- [//create a meterial
1 \. |1 d: U0 o: ?8 gvar material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });4 ~+ X/ Q: r; D2 d/ }
//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];6 x; O7 j* Y* q
//var material = new THREE.MeshFaceMaterial(myMaterial);% k2 D: g1 G( Y
: T. L5 h1 n0 Y7 C; [
var cube = new THREE.Mesh(geometry, material);1 r' M% a' J. p9 I. V7 C, n* E& u4 h
scene.add(cube);
$ c4 x0 l# R8 `camera.position.z = 5;
" \! T0 z/ C% B* j8 {
( Z+ Y0 l2 i7 |: T5 @' o$ U4 C2 Y, u5 Q. `' s2 j
" y! S' k+ M) Z% p2 ]$ \. ]) i
% g# D* ^5 X/ n, Y; d3 E- B& S3 y O$ D8 ]7 j6 o
//rotate 2 p/ i- z/ J! M V' _4 ` S! H
var update = function () {
, ~: p6 z4 _8 k1 e4 f cube.rotation.x += .01;
% } s Q4 ?; G. F" }" J cube.rotation.y += .02;
6 W) T$ Y$ i2 P/ h& j cube.rotation.z += .02;
/ O" s" }2 ^4 G# Z# [}
' B5 `/ P# k4 V8 f* }2 H3 m' o8 X
8 f) c+ K$ N yvar render = function () {8 |2 n& c' J1 N; Q! G0 g
renderer.render(scene, camera);" O3 c1 p, B! _: E: v% M$ p
}" X& n d; e$ V& o1 V- F
0 x; J- a. w+ k3 H3 Y
- ?7 h" q. [5 g; W6 }9 O- A
, y. x; ]5 P( ~/ r! bvar Gameloop = function () {
' T+ p1 } F% I9 n: e1 ` requestAnimationFrame(Gameloop);( c6 |( c, K) Q- l3 i6 D+ K+ u
update();
9 f8 M' [; b, `5 @. V render();
. A/ X4 w) c: j9 B6 ?+ `}3 E0 H$ i5 I; h1 ~) v, A
1 K( t9 D: I( m4 GGameloop();& p. O; z0 x; I5 n" l. k& a( J
[/mw_shl_code]. N) y( l" |% l# }9 C: M8 L* q
) M! A3 U# K- {: P. M
" O+ B. P( v3 S( q: @/ b
引入争取的html,4 O* _0 p; [& E
* E9 c; H. {8 x7 P0 H( W% V6 c5 s: ], I m[mw_shl_code=html,true]<!DOCTYPE html>4 }: ]% R4 L+ O( y- X$ G
<html>0 H T6 L# e$ m! ]0 J
- B! V+ p- {+ z* K' e
<head>
0 ]7 {0 W+ p; S$ t$ B <title>hello ThreeJS</title>% R% y4 b' d: _2 k7 o
<style>5 r2 U0 `. e. N
body {
6 n' E( L' e# H, l/ _ margin: 0;2 j0 [: _. B' r) u0 M, o
}
. q7 F. r" A) G: c- P2 {1 T: I; r1 t f
canvas {
2 H( \9 h- \* Q! ~6 u width: 100%;+ ~- l$ i8 E( b( ~0 P* }6 o
height: 100%;6 \) H* g# r5 `! v7 ~8 R
}* i( J; E. e# h7 I
: P: B7 c+ r8 q5 n h1 {
* u5 j3 l( f+ S5 G5 z- S' X color: aqua;
' V' n( T7 G" I0 v$ j; A" W/ k3 u }& `- o. x, o3 F* C6 E
</style>
9 A! E: s5 ]' k/ x- ]: n! e; _) f* F( A</head>0 }/ C. P- D* A8 \
( [5 b: s# w6 r- q<body>
) E* ~7 M: v* ^8 s" F: d3 M <script src="js/three.js"></script>* W! i( ~* g0 C' @# O \
<script src="js/OrbitControls.js"></script>
$ A7 @. Y4 j" a5 M$ `3 N) \ <script src="myjs.js"></script>& n1 r7 q2 }+ J5 \6 r
" a2 j8 s4 o, ]4 l% F1 E7 A( ^+ D; ^' S( f6 u
/ ?* }. b) m8 c0 x8 E$ _
: `3 |5 i+ J+ m. y$ x</body>
9 K, O5 P0 M# S: E6 \ |: o: t- Z& o- E
</html>[/mw_shl_code]' f; |; `7 T* ^; K8 y
! e ^1 ~" A1 X& o- \, z
效果点击这里:8 T! d1 }7 v2 x
/ u, G* B# X6 ~1 n9 V
http://plmhome.com/doteam/lesson1.html$ e/ h1 K' H1 Z# B. C
" d; @2 O5 B1 A! e/ l8 i
2 Y9 q4 P# f1 k |
|