|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 A1 l0 T; O7 U& n( j( D+ K9 A: R' [% z+ ~6 G N
废话不多说,官网自己百度下, threejs.org ,入门很简单。, u: J; d3 g( {5 a% m: l1 e
% E. U) G! A ? {
创建的javascript脚本如下+ d% O& [" L/ ]0 ?0 A
9 h9 X7 a% _; k, ]! s$ @6 C e
! X* I3 X7 Y! f6 I& C2 g& Z[mw_shl_code=javascript,true]
6 J: }! Q; ]- q; k2 pvar scene = new THREE.Scene();- a! a5 m; C% V& [, Q
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);/ u! f/ `! O+ N+ D7 {
var renderer = new THREE.WebGLRenderer();
9 m% O) z3 j% Arenderer.setSize(window.innerWidth, window.innerHeight);: s! \( P! e2 ~( B$ W8 m
document.body.appendChild(renderer.domElement);- h" i, H3 l. w- e! |9 _
, }: ~2 p9 z# }/ E5 o8 S% [' N
// Refresh Issue
) w C$ A$ y0 ~: S9 Pwindow.addEventListener('resize', function () {
9 ^7 s0 }6 @* [% r6 z2 G2 r" j4 l var width = this.window.innerWidth;/ o A( `4 c! f; c
var height = this.window.innerHeight;
4 Q: H+ J, f) Q9 @ render.setSize(width, height);+ w1 b; e& Z. W! x+ F( C# n6 x
camera.aspect = width / height;
- U7 t4 j! v6 n* p: r camera.updateProjectionMatrix();" _2 X% F1 W. w1 a1 d
})
* ]" W, f5 x7 @" Z! T4 b) f. m7 J' @0 O1 @3 w9 U5 h8 A
//orbit contorls% K: J1 x/ |; L4 A
controls = new THREE.OrbiTControls(camera,renderer.domElement);: l% a V+ a9 ~$ u& }
3 |+ W! N/ Z" Q# V% J. ^" d; X4 l6 \//create the shape8 m) }* _$ d: _ j2 O
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);
5 N( T% i3 f- e: {+ j//create a meterial( b Q/ ^* u. S" R# o j# l
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
8 r+ b* H( O: q# W' @! x//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
: A1 o( E) g5 M- {# k5 \, `: n- `//var material = new THREE.MeshFaceMaterial(myMaterial);+ r: K* J |- B: A, k
) a$ ~1 C# Z$ z C% _' `2 U& G
var cube = new THREE.Mesh(geometry, material);0 p* F3 p* d5 J W
scene.add(cube);
7 j& o! F( h1 gcamera.position.z = 5;
5 | }4 M( G3 }/ i( ^- F8 \( b/ g' H0 l8 i& H. R4 ?/ a
$ A& T! ^& ^% N+ K- Z8 C8 c0 z
9 c+ g8 R& w9 R6 b! |& {
" G1 k3 O9 G# @! t5 H& F; w0 |* i; x9 h0 I
//rotate
) I' n. p# p/ Hvar update = function () {$ w7 P" B7 B8 c0 B+ i
cube.rotation.x += .01;5 x: V1 n$ ]2 G' v
cube.rotation.y += .02;7 W, b2 E3 ~, T1 M0 Z" B6 T
cube.rotation.z += .02;2 I$ |# W* }0 Z2 _
}
7 C6 {7 o2 R2 P2 z# w; Z4 [2 r/ m! V& z% \: m4 N
var render = function () {* r# ?' @9 M' x5 D% v V5 L
renderer.render(scene, camera);
1 I* ~9 u1 m5 D( e' R}
j/ v; p) z9 x; h* N% |
$ u; H8 B, i6 z
# ]/ H6 H% M: u, Z ]/ Y. G. ~1 F' y: i$ r! t5 p K4 x+ r) ~
var Gameloop = function () {
/ f G. y4 J( D$ n+ B9 i8 G requestAnimationFrame(Gameloop);
9 G$ B% V9 ?: P+ c8 _, ~% u update();+ i6 p' n7 D; S
render();) T+ v, w% z, V8 s
}: C) a @+ x. |$ R! I
$ E7 N" H3 M% {: o* _2 V. ZGameloop();! ?9 y; w. j- H5 R; F2 _+ d' ?/ j
[/mw_shl_code]; Q1 i r9 X, W
8 ?0 q& L0 L" D
H$ S, h8 K4 e引入争取的html,
7 v3 q( ^8 S0 X( |# B, ~7 L/ e
" G/ W' W! g6 v[mw_shl_code=html,true]<!DOCTYPE html>( I- b: u- k5 ^5 L% u0 k8 G7 {
<html>2 [$ Y+ j' t! o: u' r/ F4 b
V; \/ p& N4 F
<head>: f1 o0 W. E5 r$ \
<title>hello ThreeJS</title>, d8 l. y! S4 X2 ]1 f
<style>
# U1 j7 ~7 j1 a: S# p9 I, [ body {2 X! F+ x& O( n: i9 p$ r
margin: 0;! G! C2 {( c$ F; ` ?- v/ {9 q+ b
}0 W2 h- D" T) H, ?4 l4 T" [
7 Z6 |7 V4 A2 y. { canvas {/ U& p" b4 N; H) H* O
width: 100%;* V) D9 T8 Q+ h5 s/ g3 p
height: 100%;9 Q6 c6 M! H( P4 _ G+ W
}
. y7 q# j' L, W4 \( s3 a' Z" W2 B" K9 [/ n# p
h1 {5 g' q8 Q z. u9 Y G
color: aqua;
/ \1 N- H' u9 j }
4 g3 |+ v5 c; U" [2 n: O% d </style>
$ U0 M" p+ X1 `9 m3 W( s</head>
6 Y& C' l& S+ \6 R$ W- _% b2 g! j" N" c* ], J7 b5 }' w
<body>
1 k2 `: E* m& x9 T4 I <script src="js/three.js"></script>
7 ~7 S* V' [1 ^6 K: T <script src="js/OrbitControls.js"></script>3 {& A/ N0 J% k L8 C
<script src="myjs.js"></script>+ z: K5 f3 b8 {8 m6 Y" P9 z
% u7 N2 _8 C9 j7 [) G; e3 C5 C4 _
1 v/ d; ^/ D. J; s5 @; h) i5 p4 Y* N8 L) E
$ Z/ Q1 U5 T( z/ V
</body>! Q, \0 P( i7 B; j
( p9 N2 d. ^! h
</html>[/mw_shl_code]: E4 m+ I- n: K% Y0 y( w) G
& F4 S3 j$ p$ |
效果点击这里:
7 h% J" v& {+ F2 c
! {! a4 h3 _. G. \" fhttp://plmhome.com/doteam/lesson1.html: J1 T$ l2 T3 V3 K8 l
- @9 }- e" A+ w* W! [0 q! b
' U3 Z5 t; v* K0 E: g6 @# o! z |
|