|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
* [% W3 W! ^8 h$ R; Y$ p3 C
6 K2 R9 f1 s* n# r; c
废话不多说,官网自己百度下, threejs.org ,入门很简单。
0 [0 _8 R9 r% l7 Z1 o! i
B! p% `* W7 g% a0 j* Q5 q创建的javascript脚本如下
6 f6 e# T/ w* n( z# P4 d" P% n8 |# c4 K
0 j/ ?- o) H. P
[mw_shl_code=javascript,true]9 t: C2 |# c7 B7 s1 G
var scene = new THREE.Scene();2 u" u0 X- d' ]9 t' \
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);* M, B6 P! Y8 G% J' J
var renderer = new THREE.WebGLRenderer();
4 J5 m: O/ ]1 |! A& p8 [) rrenderer.setSize(window.innerWidth, window.innerHeight);
3 H4 A$ X, o) D. e& Q8 Q9 Cdocument.body.appendChild(renderer.domElement);/ V0 _; W# n. _% Z" \& v- R1 o
1 ]% h$ ^- C% l. v: U
// Refresh Issue
! @8 ?; y' x) Kwindow.addEventListener('resize', function () {! r5 p$ d5 y/ A
var width = this.window.innerWidth;
+ W3 J5 X+ A8 a2 v6 S" L var height = this.window.innerHeight;
j" D- W9 W; i1 c render.setSize(width, height);
6 U9 t& m6 J& a% @ camera.aspect = width / height;1 ], c5 I! Z- O1 k+ Y
camera.updateProjectionMatrix();3 b9 i" L2 i- v$ w& Z7 G) h! I7 W
})
) ~4 v. y" ~. [" u: E6 t6 n3 t- B3 d7 ?4 g' B( _
//orbit contorls
" b( [0 Y' R2 k9 Z7 p7 jcontrols = new THREE.OrbiTControls(camera,renderer.domElement);: i- V$ @: r( L7 b& l7 k& w) ~, j# C
1 g& e4 S3 w' o. b) l; d! p
//create the shape0 w6 M. u# G# a' X7 L* k
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);: T& ^& h* M/ H
//create a meterial
, e4 `+ R1 S$ u/ h+ [0 mvar material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
/ p0 x$ X, M5 }6 X0 S//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];' b( ]8 _4 ~7 f7 F# p2 K
//var material = new THREE.MeshFaceMaterial(myMaterial);, r0 ]! o! M+ x4 o
% m1 ?+ h+ j( W4 w: q* G0 xvar cube = new THREE.Mesh(geometry, material);
* n/ T, d/ \! b$ Gscene.add(cube);
3 O( P5 W1 B: T4 f. f' Dcamera.position.z = 5;
6 K1 ^3 P D/ S2 g
( E8 K0 Q3 t! s- Q( ~! J3 g' S9 K6 N% R" w: q
" u! ?5 x2 U% x' y% Z; M% U
7 C9 W" E2 k2 B& P0 O
9 \5 N/ o3 s& a( E7 Z( F2 N2 K$ y) ?
//rotate ) f; [$ U' ^" d5 D, t
var update = function () {
, j/ ^8 K% _$ ~/ r" _, O cube.rotation.x += .01;
( X% v. E/ r1 J2 U1 ]3 r cube.rotation.y += .02;" n0 D7 B, f/ |& N! ]$ k8 z
cube.rotation.z += .02;6 _- a1 q; j' E+ P* y, O
}
# p& A1 L- J4 L* j. t, {4 ^
2 ~" H& w `1 g5 C0 Z8 avar render = function () {8 Z% y# V' d/ Z+ }
renderer.render(scene, camera);: f6 g& h9 e6 z4 G
}
; q8 B$ n1 ]) j& Y+ {8 i. Q7 {
+ B2 K1 X7 h' R6 p: F" ~6 _ Z+ P* q' d" m: R. @
! f5 ?$ |8 _+ @. ^0 C0 Pvar Gameloop = function () {
% y; o& |3 l1 W. A# s requestAnimationFrame(Gameloop);
& n* @0 v) D3 Y& k update();- B* q0 D$ U" |
render();
) g/ e- J I' @: H5 y! i" s}9 K1 T$ c: A, N: P) u6 L
6 `* A" ^# `1 |; v( DGameloop();
4 n. Z) I/ S5 \/ I/ r[/mw_shl_code]/ j O, x l6 k3 h6 p
, I: I3 [+ }3 }0 m' r7 x
$ p3 x+ G# M8 i! q1 D6 ?引入争取的html,
3 F6 Z& P# n" L% b' @3 M3 Z
/ Z5 n2 P6 C* G8 o! D[mw_shl_code=html,true]<!DOCTYPE html>
8 P2 P/ y8 g( q+ H. d! `<html>
- k- F/ t4 M, ^) h5 F7 ]' B' v+ a4 M3 z/ w* o2 l: }
<head>
" g& E1 m* E+ |3 ^3 X <title>hello ThreeJS</title>7 F6 w) B1 t( l9 A" I5 K& @
<style>
4 ?0 A$ ?8 L: I body {
# G; H/ Y& U, v/ x margin: 0;
! l6 `! a& ^5 _( a0 @; o }3 H6 _9 O B& Z4 {, I5 |- K' D
1 V7 q' Z# [9 e2 i& y3 i6 G
canvas {. e* K6 D3 e. _
width: 100%;
/ z S8 J! o, N height: 100%;" _1 `$ R. Y D2 R
}
B: A% e- h1 `6 | M2 z: g! b7 Z- Z# E9 i, S a" v
h1 {: e9 q4 N0 S. M7 Z0 k! f
color: aqua;0 s R# W# K$ b
}
- Z8 r" a, }# t3 y </style>5 u# ?' y& J5 H& D& t! f0 [
</head>6 p- \6 ~7 p' q; Q& Y1 M
5 _; h5 C1 }' O+ u- t: h& z, I; V0 V- h<body>7 s8 G2 R7 q2 D$ z3 q3 L1 D
<script src="js/three.js"></script>! n9 H* u3 r. a3 F8 h/ V' S
<script src="js/OrbitControls.js"></script>+ \7 D7 F: y# s/ U3 v; K A8 X
<script src="myjs.js"></script>* R6 l/ h. A7 ]2 V y9 c; T$ c
) |# E4 M* G) B/ h6 X7 B
. }2 l) ~: m( ], Y; |
+ G' z( Q% m( ~0 R
/ J! T# D& G. H7 x# M R# c! x1 J</body>
: o) ?+ D7 ?6 v$ Q$ k1 D0 [
* T8 }8 [( i0 p! m V, ?</html>[/mw_shl_code]; n- e w& l4 Q+ p9 b4 {! \
' `: X3 B6 f( `
效果点击这里:* H+ k5 n8 g+ }/ m& X" h% R
; S% s4 t( w) \
http://plmhome.com/doteam/lesson1.html7 N( p: t% I A7 g
: c/ j8 A6 O6 \1 i1 i0 m+ x. `2 y0 V! A0 M2 a4 K
|
|