|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ C6 p( s" {% ^6 Z9 h' x8 A! X
" {/ K/ q* g1 ]& `6 V废话不多说,官网自己百度下, threejs.org ,入门很简单。
; v" b: v* B) f0 Q0 O! l$ \- D6 Y, X6 k
创建的javascript脚本如下
) m, B" [ T! F
. @( }5 y" N% J
2 O, @ @7 j. d* |! K$ D[mw_shl_code=javascript,true]8 u, E4 |, z* P4 i6 p; q
var scene = new THREE.Scene();
5 y7 ]0 G9 U4 D+ Cvar camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);) }8 u* H Y, Z+ P
var renderer = new THREE.WebGLRenderer();5 L+ p/ ]) i5 a$ ^
renderer.setSize(window.innerWidth, window.innerHeight);3 g. S% G+ G7 D' S7 @
document.body.appendChild(renderer.domElement);1 h) d' f! F _! k) x
$ I* R, x5 Z2 H: Y/ R. w// Refresh Issue
. e' Q$ v3 j8 N( H) pwindow.addEventListener('resize', function () {+ r; q5 A( H/ A8 Y5 k; m
var width = this.window.innerWidth;
# g* f- S) Y; k! T; T) b( x, i var height = this.window.innerHeight;9 l( Q. Z; _- \$ s0 U/ s
render.setSize(width, height);8 Z7 p _! n# \
camera.aspect = width / height;8 J" u: h$ Z6 ~6 @5 g6 Q
camera.updateProjectionMatrix();1 L8 v5 d( O' O: f
})
! T) a$ c0 B. q- V4 z/ D6 o# Y
7 o7 k, ~ I% v1 W0 \) c$ |& v9 \//orbit contorls6 x2 T3 Y: `- T! J
controls = new THREE.OrbiTControls(camera,renderer.domElement);
S1 ^# S5 Y- |% x- G$ w4 j" q. Y
1 g& i. Q( o# y' T- w; q//create the shape" z" {; M. ^& Y/ _9 `% {6 Y, V
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);+ O! B& P# ~/ `) V: K0 ?# D
//create a meterial3 v7 O6 ^. E( M/ v0 V2 \( A
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });
& u, [, p4 C8 `7 Q- |//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];" A2 g; Z7 Y/ U4 l1 J2 b5 j
//var material = new THREE.MeshFaceMaterial(myMaterial);
6 U8 H6 Q/ m# h, Y- [7 q, S0 h$ n$ [6 v/ ?
var cube = new THREE.Mesh(geometry, material);
7 {9 D5 f1 q& O6 bscene.add(cube);- ^3 ^" O* I9 w3 N5 |+ U* c F
camera.position.z = 5;2 e8 x5 R0 W" Q* M+ u
9 W" C9 \' L, Q9 B o! f/ D* c4 S1 j9 Z/ V+ M
2 z$ v" k b: h9 u8 ?7 C- }$ z2 U
/ S+ h) ?, c" {- c3 Y//rotate 6 o4 f, e- M P6 f. ~/ l; w
var update = function () {
" F5 j& u% ~7 `' G' S e5 a) C cube.rotation.x += .01;- i; i& O) @! N4 |' d) \
cube.rotation.y += .02;) Y# l7 b y0 x# [+ B
cube.rotation.z += .02;
/ K& L) S6 j2 v- c* G4 c}
: d/ Q* r/ S! s* Y* r
7 n8 E2 {+ `; Q3 e' q8 z+ x! Bvar render = function () {
( k1 q. j- T. P$ ]$ Z5 O9 U renderer.render(scene, camera);
/ A. F% c; @5 [6 K}
# k! ^9 F# w L! ~ e) f( w. r$ D+ J: ~
0 Y$ J1 t% K6 p4 ]. v2 ?5 u/ T
8 o5 u' P' }# d4 J mvar Gameloop = function () {
/ |& R! _7 n# q( X: J/ @% o requestAnimationFrame(Gameloop);
- m: |( V/ w+ S5 t update();
3 K7 m! R$ Z* F; b8 i render();
* u( q# j% a% i# J( S}% E: o3 p* r H" K1 S8 H
: z4 T9 j4 B8 K( I* LGameloop();* ?+ S1 W# `( J# j+ [
[/mw_shl_code]! h5 j* n5 D) J0 f7 N
( d3 Y1 |6 r" q. I! S, { P3 _! i) y* [: B: K7 @2 d R G3 f
引入争取的html,9 y: x2 d% Y5 Q: P5 t
& X" H/ o3 t9 b3 V1 m! F
[mw_shl_code=html,true]<!DOCTYPE html>
6 w! X4 t8 a7 F9 [9 @! A5 o4 U2 q<html>8 l: S/ }% O% g; F6 {/ J
o7 F% C- g$ r9 R2 r: M6 K<head>
+ u6 X1 J( u ?) F <title>hello ThreeJS</title>$ S, d6 X2 J! d
<style>; `- b1 s8 m" B* K: W
body {
/ R5 i7 [3 P( D1 k( {3 b2 F) X" l ] margin: 0;9 l; \' [# \4 b5 K7 Y
}1 u1 T8 H& Y7 I6 p. C6 Q2 M- ?
/ i' S8 D) K* ~( ~; ~: E canvas {/ }! w) E0 H# _2 w. u
width: 100%;
- x. |; I, B* E" W* w* b A9 Y$ a. i height: 100%; l! x- ?9 g) P% S; G1 I: @3 |
}3 m6 u" f$ Q7 [( }, J
: U7 y5 }% R! o e- O4 f2 V
h1 {
1 S$ S# N3 E- h color: aqua;
6 v! b# S( U0 Q1 g2 N' [ }- ]& p' X- v3 W9 a8 r6 P
</style>: w+ z Z6 O7 l4 w5 _/ c
</head>
; ]5 g; U6 d9 g M* x. p6 j: Q( T3 w w/ j0 m
<body>" V# F' i. \; D! F/ y$ y! T, X
<script src="js/three.js"></script>
8 a" `0 b' R- P( ? <script src="js/OrbitControls.js"></script>3 m0 L( f6 V9 W3 v1 G4 k
<script src="myjs.js"></script>) e& _ T) Q$ d# R6 o w
' v. T& H* G7 c" p
- j+ O2 c4 K; g2 o9 v( y
1 u% V* c( `7 e, M! O2 M L, [8 b) R
" C u/ B2 G/ q2 a4 Y- A</body>
2 p3 D. X! e+ r: }$ t- k! B. u6 |9 B
</html>[/mw_shl_code]
# A( Q) B2 y+ C& i9 D4 Q {# @5 t% a) J
效果点击这里:# Z; _+ ]! L9 F5 R, n3 e
+ F6 A, k- c* Ihttp://plmhome.com/doteam/lesson1.html
* w% t$ H; l! S/ h' ]+ V+ A5 {* p9 o# M
; u# l: i5 d; Q" [' J' I) p
|
|