|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% `) a7 m$ m: j5 B
1 j& n$ ]( {: J9 ?! U
废话不多说,官网自己百度下, threejs.org ,入门很简单。
- `" X/ q( W; O& s- P% I% c& j# b% N* C- v0 x& k* g. K# o
创建的javascript脚本如下
% Y& k0 U1 }. h9 K% Q Q
5 Y9 s' Z1 n1 z0 ~& z# b
2 d: U5 d8 {# z4 s( Z
[mw_shl_code=javascript,true]
5 y" ?" Q$ C4 e# b$ m( P z9 \# Pvar scene = new THREE.Scene();
( t$ g$ s! X) x; j: xvar camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
! ?0 h7 r0 D. n7 W: i* X, |var renderer = new THREE.WebGLRenderer(); [5 i5 P) o& Z
renderer.setSize(window.innerWidth, window.innerHeight);0 ?# H! ~+ T* @( W
document.body.appendChild(renderer.domElement);( x+ U0 f* S1 y: {
# e& t; Z* {- M( b
// Refresh Issue $ y, R/ f3 W) Q# p; X5 _6 L
window.addEventListener('resize', function () {
0 A3 c* v c# @/ F. r8 n var width = this.window.innerWidth;- a o( \% _+ h
var height = this.window.innerHeight;2 T* C g8 i9 V5 [+ R: V) o
render.setSize(width, height);9 T( P& q- p/ T6 [3 I/ ^3 \
camera.aspect = width / height;2 p/ r' E' m$ D% e7 n# p
camera.updateProjectionMatrix();( d3 I+ r1 k9 L
})
+ n7 |- F0 o Q6 n
: b5 B. l; ~- Q- I) Y8 K//orbit contorls
8 S$ D. g- b$ f7 T' e7 s& Lcontrols = new THREE.OrbiTControls(camera,renderer.domElement);7 W- { @- R6 O+ J
; t+ z/ M7 |: o! m$ Y//create the shape
2 O7 ]8 T: R; E# G# Z1 l1 r" i6 xvar geometry = new THREE.TorusGeometry(2, 1, 16, 100);
1 S& {1 [& _) n//create a meterial# u E4 U) ^2 M
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
( g4 W- s7 L% L1 K* w$ d5 t//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
8 H! S2 E4 M- k0 Y* y4 m//var material = new THREE.MeshFaceMaterial(myMaterial);2 L4 q) q+ j2 \! h5 v; I) i
8 u! p3 y& [ vvar cube = new THREE.Mesh(geometry, material);
; l- s# t( H* R* H4 w5 p) A: Cscene.add(cube);# N3 s/ n" K7 {- b( l7 m4 f
camera.position.z = 5;
& ~2 r7 ?3 m; Y0 }0 i( f8 t* A9 M7 }) J$ r1 W& B$ m" T: H
7 s2 x( u, s4 L2 a; m9 q- a
2 o7 _+ j" e( m2 D' W% r% X/ A
+ e( k: H* T, Y2 r8 t* M6 C% H, D
6 X* @* R2 Q# \7 F8 n//rotate
; E8 l+ P- \3 r. v" F6 pvar update = function () {5 h a. q; l% z; H
cube.rotation.x += .01;
: P2 ?# Q4 |: f& y% { cube.rotation.y += .02;
) k! Q# _2 ^1 L# m4 O cube.rotation.z += .02;0 o4 R5 p, ^6 g
}
, J# c7 J( S% C! z
3 J! m+ J) q# W8 d% ^. ]var render = function () {
- e( ~$ m2 _& e! Z7 e% z, @ renderer.render(scene, camera);
) }. v5 S$ Z# p# q2 Z6 J}
' }# \1 N. k+ n- a
, m: H+ h( e+ R a8 ]: }; L
8 W' P T# J/ U8 _: i- {' q8 a o% S) `5 T ?' d- |2 Y9 f( Q
var Gameloop = function () {6 ^7 G( f4 R) [9 m' a( d: u
requestAnimationFrame(Gameloop);+ N) ~) |5 G& R
update();
* e4 T: n. @0 V' ^( L, K1 h* h render();! J3 _9 d+ U( H1 A
}2 l- X# ~- E1 q( ^ D8 f9 q Q. H
8 T" H6 W& b1 w" [* o! i
Gameloop();
/ \0 g3 D* V9 ?- C& t/ a" V[/mw_shl_code]
/ L, E: j. B9 `" I% D3 W' O$ }1 Z! f5 @9 ~4 `% h! @# J$ i3 v
) |$ f6 |) p3 {" C; m
引入争取的html,* I. L* l1 P6 u0 G: \& ^, }' y- q) a" N
( g" U- Z' k9 A7 g
[mw_shl_code=html,true]<!DOCTYPE html>
9 P4 d: f' x; _<html>4 k& h+ P* r0 u- [, J6 r0 W6 N
+ V! a$ Z4 A& |1 D$ o7 n& ]3 y: \<head>
( `! U1 e# }- } <title>hello ThreeJS</title>! p. j K0 F5 @3 V4 Q
<style>
6 U0 b$ T6 Q: D- P body {
I! ?, T6 ?8 j2 m) f7 [$ `, e margin: 0;
- j! F: l/ c+ U; H5 x! v0 c }
; r( \9 U l! X" ~7 _6 z" ~8 @8 n3 o0 B( B$ t3 Z) h' X, L
canvas {
; d+ o, F ]) r. s width: 100%;
- Z$ M; d1 d+ T! _# | height: 100%;
# T/ z* k3 j0 S* z" N }
1 w( i. P* k" `' O
( b' i# [/ Z' U h1 {
+ f2 }% p- I' b. i( @3 K0 x" \9 h( T! c color: aqua;
4 ^. W9 \. o1 ^* J }8 g# q/ v" i8 j
</style>
6 r# c4 w! K" R% @/ B" q</head>" k. Y% N+ p8 `( D
; I& g: L0 Y H5 d9 f0 L
<body>
! Y5 e6 d8 e2 I <script src="js/three.js"></script>1 n) P; l. |# `- f4 H
<script src="js/OrbitControls.js"></script>
+ o5 V5 ? E U/ Z3 a; K <script src="myjs.js"></script>
7 l# ^0 ?% Q: r) r" \
1 Z5 T) s1 G1 P8 s, j; O7 L
" g1 O1 Y' F; L% N0 D+ p
8 _* b0 q/ n( v. x- V1 [7 J+ O, \: C! A( ?+ U) j- l; ?0 k
</body>
6 w" i: U) A9 H9 i6 Y% J9 ~
! L* X4 `+ O' b3 p</html>[/mw_shl_code]
$ A0 |1 v) W5 _( {! i' O' {+ t$ I- K/ }/ y4 h: ? `, N! d& O
效果点击这里:
" w6 ^0 \7 {4 D2 j4 l; t* {8 i% F6 {9 ^& G: w
http://plmhome.com/doteam/lesson1.html
8 b. F# y9 ?9 W0 L5 N; v3 M e: I# i( w3 s& X) C
- I2 J$ i+ b" j9 K
|
|