From 6445e6cf2316e5033f96241bc348f9c71fbd6eae Mon Sep 17 00:00:00 2001 From: sasha240100 Date: Sun, 10 Jul 2016 16:03:22 +0300 Subject: [PATCH] Three.js example. Former-commit-id: 01a8b1d8382c0de38849004008107728909f694f --- examples/basic/threejs/index.html | 35 +++++++++++ examples/basic/threejs/screenshot.png | Bin 0 -> 6014 bytes examples/basic/threejs/script.js | 73 ++++++++++++++++++++++ src-examples/basic/threejs/index.html | 4 ++ src-examples/basic/threejs/screenshot.png | Bin 0 -> 6014 bytes src-examples/basic/threejs/script.js | 70 +++++++++++++++++++++ 6 files changed, 182 insertions(+) create mode 100644 examples/basic/threejs/index.html create mode 100644 examples/basic/threejs/screenshot.png create mode 100644 examples/basic/threejs/script.js create mode 100644 src-examples/basic/threejs/index.html create mode 100644 src-examples/basic/threejs/screenshot.png create mode 100644 src-examples/basic/threejs/script.js diff --git a/examples/basic/threejs/index.html b/examples/basic/threejs/index.html new file mode 100644 index 00000000..f15724e3 --- /dev/null +++ b/examples/basic/threejs/index.html @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/basic/threejs/screenshot.png b/examples/basic/threejs/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..74ab1708905567815fc0e14f89a1a97394652b88 GIT binary patch literal 6014 zcmeHLX;f3!77n6fRpdD!6);h`ND+|M3gj__B38IsL=dEa5_k>>C;<_fi4_$Lh2X7X z0WDgQQ9v0*hR6#vYBW&>QxO4Uk%BTr2uUEx?K!cJ_D6rc_txqkvQ}31-TUmlzi$s` zB{{cir<3MF-Gu}KK@)Y}>P{fc^CS@FFc-`L8sSu8BaiCMy`~+Qw$ahO2I{I=3y}e6*`ry>y9w zcMpqQmcSos;_&UFauayZ-+J?>DCIgdMs7}o#G60DOLL`tw-a9kpm2+`B3~yVnL-KlbR(2+;sSQtYwMl#iLNql)9Pa_N&?W#>d2Cx5ib&MtOy z!oYO92Ic*P(iXo~Ql2%<&vl_rB^Qhv;gm*s5nCYV85NM4tQ7JASp+pYeCnZIyAD3m zJsLU1eItl@UCIt2vXnPL68~MU8-FTquvCn3+G+T!P4@ViK_~kxiYSY%Dd#I=WzBUm zB856VpqKcFI{jo~(xyF!wmNaloE0tQ&+(h?o}k+2P^JgCUOa`8seDN>;vZZ#B?5ySaiuiuzuO;nXy_cKB%w$q7E~c@jxZLsaQJf^b zKf$X{&b7e%;{S<{;#o>*r7UNBoQd~2wbSGyb-iyVE);FgvIN(oij?uzf9 z$}zWBoR>wGZ5-o-%KajkBvK-c-XzPFR>(L5F^cEBKZxh`#z@9qh{stxTq2^?0Lrcu zd_oz|Q{azl^G6%)62|)3J6aX^kOb$;{R&u*Msam86#H!JKBiA}vgzO8Pp`A>_v1I1 zc8cU-`s?~+dQGoL6`2D;~ii2JNuRNPmZf^oO!MXB! zEAg|FKU0{L_cMFTWsz^Za;Tpt$}?4i5bo$#s^fRL>HSZy=(YBV@pT}*o`^tk&i zs^a$p&EZ3Jm}PDJw2K+D;(Y&Fpz-(QS{&cay}lV}mzZinH=WwOcGI_Pcbjmdh9A8T z1DY^nZd&E%Tz2UZ*`a+t#HBz*46O?}5fsxBY1(@|j{6#XMZ2dkm2gMQm~n309iuJp zpFlq^?&D)dnaNEV{a;EB#l!*?x&7ERh?;aHrY^yU2Q-9QpEAs*O21DnQ>Ux4A0ZH` zHskaFtg3QyV|qlv!<2|1Ej5CI!8)?T{Y-F*;}!4E!mTeZAl$hn4Jk!5JywO6`I;E> z3Ipa4mI%!=u)G58endgg#S|KnrcN)LvB7pjs84A(2x(QVqZKy#r?@Ac)CdDcmg=_#I$~8mb%32f zY(RXs^G|WbzBHkTr}amaqV}m3S}})IH1jOD0NvdZy6E1(+)Am3Gxp517D0zf8dEq; z7T>oPY{9Ay!LUxlJ8b2Hs=BsiLvW2%PT{AQt1A0@ki#tD8YA6j_XAlYQ^^ikRU+_f zn;hP!KMzW=+zschzx?^+Hp+A)N8*5W6hmd@&^h&*rqYz zt3&68{}O0o&eKaXSh5if{u;Ecvo#`uB-}gX{Ox-Yk2Nq>iBl7 zD-(EI9MumW8}M}1AKO~p8eoV%hK263$R;b(zz)|}187*D86>V!j&CsFMIJJ2U1f;+ zUVzC%HiyfXYyZRO?(Wu>K?K!!V1D z4})fgcA+z85BfUBr}BJV;|lyLtw}cp_DgVr!1x{j_6E2zaOk)H zK5sQe#pHZ2^M%lmQ_R>83~8zjEct?$XxfV<;5I8}6M@{@Ex@GjiLp&ND#13)koCb15t3SR-du8{4^PFA!( zz(|D*nPO9-Cx%3NLsmfvjN}X8mVv7jxzAqM4E}8Bg)WVPq-gNpLq`H|X`^&)w>=Ah z!8W%25NzC34IW^%+mt@O@it&6*bv$3C~uJvK+=#2Bc0C02@ffUH}V_Jj%ggAQkz6*g$e`1Yv<9FBV1wk{D70(rkd)8qChY>@LjS g2Y<(%Se-wp literal 0 HcmV?d00001 diff --git a/examples/basic/threejs/script.js b/examples/basic/threejs/script.js new file mode 100644 index 00000000..447df1d9 --- /dev/null +++ b/examples/basic/threejs/script.js @@ -0,0 +1,73 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o +{% endblock %} diff --git a/src-examples/basic/threejs/screenshot.png b/src-examples/basic/threejs/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..74ab1708905567815fc0e14f89a1a97394652b88 GIT binary patch literal 6014 zcmeHLX;f3!77n6fRpdD!6);h`ND+|M3gj__B38IsL=dEa5_k>>C;<_fi4_$Lh2X7X z0WDgQQ9v0*hR6#vYBW&>QxO4Uk%BTr2uUEx?K!cJ_D6rc_txqkvQ}31-TUmlzi$s` zB{{cir<3MF-Gu}KK@)Y}>P{fc^CS@FFc-`L8sSu8BaiCMy`~+Qw$ahO2I{I=3y}e6*`ry>y9w zcMpqQmcSos;_&UFauayZ-+J?>DCIgdMs7}o#G60DOLL`tw-a9kpm2+`B3~yVnL-KlbR(2+;sSQtYwMl#iLNql)9Pa_N&?W#>d2Cx5ib&MtOy z!oYO92Ic*P(iXo~Ql2%<&vl_rB^Qhv;gm*s5nCYV85NM4tQ7JASp+pYeCnZIyAD3m zJsLU1eItl@UCIt2vXnPL68~MU8-FTquvCn3+G+T!P4@ViK_~kxiYSY%Dd#I=WzBUm zB856VpqKcFI{jo~(xyF!wmNaloE0tQ&+(h?o}k+2P^JgCUOa`8seDN>;vZZ#B?5ySaiuiuzuO;nXy_cKB%w$q7E~c@jxZLsaQJf^b zKf$X{&b7e%;{S<{;#o>*r7UNBoQd~2wbSGyb-iyVE);FgvIN(oij?uzf9 z$}zWBoR>wGZ5-o-%KajkBvK-c-XzPFR>(L5F^cEBKZxh`#z@9qh{stxTq2^?0Lrcu zd_oz|Q{azl^G6%)62|)3J6aX^kOb$;{R&u*Msam86#H!JKBiA}vgzO8Pp`A>_v1I1 zc8cU-`s?~+dQGoL6`2D;~ii2JNuRNPmZf^oO!MXB! zEAg|FKU0{L_cMFTWsz^Za;Tpt$}?4i5bo$#s^fRL>HSZy=(YBV@pT}*o`^tk&i zs^a$p&EZ3Jm}PDJw2K+D;(Y&Fpz-(QS{&cay}lV}mzZinH=WwOcGI_Pcbjmdh9A8T z1DY^nZd&E%Tz2UZ*`a+t#HBz*46O?}5fsxBY1(@|j{6#XMZ2dkm2gMQm~n309iuJp zpFlq^?&D)dnaNEV{a;EB#l!*?x&7ERh?;aHrY^yU2Q-9QpEAs*O21DnQ>Ux4A0ZH` zHskaFtg3QyV|qlv!<2|1Ej5CI!8)?T{Y-F*;}!4E!mTeZAl$hn4Jk!5JywO6`I;E> z3Ipa4mI%!=u)G58endgg#S|KnrcN)LvB7pjs84A(2x(QVqZKy#r?@Ac)CdDcmg=_#I$~8mb%32f zY(RXs^G|WbzBHkTr}amaqV}m3S}})IH1jOD0NvdZy6E1(+)Am3Gxp517D0zf8dEq; z7T>oPY{9Ay!LUxlJ8b2Hs=BsiLvW2%PT{AQt1A0@ki#tD8YA6j_XAlYQ^^ikRU+_f zn;hP!KMzW=+zschzx?^+Hp+A)N8*5W6hmd@&^h&*rqYz zt3&68{}O0o&eKaXSh5if{u;Ecvo#`uB-}gX{Ox-Yk2Nq>iBl7 zD-(EI9MumW8}M}1AKO~p8eoV%hK263$R;b(zz)|}187*D86>V!j&CsFMIJJ2U1f;+ zUVzC%HiyfXYyZRO?(Wu>K?K!!V1D z4})fgcA+z85BfUBr}BJV;|lyLtw}cp_DgVr!1x{j_6E2zaOk)H zK5sQe#pHZ2^M%lmQ_R>83~8zjEct?$XxfV<;5I8}6M@{@Ex@GjiLp&ND#13)koCb15t3SR-du8{4^PFA!( zz(|D*nPO9-Cx%3NLsmfvjN}X8mVv7jxzAqM4E}8Bg)WVPq-gNpLq`H|X`^&)w>=Ah z!8W%25NzC34IW^%+mt@O@it&6*bv$3C~uJvK+=#2Bc0C02@ffUH}V_Jj%ggAQkz6*g$e`1Yv<9FBV1wk{D70(rkd)8qChY>@LjS g2Y<(%Se-wp literal 0 HcmV?d00001 diff --git a/src-examples/basic/threejs/script.js b/src-examples/basic/threejs/script.js new file mode 100644 index 00000000..dd8f60bd --- /dev/null +++ b/src-examples/basic/threejs/script.js @@ -0,0 +1,70 @@ +const GAME = new WHS.World({ + stats: 'fps', // fps, ms, mb + autoresize: true, + + gravity: { + x: 0, + y: -100, + z: 0 + }, + + camera: { + far: 10000, + y: 10, + z: 30 + }, + + init: { + scene: false + } +}); + +const scene = new THREE.Scene(); + +const obj1 = new THREE.Mesh(new THREE.SphereGeometry(3, 32, 32), new THREE.MeshBasicMaterial({color: 0xffffff})); +obj1.position.set(6, 6, 0); + +scene.add(obj1); + +const obj2 = new THREE.Mesh(new THREE.SphereGeometry(3, 32, 32), new THREE.MeshBasicMaterial({color: 0xffffff})); +obj2.position.set(12, 6, 0); + +scene.add(obj2); + +GAME.setScene(scene, true); +GAME._initCamera(); +GAME._initRenderer(); +GAME._initHelpers(); + +const sphere = new WHS.Shape( + new THREE.Mesh(new THREE.SphereGeometry(3, 32, 32), new THREE.MeshBasicMaterial({color: 0xffffff})) +); + +sphere.addTo(GAME); +sphere.position.y = 3; + +new WHS.Plane({ + geometry: { + width: 250, + height: 250 + }, + + mass: 0, + + material: { + color: 0xff0000, + kind: 'basic' + }, + + pos: { + x: 0, + y: 0, + z: 0 + }, + + rot: { + x: -Math.PI / 2 + } +}).addTo(GAME); + +GAME.start();