PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

[前端框架] Threejs 基于webGL的3D开发神器

[复制链接]

2019-9-1 18:45:09 2519 0

admin 发表于 2019-9-1 18:45:09 |阅读模式

admin 楼主

2019-9-1 18:45:09

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x

! {5 H$ G5 q/ X) k1 F9 \+ x, X2 S5 h
废话不多说,官网自己百度下, threejs.org ,入门很简单。
, f5 [. G; a' Y4 b6 Q, C
8 K7 S- w7 r0 a  O' E创建的javascript脚本如下2 T* f% A& D# g% l
8 \; Y- ?- a6 \) V+ H" @
GIF.gif 5 S, a$ G" c: t* E/ X0 N. q
[mw_shl_code=javascript,true]
! ^. t! b  Q- _var scene = new THREE.Scene();
& S# X1 j+ y4 w: K* Q: Q! Yvar camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
  K# o5 p+ e1 Q4 i$ e0 ^3 Cvar renderer = new THREE.WebGLRenderer();3 _+ s4 D: r8 k1 l- Y3 R
renderer.setSize(window.innerWidth, window.innerHeight);
! p' Q3 P( w: v5 sdocument.body.appendChild(renderer.domElement);* m/ Y8 E0 t/ y

+ e' [: E0 K$ p7 }& Q! i' g+ \. _$ ]// Refresh Issue & U2 A4 H2 A. {7 T+ O
window.addEventListener('resize', function () {4 J) e. R( k" ^
    var width = this.window.innerWidth;
9 b! g2 Q8 N; f7 Q- m" ^' j    var height = this.window.innerHeight;+ q& ]( n  v/ Q* `6 f. S$ o
    render.setSize(width, height);$ `* {! c3 v/ o. f- ^& u3 z% \" i
    camera.aspect = width / height;. b% W/ t& `. U2 \1 o* |6 u# g
    camera.updateProjectionMatrix();9 Q3 e5 j# g% N4 q
})
' J+ F7 ^2 p1 q3 s+ z" W; ?9 m8 r: W+ Z% B
//orbit contorls/ {/ z3 J& ]; U9 [9 Y8 a( c7 H
controls = new THREE.OrbiTControls(camera,renderer.domElement);
) J1 I6 ~9 \; J$ y$ C: L% _! |3 S8 x7 f& R8 N* m1 a0 P
//create the shape4 H1 |! c# R4 _4 m
var geometry = new THREE.TorusGeometry(2, 1, 16, 100);$ h% ^- r" L1 a) Z) T1 e4 r
//create  a meterial5 u% o; n3 T4 J. [
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, wireframe: true, });  i( l' c, v7 e- A
//var myMaterial = [new THREE.MeshBasicMaterial({map:new THREE.TextureLoader().load('image/plmhome.png'),side:THREE.DoubleSide}),];
' {+ ^$ T4 n) ~' ]& l% P//var material = new THREE.MeshFaceMaterial(myMaterial);
  a7 x) o3 K1 H0 r
+ B! Y& q7 k+ X; ?0 c6 z+ Vvar cube = new THREE.Mesh(geometry, material);
' l% C: u( n% b3 T) gscene.add(cube);
. D+ V. |6 A$ f5 U1 H  q8 K; Hcamera.position.z = 5;/ {6 P) N" Z8 W+ U7 G1 L. u+ c

  ?& m8 M: K0 {2 T- c4 K
( E- u, S, M& P
$ ~7 `; E6 T; ^& `' P4 X8 p- x2 w. \& n0 L& Y. W
# z3 z3 |6 K" t3 v: w% d6 B9 {
//rotate
; @6 d+ E. x, ^var update = function () {4 G, q0 o9 e$ d( Q& w: L
    cube.rotation.x += .01;
( q8 ]# J' C3 i! J4 M    cube.rotation.y += .02;8 `# @" E# [3 Y, f+ ?4 k
    cube.rotation.z += .02;  r- y0 d8 _- K: T
}
) ]3 S) G2 e( R% [$ q/ k0 w; L3 D9 [3 g
var render = function () {2 I1 d6 C% @+ M1 @9 X
    renderer.render(scene, camera);: i. Z3 J8 _3 G8 ]* k* c
}
. y: y6 l/ D- T" y1 G0 m
5 b; T$ E% ]  j' ^+ f
$ j" L  Q- \9 A) {6 T: U% }
) J/ |# V% j0 ~4 U4 rvar Gameloop = function () {: m3 f. f! W# k5 j0 w' l1 a
    requestAnimationFrame(Gameloop);- G' e3 q+ T# u& n, `9 y' t/ @7 e
    update();
1 h& S/ H! L4 K6 B  o    render();
5 t3 o! ?- O/ z7 F}
& k* k/ T" L% l% m& M! J8 G! A; ?& j/ t) a" C% t. M8 w% W. {& E1 N: v
Gameloop();3 ^9 J* r3 y  h1 Y& r% G& P$ }
[/mw_shl_code]! n6 v3 Y5 L5 ~7 n( u4 n, @# }- `

( K  X9 V: e/ L3 T' q1 n+ M# g' |6 D& v- D2 r
引入争取的html,
" }5 i. g. n3 D! f
& ^1 y9 H  Q0 Z( t[mw_shl_code=html,true]<!DOCTYPE html>
/ @. w: I5 K/ @0 ^. B4 M% Z<html>
6 o$ H) K! V: b5 x- c$ b9 [2 y4 V. t: n8 I  k7 \( U- f
<head>7 o+ A' `+ T) t4 l$ D0 J" N
    <title>hello ThreeJS</title>- s0 Q$ u5 ]% {7 G5 z. L
    <style>
1 _; n& f+ Y2 M$ D/ b        body {5 X: I9 U& l2 n0 u' i
            margin: 0;
2 ~& Z) P3 w0 u- m, S5 `        }2 D) m1 K  s# H
( ^8 m2 c4 X% V- a$ K$ `
        canvas {
( M$ c+ k& Q8 R5 H" p+ a4 l            width: 100%;( V( w- S* {1 `8 C! C# |
            height: 100%;
) Y" d- ]; _. ~0 o0 _) L' Q        }
/ U# \! ?5 K! J' F
& I  r$ ~+ N& U        h1 {
3 B2 w/ N5 b1 e% [& A7 P            color: aqua;
, R* e+ j7 z. e        }6 m! E4 |; r4 k1 p$ [& }
    </style>/ y8 ^8 A- Q" `8 j% z, Q
</head>
8 Q2 O0 m, ]$ }7 O+ ]/ o
' v3 d5 j7 s2 z; d5 h4 o, Q; a$ a<body>% E7 [! @5 g0 g8 B1 o
<script src="js/three.js"></script>
( ?  C  x1 Y/ m. {    <script src="js/OrbitControls.js"></script>
0 `' r1 D( ]2 K    <script src="myjs.js"></script>! x, ]# g5 G. e4 }. V* J; r
  1 ]9 x3 [: U' K. I+ l9 q

8 q3 ]9 l2 I' |7 Y# k  _0 I% _$ \7 U& \+ N# M

0 w5 a' Z& Q" V* x6 E" m# ~$ ^</body>
4 q5 ^& z8 M' P8 C' d1 X
8 |1 H9 S0 a* N7 K+ ^  I2 M* v</html>[/mw_shl_code]0 A3 F1 r# ~: _2 Q
! D2 R  @* n- ~
效果点击这里:
6 z/ ^  a. b5 J: f  e1 ^# L7 N; V+ O+ V
http://plmhome.com/doteam/lesson1.html, s  k# l% \; e" n& V
7 d3 a) Q% {  m+ P* z

$ O1 Q& }' h( n9 }" S
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了