|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
' n. [- i+ _, p/ |3 F2 A
$ i( p4 J' P( h) B& Y O" t% `7 a废话不多说,官网自己百度下, threejs.org ,入门很简单。
: q5 K# c8 R2 q7 n. b1 F; p* y9 B0 y6 o; c& k5 K; |, M' G
创建的javascript脚本如下5 u; Z1 ~. _) [1 S# v: L
" b/ X( b) O" r9 p
( ^) f- {" c9 ~. |% b
[mw_shl_code=javascript,true]
; e2 m) S9 z' J! Lvar scene = new THREE.Scene();
3 e" M7 Q* _! U* Cvar camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);# d8 |$ D: Q2 u" O
var renderer = new THREE.WebGLRenderer();0 @3 D1 U5 n/ Y) S
renderer.setSize(window.innerWidth, window.innerHeight);0 @6 w& t: z) L! m% R
document.body.appendChild(renderer.domElement);
! P" t: c3 G8 j. r, t
- N v, \$ k1 d( C/ p! [// Refresh Issue
9 s Z& P- f" R9 E( J0 D* vwindow.addEventListener('resize', function () {
5 Y9 z- S2 w$ s1 F5 N, H8 h" z5 J1 @ var width = this.window.innerWidth;9 I( w9 j" e; ~" v
var height = this.window.innerHeight;
: S3 A7 a9 s0 k. w. U0 T render.setSize(width, height);
8 y4 H q# q, m camera.aspect = width / height; ?6 b4 e9 M" a P; I$ b
camera.updateProjectionMatrix();
9 L) N, S% }# Y})8 W5 _' j; w/ ?. {& x# j6 `
/ M9 r) E& [) J' e: C3 A8 @6 R
//orbit contorls
L3 c- \- u# [1 `controls = new THREE.OrbiTControls(camera,renderer.domElement);
# U1 v% S( G$ S' i- Z0 X) R5 {1 R) ]3 i! g" J1 Q! v
//create the shape ?2 X9 T5 J% b; b; P9 ~, u
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);8 M9 ]" n7 Y, d1 r6 m
//create a meterial- k4 z3 `; e3 y
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });$ E* D4 U2 H0 F+ d. ?: x# g$ ~
//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];! F9 l* G9 k+ c
//var material = new THREE.MeshFaceMaterial(myMaterial);
* _9 e- t& q5 K2 O0 q& b. o4 z( c7 J: W; X1 g
var cube = new THREE.Mesh(geometry, material);- S7 V L4 A8 D! a+ G
scene.add(cube);& y9 \5 L( O* `" _& X, e$ V( A
camera.position.z = 5;
# q5 D# P+ R; @( A& f5 U
" b0 t/ U3 N1 k C9 M" Z
# W. M1 E; Q" r4 {+ Z& q( e+ y$ v9 w" T- {
8 W a1 o" r6 E3 Q o) [( O/ t5 {- g; h, i6 v1 G
//rotate
8 H( X/ ?% x0 \. b( Nvar update = function () {
& @: B+ g5 A7 b* U+ G3 V cube.rotation.x += .01;2 E- }2 J/ X( L; u5 t
cube.rotation.y += .02;5 w/ I R. c7 |! W. r, Z' m0 @0 Y
cube.rotation.z += .02;
& C* p; I0 `; D! Y) N; F}
. C5 |& `' [" V
$ J: J; Z+ |/ R7 h, wvar render = function () {
0 t+ N. `; Q/ j; x: }8 X renderer.render(scene, camera);+ Z+ e* X4 K8 x; ` m. O& Y
} [! x4 o0 G# k; X# X% W
$ ]* m# p! S0 K# y' I, Y2 C
0 m8 k- \1 }1 }- M L0 f' E! v/ v8 G8 T
var Gameloop = function () {
8 ]5 Y9 C4 D* o; ` requestAnimationFrame(Gameloop);7 s ?) |+ Y7 I I$ n) D: _& E
update();5 P6 R8 B. Z" W( f
render();( R" @: k7 R+ W8 [
}6 B' ~! n9 I t6 W
- M9 ?7 e8 j" C) EGameloop();7 p9 N) @7 A" A- a
[/mw_shl_code]
, b1 y5 k" {2 f; a( A; C1 J: r7 `( Z6 m- g& V) A& o* K
& u% L: N. s2 t2 z( n, I' O, T引入争取的html,# w0 a, d5 R+ l# o8 u
: r! | \, C# u[mw_shl_code=html,true]<!DOCTYPE html>
. v# A$ d- [3 }<html>/ v+ R8 S* b! s/ U; W: z
1 X$ y0 v0 P! R- q<head>; [# n( L: ^1 Z7 y) t
<title>hello ThreeJS</title>
/ Y0 u0 K/ S: S, S! m <style>
0 E6 ]% g. E' _ body {- ?! I1 z9 U2 ^
margin: 0;; L) M$ W8 x1 n% u
}
0 U( d- f4 P1 m
$ x. o0 T' W7 z$ z6 V. }- E canvas {' T( ?0 @$ ~% x+ D
width: 100%;, V4 D2 P* h. ~- _8 o6 K7 Q+ |2 a
height: 100%;' M6 b) g( Q% e7 E9 y, J. v1 H- z
}
' P% W7 ]# Y0 p! z7 _( b Q& I8 B( @2 f/ ]. U7 S
h1 {1 d Q0 [6 k, o( F1 w3 p
color: aqua;6 q7 ~# q6 e# y3 x
} x/ `7 s, S4 k6 Y
</style>4 `5 B3 l D& ^- ^0 M- v' {6 G
</head>
3 u% S3 v1 Q8 u# |7 |: q4 ]: G
( L, w7 {1 J, _<body>4 A4 t9 g) s; ]$ O, Q: D& f
<script src="js/three.js"></script>
% ?: k4 ?2 b# i9 E( F# g <script src="js/OrbitControls.js"></script>
8 {. ?, }6 K& ^' i) m0 W <script src="myjs.js"></script>$ P4 x+ p6 S7 z6 Y* E4 x2 F
- e7 S4 U' Q. O; i: V$ t. d
9 X4 b* v. u$ P' a: c7 \& Z
+ z: H2 A& m9 r) b( m9 {( }6 J6 y* {4 L1 ?+ \
</body>) R: j: _! ^( Z
3 z$ o" n+ r6 Y6 u</html>[/mw_shl_code]; }8 k5 E, y- u$ h! }
0 h" M: n" K* f6 c效果点击这里:
; Y" B: i- W: R! W( H) F/ k# w8 n. Z, W9 c
http://plmhome.com/doteam/lesson1.html
, z/ S6 W3 ~! ?) i" [, @% S- \4 p* v5 t c8 w/ m' J
+ |% [1 I: E8 c |
|