|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
1 G" c# r5 s W5 m8 L* o' J# f2 `
7 u3 B7 Q( ]+ ^/ ~' @, q/ K# r
废话不多说,官网自己百度下, threejs.org ,入门很简单。/ N$ G2 q/ a+ ?7 [5 u9 D; ?$ i
2 q9 n3 @8 q2 W. E% Q7 m, d R
创建的javascript脚本如下
; j! d$ R! B: T
4 |. E F {1 J' U) h& p1 H& M- @
: h9 {5 E3 h% y- Z: C. F[mw_shl_code=javascript,true]5 p, ^/ }! t1 W, v7 h
var scene = new THREE.Scene();: C* M" C0 u5 y/ |$ p |( v; D
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);( `6 a' e+ g" G: w% O/ i' X/ C
var renderer = new THREE.WebGLRenderer();
L+ _5 Z7 ^( c; C4 q! D! ~$ N; Irenderer.setSize(window.innerWidth, window.innerHeight);
. K$ q) _3 S: _! _document.body.appendChild(renderer.domElement);" {4 \8 A* M0 s* i% d4 \6 v3 G
7 N9 x* i8 @/ e6 G8 |! D5 m s// Refresh Issue 8 {' T) n( Z' x" f7 D$ `8 q9 \
window.addEventListener('resize', function () {
# \- _7 }/ U1 m4 k% _7 W var width = this.window.innerWidth;" Z4 L Z/ ^1 Q0 M, ?0 {
var height = this.window.innerHeight;7 j+ ^5 s* G5 D; G/ F( N. b/ y
render.setSize(width, height);
% ?. ]0 H9 U9 j- N/ q camera.aspect = width / height;
% }+ X' A! h/ P0 W5 O5 @ camera.updateProjectionMatrix();6 L( }3 Z) ]8 ?/ t7 ?: {
})6 d: {& g- J- {
* n7 z5 ~8 h" V4 ?# W- ^
//orbit contorls
4 p6 M+ N" `$ L; a: V. ~5 J' Hcontrols = new THREE.OrbiTControls(camera,renderer.domElement);
' V1 H# c2 X+ r, L+ D2 ]% Z/ [5 \2 W" e
//create the shape8 A$ b' Z8 i& T3 h
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);, y0 A. H, T4 {" ^1 X5 F) A
//create a meterial3 r& I" |# z3 M3 s
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
9 @ F+ s$ m& _- q( \* E//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];( a1 z5 z3 y/ v7 d/ q1 j# K# { F
//var material = new THREE.MeshFaceMaterial(myMaterial);
8 g8 q# @! k8 H J1 D3 H) J7 Y2 @6 }2 j1 r+ v1 I: p9 i
var cube = new THREE.Mesh(geometry, material);
3 m* w: l0 t' k( z% hscene.add(cube);
- a/ g' R3 l5 g* b$ w& Ocamera.position.z = 5;( u( X: d; A3 l/ B! o3 r$ n7 K
# ?% q) k4 ~/ f, t% T9 Y
2 n- H+ [- z9 r
3 r. ~8 q2 n6 }$ D- Q
2 l# v" ~& |. D0 O5 Q. J4 I
/ c6 u. U. I, G J! b//rotate
0 W" Q0 D# j% jvar update = function () {% V5 \* v I2 Z! O, y
cube.rotation.x += .01;7 B- k, @* r$ e2 }: s
cube.rotation.y += .02;
1 V! h l# V+ m# D# x; P8 e cube.rotation.z += .02;
^, w8 e* R Q8 Q! W}0 m a7 k' j1 D" g, p6 n8 |/ p
* I2 ]6 ^# k6 k4 G6 n( Rvar render = function () {, O3 j- q% j6 X9 i) M3 W
renderer.render(scene, camera);6 Q ~$ U+ R D
}2 S6 ^1 H/ a' I1 ]7 X2 B
# N, }) A( v9 j8 x W
0 ^6 f$ h- f# ]7 A; R4 L0 w
5 q( {4 ?9 X9 U2 i @2 ]' M" R/ v* ~var Gameloop = function () {, X+ E* J1 w# k* q1 s; j
requestAnimationFrame(Gameloop);' x3 ~# X; s% d# s* u' i4 N6 ^
update();/ W# x1 a; r R+ V, V4 y# [2 c
render();
/ Y/ _7 f- A5 ~; i/ ?}
' x( [! T. R/ U1 B0 N
* w8 c7 ^' W' B' FGameloop();
9 }" e( o6 X/ s2 C3 W& r[/mw_shl_code]
+ B6 z4 Y/ s3 I) i. W6 ]: o3 g, j, m# M3 C, f+ ?" t
8 \7 c* \% D! t. R0 i( G% I+ X引入争取的html,
1 c' u+ y0 M# t( l. M
0 U# Y! s7 h; I- d2 s' z& c! f[mw_shl_code=html,true]<!DOCTYPE html>, c8 y* q+ j. A& x* t/ x7 l
<html>8 v: M% K5 t5 E
2 o2 ^. x! g; b n! C<head>' o {$ e" t4 L# }; C3 H; X
<title>hello ThreeJS</title>* a# @$ P% p+ [) Y
<style>. v0 s t: M+ F
body {$ s, @( F# z, ~/ d( v
margin: 0;7 l7 v6 G& w" |- B7 k! g8 P4 F
}
& D w$ u0 R3 K. c8 P7 c; C6 `' T# y8 h$ |/ R
canvas {1 ^- h- ?5 ?; _: X$ q7 H7 U
width: 100%;
/ J+ C7 b" ^% N5 S height: 100%;+ h0 _0 |2 A6 W! x
}2 O- t4 B% [ B2 m/ F- O1 r
7 x2 |2 {4 Z k% f& I, i: A$ ?6 [' N6 K h1 {
) e4 }( G$ J) a1 ?7 K# Q6 M color: aqua;4 H. S% C; f2 U1 k( }1 L' N
}4 g) v4 W7 E$ b
</style>* ~, ~# O( ?/ f; V
</head>
" ?9 h. f. |& v) B8 p$ i$ `( c3 R _3 ~; e
<body>
* r5 `( f. Z5 l. m; e- P2 C5 w <script src="js/three.js"></script># G* }6 p# }7 F+ w% \3 R) @. m% ]3 C
<script src="js/OrbitControls.js"></script> V0 |. x5 L9 t, ~
<script src="myjs.js"></script>
% Z' C* U% q1 ~4 Y F 4 w1 F+ s7 H* X. s" c. O; H
* H* n5 r* h* E7 {: L
- ]+ G& i9 E, h( y6 t
" s. J, g0 P- q7 i% U- Q( v</body>0 F8 h5 A! c: N+ N. Q! J }
+ g8 n/ V# T3 R/ H1 X# a</html>[/mw_shl_code]
" B# q- H/ k s( L- k- y! c) R0 w/ x7 P7 a/ R# y/ ?/ ^% F3 z
效果点击这里:
2 t1 W. d% Q8 Y- h
6 G) [2 z" U1 Zhttp://plmhome.com/doteam/lesson1.html
1 ^/ \3 q% ^( ]
3 ?8 j* z# o5 T% Q v* z7 J2 k i! i \3 s: i; T W
|
|