|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
5 \! T) [. d- w5 ]1 Y; `6 @4 A/ D3 Y" f! {
废话不多说,官网自己百度下, threejs.org ,入门很简单。
: G3 N' |% f& y8 K Z% t' a2 g* S6 o7 s2 j; g. H7 b
创建的javascript脚本如下* g' t& Y( q9 M" e. Z# A
6 B1 h' ^! w* I% A6 E
+ I; \- T0 y2 h1 F; m% k[mw_shl_code=javascript,true]; Z0 ~* j& L9 @5 a* y$ k, D
var scene = new THREE.Scene();
6 x+ R6 p; A( g3 @& Y# C, R7 _3 _var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);5 O' [. Z+ x9 t: @
var renderer = new THREE.WebGLRenderer();, l2 H8 \7 \- x [) [9 d
renderer.setSize(window.innerWidth, window.innerHeight);8 J$ D; m2 O- j' L! ?! q
document.body.appendChild(renderer.domElement);( V6 C9 d) Z( C0 \1 v; l
- D$ D. w1 [6 G9 [. B/ T; w7 ~ \
// Refresh Issue 6 _3 O3 p8 }$ \' M. [5 {# n
window.addEventListener('resize', function () {- y, B/ L, ?% X9 w7 |1 N. e5 C9 W
var width = this.window.innerWidth;( u) ^7 W2 u+ x% p' k6 l1 W
var height = this.window.innerHeight;
) y1 q) m2 t- {* C render.setSize(width, height);
9 }" v |# \! \7 { camera.aspect = width / height;& `' g+ J B5 g+ N9 G
camera.updateProjectionMatrix();
9 G: d6 E, Q+ `( {2 S}); y' w# |7 I$ {5 i) V" z! K8 n
" g- Q4 P+ I3 q/ X. k% V0 p/ t//orbit contorls! D5 v4 _7 S1 X' a! U% i' a+ R
controls = new THREE.OrbiTControls(camera,renderer.domElement);6 N+ t$ k) k, d; o) @" k7 i
2 M M* y1 O8 t
//create the shape X% z" `* p" A$ B6 d
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);
- Z" k$ C/ D5 H0 l. [. H& K# X//create a meterial, V1 y* k$ ~4 |# ]" B$ [3 I3 @
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
/ R" }) @ j) m! ?0 D; c7 l7 Z//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
- s8 q& P1 |/ G4 C//var material = new THREE.MeshFaceMaterial(myMaterial);4 `( f7 u. X# c# B+ N, e
9 k5 C2 ]: o$ |: ]$ y
var cube = new THREE.Mesh(geometry, material);% d# b! ^- t( s! O
scene.add(cube);
1 T: L7 B2 p# D0 ]; I7 E; S Ucamera.position.z = 5;
/ C% B! G( Y. S, \+ m, x3 R/ @( Y; e {4 _7 A: F) W2 y- c9 w
. v: z; h" ^; [0 J: m; W. @0 w
/ s$ C7 F6 E$ J' A$ P1 r8 ]
, q1 N7 H9 b5 O( D% l3 L3 @6 b
- h) A( d4 F9 D* U: S
//rotate / w6 ~+ Z& y$ Z8 q! ^, q8 S
var update = function () {
6 i. b, F; x1 w/ J# G& W cube.rotation.x += .01;
( \& ~ B$ s8 B4 e/ t' [ k" w' S cube.rotation.y += .02;
7 E, v, T( I0 L( s1 ] cube.rotation.z += .02;
$ ?# Z' w0 e2 ~}5 m6 K# h, J, ~5 X8 q
. u9 `% ?! h9 G. l, h0 I5 s
var render = function () {
1 X% q: A5 w! U& _+ j renderer.render(scene, camera);
! }6 h7 U/ ?3 _5 o$ M}) A) N/ y9 {4 F7 b; V f, G
' f* K8 }3 O# g0 ~. Y
5 p3 m* r9 w7 a( S4 F7 }$ H1 w" R* A* ^4 l! ]; n/ W
var Gameloop = function () {% Q9 y6 n7 ^# A) x& c; \& C
requestAnimationFrame(Gameloop);
$ ^ T* ^5 |- o update();; T, E6 B: e6 Q2 C- k% D7 @
render();
# ]/ A) p- ?. V9 _7 P}
; Z5 c! |: O( g8 z3 ^" e3 n/ J. W) v! K
Gameloop();4 W# t9 p( U. \: H2 J( ?% Q
[/mw_shl_code]
/ ^& N$ o, h/ q' c
% K' `9 O: u7 S6 _2 }( o
% ~+ f8 A! F; ]* e引入争取的html,' T2 S( h* Z* z. s
d( _! ?' S0 D7 `
[mw_shl_code=html,true]<!DOCTYPE html>
! k! d( V$ G, M, |<html>
8 I9 m# h. U- U! E. E4 F" @" T" @; }; w! }% U* c
<head>! k# ]# y: m4 y+ w% H {! \
<title>hello ThreeJS</title>1 L- b/ ~8 g% z+ Q
<style>8 o) L. v: E3 _0 V9 l4 c
body {
) h9 @1 D; X+ A& A$ R" v) W margin: 0;$ U+ n" h# V$ y5 q6 q1 S
}
* ` ]% y& U1 q% M9 s, u1 ^. _" e* z/ G
canvas {7 w3 i+ Q B- d! D0 T8 o# x. d
width: 100%;. b- V, p, {$ {+ d2 O
height: 100%;/ ?! B w, j2 l0 [0 q) K
}' t3 k& H$ s, o1 F# h
, _& t# ^# [5 Y, F D9 v$ j0 r C
h1 {! w+ b* [! t7 h
color: aqua;
6 i) L o' Q! t$ m }7 y: h- V' f6 j( q, v4 D5 M
</style>
% F4 K g- j) n- `</head>0 }4 y- T. Q! H# U+ p% W
; g. x' q$ Y( P% A/ H. x) u' V<body>% M" {4 t" r" n; h' ?
<script src="js/three.js"></script>
) U' F4 ^8 n( t# k+ H7 E <script src="js/OrbitControls.js"></script>% L/ j; t/ d$ T: \* X5 @
<script src="myjs.js"></script>3 n _8 m P1 g0 E) g$ V( g
5 l+ L3 D/ f9 I# {% k) C
5 b6 F4 o+ B1 N
! s) {$ Z! s8 O# N% e Y D
O& a3 N4 o/ C+ B# t7 S5 U) I</body>! ^2 P E! Y) h( `0 p
! B j$ d. D' P' j2 |2 O
</html>[/mw_shl_code]0 y, S: A8 }4 |; H& b. B
; \( r3 Q, W4 C; x1 I( W
效果点击这里:
/ t- B7 e2 `1 W! [3 m
- F, Q: q. x9 f% p" Y9 i6 khttp://plmhome.com/doteam/lesson1.html( x3 |" r. a+ e4 J$ F
8 F4 w4 o3 u4 y3 s" e1 |6 P, o0 U
$ e1 X3 j# C. i |
|