|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, W/ g3 u4 k B1 `" M3 H% r; h3 p! x/ h3 c) P A+ d( ~; W: {3 _9 r
废话不多说,官网自己百度下, threejs.org ,入门很简单。* V1 x7 Q( z9 s1 N, d9 K
C' c) f2 U" |; ]+ d& c1 P. L
创建的javascript脚本如下
" X6 T, ?5 z- D% ^# ]! `' f1 j
5 C+ r! ^" P$ P/ r" z( N( Q& u[mw_shl_code=javascript,true]: Q, m& w; {- b' ~& Y5 e: T
var scene = new THREE.Scene();: P' f: X+ B4 X
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
`0 [* A4 G4 d# m; W, \. u0 tvar renderer = new THREE.WebGLRenderer();
3 E( `* z) q: ?/ }renderer.setSize(window.innerWidth, window.innerHeight);# [) U3 m" m8 i/ W0 l9 s
document.body.appendChild(renderer.domElement);
9 V( Y( v; Q: R0 E7 i* L2 _* u( T
2 v. N, G! J8 u2 u# r- \: A' z6 X// Refresh Issue 9 T& p% }/ e6 i, C; a9 d$ i' o
window.addEventListener('resize', function () {
- h2 E R4 A$ |! M* S6 f5 i var width = this.window.innerWidth;/ C1 F3 G7 @9 K. M( h2 r# K
var height = this.window.innerHeight; m& T) B9 i2 U6 F
render.setSize(width, height);
, Y1 X9 E, E5 k' E5 X camera.aspect = width / height;
9 m: S( B! E* |# s* P* H t camera.updateProjectionMatrix();0 V4 P* ^2 b6 M+ Y* d: F e0 Z
})5 b+ D- s* G( I( o; m
7 F+ V! j% t" f4 h9 p0 J" V
//orbit contorls V" V4 M9 s; @' G6 i5 }* j
controls = new THREE.OrbiTControls(camera,renderer.domElement);( @% _: M/ U# E- K+ m
0 \. S, F& ~6 Y; e8 r
//create the shape2 i, }8 E6 v/ y2 s. r8 O
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);
/ W4 B$ `6 q7 }9 P) [) t//create a meterial1 s0 Q) m9 q. G+ p
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });+ Y) {# x- E3 T8 E
//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
" z$ F8 n9 t2 T* t( u//var material = new THREE.MeshFaceMaterial(myMaterial);5 ~ }; R5 _7 @1 n
* g% e$ s) l U" y- B" Z/ b
var cube = new THREE.Mesh(geometry, material);6 _+ |4 X$ C6 Z% r
scene.add(cube);2 b% f5 z/ B3 o5 b; t j |
camera.position.z = 5;2 E, Q4 T8 K6 g" F
) D' D/ B4 u0 D' F: ~3 s
3 m+ s- J; I X
% |# R* E+ b/ j4 P; b, z1 r! B2 o/ ^2 l6 S
3 Q& }: b% |1 X9 ^
//rotate
P ~2 x, c9 Gvar update = function () {
4 k6 C5 e; t9 c3 r0 s h! H cube.rotation.x += .01;
$ `' e) x3 A/ w1 a8 L( ]9 x4 E cube.rotation.y += .02;; `& H( K! g. |0 b
cube.rotation.z += .02;
+ w Y7 j! N* e! d$ }, @$ G p4 f}, l3 o/ b* }. T5 d
: N; f n& k) z |! a: S5 ?6 i9 Dvar render = function () {
S1 v7 H2 H8 |* G: c# X z! _7 u renderer.render(scene, camera);
1 M3 A& X, ~" X. |}) P9 F' }* d _; R8 O
$ m5 w6 n5 q' f6 l% u/ p }9 S7 A0 G/ `' x. f$ |# |, d. K$ L
( d$ Q P6 n8 @1 \9 f& g4 ?var Gameloop = function () { n8 S5 H. Z# S3 K
requestAnimationFrame(Gameloop);, S2 f+ P! \3 o! Q1 h \
update();
- w; F3 M/ \& @4 o render();
0 E' i4 V8 M* I7 D" M5 o7 h9 Y}
) p' \- X8 ]3 H* O$ X# j7 x
0 n/ L; ^5 J5 `Gameloop();
( o1 }4 p m" h- `[/mw_shl_code]+ u Q* P7 @% M4 o. ~* W: F! j! B+ t; I
) e3 Q! @% r( Z+ Z3 j d6 w: u# q
1 G1 j$ {4 m, z3 P7 `& {引入争取的html,, i; \/ Q5 ?' L
- i/ V9 Z3 X4 L, I[mw_shl_code=html,true]<!DOCTYPE html>
8 ]8 t) j( L; W6 s<html>
. U/ Q2 E2 v$ c, }8 D( `0 g
2 C% w5 c3 k- L- W' U B<head>
+ L6 }% T% [' F6 P+ y( y0 C! f/ h <title>hello ThreeJS</title>1 F- B2 C! L8 j* d1 @* U5 f
<style>* {( L/ i! C* M
body {
4 J* P) _8 k$ |9 G9 x margin: 0;
) S) J% C+ n; H' _ }
/ E7 C% b1 Q8 A3 H4 q9 T
0 q& ?6 D" [8 D1 P8 l8 [ canvas {$ b* T4 |8 M- H" W' x
width: 100%;
5 g% i, B+ I% O$ S/ a0 B1 M: z0 R" P! Z height: 100%;% }' y- Q- A: [& F% l# ~3 Q
}. m4 I* x* m; c: }2 \) A! n
1 g! S4 n9 u3 L9 R, J h1 {
0 [ G# X' M' X: t color: aqua;
/ b& H0 L* s0 q+ G% f" J }
8 X1 \& n& W% B( q& U d4 R; O </style>
$ N0 S$ C) N) b# P y0 f</head>, W. y% p1 m1 l+ F+ e* @* {" R% K: z
2 f4 J& K7 w0 j( F$ }
<body>
7 F8 z; e* t( @/ b) w/ O6 @ <script src="js/three.js"></script>
' k% B' N- j8 o: I4 x* f <script src="js/OrbitControls.js"></script>
# m" P7 H! N( k! t* [ <script src="myjs.js"></script> K3 x+ a2 n- C! |/ T4 s1 b
2 j: X- b1 U# e+ o& n: r: U$ z
. ^6 A. F( {. C" P7 x5 o
$ i H0 m6 `, a; h% M3 ?! [3 e0 _- ?/ P
</body>1 u. D& z8 ]1 q9 X# K4 T3 S
& h! ^; h1 S: f4 z9 w
</html>[/mw_shl_code]5 z4 h" `$ x0 f) T9 v$ [ r
1 e6 W' e" J- Q: S9 g效果点击这里:
3 S2 r+ z8 H G2 \; k* m) E8 _+ T5 N _+ Q: h8 h ~
http://plmhome.com/doteam/lesson1.html
3 O0 C- M( F& L) [
2 o. K R- h& q7 f# L) A5 S& Q+ z. Z. R2 t+ I, E6 U K" O, x
|
|