|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 r6 V' Q2 q* e' T# R
( r/ K u$ O$ \$ q3 T$ W; r
废话不多说,官网自己百度下, threejs.org ,入门很简单。; b; O# X; j& h3 |
5 w6 q7 Q7 o$ E1 T) N/ u) v* q$ c
创建的javascript脚本如下
( l$ }. I$ m: ]+ Y! x- j# b/ T6 |3 y. |9 ~4 ?
) L* w; \+ ^9 n$ ?% V) W& i
[mw_shl_code=javascript,true] R( s5 N2 M% z3 U
var scene = new THREE.Scene();
9 i3 S$ Q/ C$ s" pvar camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);# ~) ~% w. L/ K; L- b. n
var renderer = new THREE.WebGLRenderer();
9 `- d" }- b0 H) a& P t6 ?& orenderer.setSize(window.innerWidth, window.innerHeight);0 K! r6 W" [$ f( |# k0 s* [. o @
document.body.appendChild(renderer.domElement);; {& W. A! k7 h. p" ]$ a( n4 n" W0 t
$ V2 T6 X3 ^$ Z
// Refresh Issue ! V1 [) R" d; M8 N% ~
window.addEventListener('resize', function () {) R/ A7 l5 A4 J9 _
var width = this.window.innerWidth;2 H2 `6 ^- T- C. a4 G9 B: p
var height = this.window.innerHeight;4 z/ l$ {! d6 _" X( C& ~: |: o$ d
render.setSize(width, height);1 I0 ?5 \% Q) r/ }) }8 a! k \5 D
camera.aspect = width / height;2 j& Q& ?( O1 f: `) P
camera.updateProjectionMatrix();
4 ~/ N( Z; Z/ ?- U6 B}) P$ Z) O6 |. u/ Q' ]
8 R5 \2 M3 D1 }+ n4 Q//orbit contorls
! I( A/ Q& g& T( R7 econtrols = new THREE.OrbiTControls(camera,renderer.domElement);
O: {0 ?* h7 o
" l4 _* |7 @8 R1 c: w" F//create the shape
6 [( m3 N- K! U$ f# f+ Avar geometry = new THREE.TorusGeometry(2, 1, 16, 100);1 A" p5 f5 @# W& F
//create a meterial
+ k J; T E2 K; kvar material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });% C, @: {: d7 K6 D
//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
0 d2 I% [; X2 r//var material = new THREE.MeshFaceMaterial(myMaterial);
! w: |; I9 {" j7 J' y" P- Q! v; w5 j
var cube = new THREE.Mesh(geometry, material);4 `- F/ v, e3 A) M
scene.add(cube);
3 Q/ r* U' y; z) dcamera.position.z = 5;
: d8 i# G9 F2 N2 G' K3 n. C% B6 |$ R0 o* X0 c" q6 w
. Z4 _; z9 w) f8 N W( N8 X9 ^' b. k8 f# A( U
1 ?! P9 Q: j6 D: x6 L! z9 I
* Y5 k/ n4 V* P6 b( O( u//rotate : A% H' x0 }" E$ f" \
var update = function () {6 ~! c5 R) `% F
cube.rotation.x += .01;( |8 b' r" g$ j, \2 X
cube.rotation.y += .02;
' t6 f; @' N Z* M6 d0 f) | cube.rotation.z += .02;* }$ C) k! c& p* J- \
}0 T, m" I* s3 l
4 ^5 w; L; G- X) `
var render = function () {
, Z p1 Q: F- D renderer.render(scene, camera);
* [' \0 r1 V+ X- N}
' \7 ^8 @ Q& L* L4 x' x' N9 z
9 J9 S/ U4 E( W7 \. f$ V* L7 V) P# A6 r
var Gameloop = function () {
7 V0 X' c3 a& Q/ i9 E0 r$ ] {8 @ requestAnimationFrame(Gameloop);, l" B6 k8 b6 V A" _) _5 [, D6 W
update();
( @& H% Z; U% V render();* `1 p8 ~, l3 o' l& Y3 w0 {
}
( h. Z( B& [6 u( h& @" Y* ]* G
* r2 U0 x# j, T: x) UGameloop();4 O0 F0 n- ] Y1 a" r: a
[/mw_shl_code]
% N, r5 l5 |: @9 U' G" n
% D5 J9 _6 ^, x- Z% ]3 M% _! j; @' L
+ X+ ^) C3 H+ u, F& C6 p3 V引入争取的html,& |2 \5 v* A# d; d" m+ o
& j7 U+ S" U$ a# v! \2 D[mw_shl_code=html,true]<!DOCTYPE html>
) V$ V/ s2 T+ c: s) z( p0 q. M<html>. m% L4 f) o0 k
( U" }3 L' q' K" d( K
<head>5 Y8 D( b0 r5 y' D: u* t; ]5 Z
<title>hello ThreeJS</title>
, O9 e1 V0 h! ]$ { <style>! b D/ J3 n* V, f5 _% q2 l1 p
body {9 J9 ]# N, h6 I3 K
margin: 0;! P1 ^, t. R7 g; ^, j8 o2 P
}$ r {2 V2 W! R- z8 G; b
% U: Y2 g4 q4 z7 T6 B
canvas {. r$ Y, v, w; L1 K- V. A
width: 100%;
; j2 P% B1 d. ~( T height: 100%;
7 p ]; g( y" S$ D% }6 w9 } }
. }8 Y, Y# T9 Z/ w5 t2 ]0 I; Y5 C! N: c/ T5 z0 p
h1 {
: S' r+ ?9 Q3 @ color: aqua;
( `$ J" J) a$ s( B6 B7 k }( H) A8 D0 I1 |
</style>0 N% I* ^6 {4 v: q. I( D4 P# v z
</head>9 ~/ Z& g0 T. x# q) P: X
% h5 [. {% G2 K4 v+ P& x3 Y, d<body>* A( n" |0 `% i
<script src="js/three.js"></script>
: q, M, v2 ~7 Y: B0 f5 f o <script src="js/OrbitControls.js"></script>! Y! e* Z+ ^) E) A# n& k
<script src="myjs.js"></script>
! E' V9 ^: @/ P6 v% T; r* u 3 k% A# [8 f4 Y3 ^1 T% L
8 e9 d' U, i; n! P/ Y5 r) v
3 A. U( Q" x( V. p0 g
) |( b* w2 L7 o8 ^1 y
</body>6 v( s1 n# V# W$ Z# y1 e8 V
" Y; G# `0 S+ [+ r</html>[/mw_shl_code]
. t+ f( @( [0 M$ ^$ r& {
& N; t0 y9 M9 X- `8 L效果点击这里:
4 m1 E0 x+ g2 t1 `; L6 z& J) o/ \* u7 H5 Z
http://plmhome.com/doteam/lesson1.html8 P& h! ~% t! ]9 U8 \% W' q
( ]3 x, C% D; {- N, d ?1 K8 P6 w& D2 f/ O2 R
|
|