Help
RSS
API
Feed
Maltego
Contact
Domain > barpan.ru
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2019-08-22
92.53.96.201
(
ClassC
)
2024-08-13
92.53.96.106
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: nginx/1.26.1Date: Tue, 13 Aug 2024 10:51:05 GMTContent-Type: text/htmlContent-Length: 169Connection: keep-aliveLocation: https://barpan.ru/ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>nginx/1.26.1/center>/body>/html>
Port 443
HTTP/1.1 200 OKServer: nginx/1.26.1Date: Tue, 13 Aug 2024 10:51:06 GMTContent-Type: text/html; charsetutf-8Content-Length: 153081Connection: keep-aliveVary: Accept-EncodingLast-Modified: Mon, 26 Feb 2024 14:24:56 GMTETag: 255f9-61249ac82724aAccept-Ranges: bytes !DOCTYPE html>html langru>head> meta charsetutf-8 /> title>Барпан - 3D сайты, разработка уникального ПО, мультимедийные комплексы и архитектуры решений/title> link href./Content/Site.css relstylesheet typetext/css /> link relshortcut icon href./Images/Logo_clear.ico typeimage/x-icon> link relicon href./Images/favicon.svg typeimage/svg+xml> link relcanonical hrefhttps://barpan.ru /> meta nameviewport contentwidthdevice-width, user-scalableno, minimum-scale1.0, maximum-scale1.0> meta namedescription contentСоздаем 3D сайты, разрабатываем концепции, создаем интегрированные мультимедийные комплексы, создаем архитектуру решений и разрабатываем уникальное ПО /> meta namekeywords contentРазработка программного обеспечения, ИТ компания, разработка сайтов, разработка 3д сайтов, разработка 3D сайтов, разработка концепций, архитектура решения, мультимедийный комплекс, создание интегрированных решений, аппаратно-программный комплекс, интерактивная сказка, медитативная сказка, интерактивная медитативная сказка для детей, разработка концепций, разработка 3d сканера, программа сканирования, программа оцифровки фото и видео, программа визуализации голосования, видео клиент для конгресс систем, искусственный интеллект, нейронные сети, дополненная реальность /> meta namerobots contentall /> !-- Yandex.Metrika counter --> script typetext/javascript> (function (m, e, t, r, i, k, a) { mi mi || function () { (mi.a mi.a || ).push(arguments) }; mi.l 1 * new Date(); for (var j 0; j document.scripts.length; j++) { if (document.scriptsj.src r) { return; } } k e.createElement(t), a e.getElementsByTagName(t)0, k.async 1, k.src r, a.parentNode.insertBefore(k, a) }) (window, document, script, https://mc.yandex.ru/metrika/tag.js, ym); ym(95062843, init, { clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true }); /script> !-- /Yandex.Metrika counter -->/head>body> !--svg width80mm height37.398735mm viewBox0 0 99.999997 46.74842 version1.1 idРусская версия xmlnshttp://www.w3.org/2000/svg xmlns:svghttp://www.w3.org/2000/svg> path dM 10.039086,0.45289099 H 89.960915 A 9.5861882,9.5861882 0 0 1 99.547109,10.039076 V 36.709344 A 9.5861882,9.5861882 0 0 1 89.960915,46.29553 H 10.039086 A 9.5861882,9.5861882 0 0 1 0.45289099,36.709344 V 10.039076 A 9.5861882,9.5861882 0 0 1 10.039086,0.45289099 Z stylefill: #000000; fill-opacity: 1; fill-rule: evenodd; stroke: #0092d6; stroke-width: 1; stroke-dasharray: none; stroke-opacity: 1 /> path idpath3214 dm 88.540327,35.015344 q 0,0.624102 -0.04991,1.073453 -0.025,0.424386 -0.09985,0.748918 -0.07491,0.29957 -0.199716,0.524249 -0.124817,0.224679 -0.399423,0.524248 -0.274605,0.274606 -1.073452,0.723955 -0.773882,0.449349 -1.922229,0.873744 -1.123381,0.399423 -2.596258,0.674028 -1.447913,0.274606 -3.145465,0.274606 -3.320214,0 -5.991364,-1.023524 -2.671169,-1.023534 -4.543471,-3.04562 -1.872301,-2.047049 -2.870861,-5.092658 -0.99856,-3.04561 -0.99856,-7.08978 0,-4.119063 1.098416,-7.314456 1.098416,-3.195394 3.070574,-5.367264 1.972157,-2.1718684 4.718199,-3.295249 2.771005,-1.1233806 6.091219,-1.1233806 1.348057,0 2.596257,0.2246764 1.248201,0.2246764 2.296689,0.5991365 1.073453,0.3494958 1.92223,0.8238129 0.848781,0.4743161 1.173309,0.823812 0.349495,0.3245325 0.474312,0.5492118 0.124817,0.224679 0.199716,0.574175 0.07491,0.349495 0.09985,0.823808 0.04991,0.474312 0.04991,1.173309 0,0.748918 -0.04991,1.273164 -0.04991,0.524249 -0.174752,0.848781 -0.124817,0.324533 -0.299569,0.474313 -0.174753,0.149789 -0.399423,0.149789 -0.374459,0 -0.948633,-0.424386 -0.574166,-0.449363 -1.497834,-0.973607 -0.898705,-0.549208 -2.17187,-0.973597 -1.2482,-0.449352 -2.995681,-0.449352 -1.922229,0 -3.445034,0.798845 -1.497841,0.773888 -2.571293,2.246765 -1.048489,1.447913 -1.597698,3.519925 -0.549211,2.072014 -0.549211,4.668271 0,2.845898 0.574175,4.942875 0.599138,2.072013 1.672589,3.42007 1.098417,1.348056 2.621221,2.022085 1.547769,0.649065 3.469998,0.649065 1.747481,0 3.020646,-0.399423 1.273164,-0.424386 2.171869,-0.923669 0.923668,-0.499276 1.497841,-0.898707 0.599138,-0.399423 0.923668,-0.399423 0.249643,0 0.399423,0.09985 0.14978,0.09985 0.249642,0.399422 0.09985,0.299569 0.14978,0.848781 0.04991,0.524248 0.04991,1.422948 z M 54.938764,30.996139 q -1.098416,2.795969 -2.171868,4.618342 -1.048489,1.822373 -2.271726,2.895825 -1.198273,1.048489 -2.646186,1.447913 -1.422948,0.424386 -3.270285,0.424386 -0.674029,0 -1.323093,-0.09985 -0.649065,-0.07491 -1.223237,-0.22468 -0.574175,-0.14978 -0.99856,-0.349495 -0.424386,-0.199716 -0.624101,-0.37446 -0.199716,-0.174743 -0.324533,-0.374459 -0.09985,-0.224679 -0.174743,-0.574175 -0.07491,-0.349496 -0.124817,-0.873744 -0.025,-0.549211 -0.025,-1.348057 0,-1.447913 0.199715,-2.04705 0.224679,-0.624101 0.674029,-0.624101 0.224679,0 0.499275,0.174743 0.274606,0.174753 0.649065,0.374459 0.399423,0.199716 0.898708,0.37446 0.524248,0.14978 1.223236,0.14978 0.524248,0 0.973597,-0.09985 0.449349,-0.124817 0.848771,-0.449349 0.399423,-0.324532 0.798845,-0.898707 0.399423,-0.599139 0.848781,-1.547769 L 36.739999,9.9265105 Q 36.390503,9.1526261 36.315613,8.6783102 36.265703,8.1790298 36.565255,7.9044258 36.864825,7.6298219 37.563815,7.55493 38.28777,7.455074 39.486044,7.455074 q 1.173309,0 1.872301,0.049927 0.698992,0.049927 1.123382,0.2246764 0.424385,0.1497837 0.649065,0.4743162 0.224679,0.2995682 0.449349,0.7988486 l 4.543451,9.7858928 q 0.748918,1.572733 1.422948,3.145466 0.674029,1.547768 1.298129,3.145465 h 0.07491 q 0.499261,-1.672588 1.048469,-3.245321 0.574172,-1.597697 1.2482,-3.345178 l 3.719639,-9.9356764 q 0.124816,-0.3494958 0.324532,-0.549208 0.199716,-0.2246764 0.599139,-0.3494958 0.399422,-0.1248204 1.098416,-0.1497837 0.698992,-0.049927 1.822373,-0.049927 1.148345,0 1.822373,0.07489 0.674028,0.07489 0.973597,0.2995683 0.299569,0.1997121 0.274605,0.5741722 -0.025,0.3744601 -0.249642,0.9735966 z M 34.76784,17.415715 q 0,2.721077 -0.848771,4.818055 -0.848781,2.096977 -2.471442,3.544889 -1.622661,1.42295 -3.994242,2.17187 -2.346617,0.74892 -5.542011,0.74892 H 19.21526 v 10.310138 q 0,0.249642 -0.174753,0.449349 -0.14978,0.199716 -0.524239,0.324532 -0.374459,0.124817 -0.998561,0.199716 -0.624101,0.07491 -1.597697,0.07491 -0.948632,0 -1.597696,-0.07491 -0.624102,-0.07491 -0.998561,-0.199716 -0.374459,-0.124816 -0.524248,-0.324532 -0.14978,-0.199716 -0.14978,-0.449349 V 9.9514748 q 0,-1.1733085 0.599138,-1.7474808 0.624101,-0.5991365 1.62266,-0.5991365 h 7.614025 q 1.148345,0 2.171869,0.099856 1.048489,0.07489 2.496402,0.3744601 1.447912,0.274604 2.920789,1.0484885 1.497841,0.7738844 2.546329,1.9721569 1.048489,1.173309 1.597697,2.771006 0.549212,1.572733 0.549206,3.54489 z m -6.865103,0.474321 q 0,-1.697553 -0.599138,-2.79597 -0.599135,-1.098421 -1.472875,-1.622665 -0.873741,-0.524245 -1.847337,-0.649064 -0.948633,-0.149785 -1.972157,-0.149785 h -2.79597 v 10.959202 h 2.945754 q 1.572733,0 2.621221,-0.424386 1.073453,-0.424386 1.747481,-1.173309 0.674028,-0.773881 1.023525,-1.822372 0.349496,-1.073453 0.349496,-2.321651 z stylefont-weight: bold; font-size: 5.64444px; font-family: Calibri; font: Calibri, Bold; display: inline; fill: #0092d6; fill-rule: evenodd; stroke: #0092d6; stroke-width: 0 /> /svg!--> svg width54mm height53.8mm viewBox0 0 54 53.8 version1.1 idЛоготип загрузки displaynone xmlnshttp://www.w3.org/2000/svg xmlns:svghttp://www.w3.org/2000/svg> defs iddefs3161 /> g idlayer1 transformtranslate(-66.080203,-101.36177)> rect stylefill:#0092d6;fill-opacity:1;fill-rule:evenodd;stroke:#0092d6;stroke-width:0;stroke-dasharray:none idrect4156 width60 height58 x63 y156 /> path idrect3633 stylefill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#0092d6;stroke-width:0;stroke-dasharray:none dm 66.080204,101.36177 v 53.93418 h 54.512956 v -53.93418 z m 28.196212,3.89537 3.198254,1.8464 3.19825,1.8464 v 3.6928 3.69279 l -3.19825,1.8464 -2.449462,1.41439 v -4.32842 c 0.452683,-0.12883 0.857097,-0.37186 1.180806,-0.69557 0.493818,-0.4938 0.799434,-1.17631 0.799434,-1.92959 0,-0.7535 -0.305616,-1.43578 -0.799434,-1.9296 l -0.0015,0.001 c -0.495335,-0.49474 -1.177374,-0.80098 -1.928048,-0.80098 -0.750215,0 -1.43141,0.30547 -1.926497,0.79943 l -0.0026,0.003 c -0.493924,0.49512 -0.799951,1.17628 -0.799951,1.9265 0,0.75071 0.306733,1.43268 0.801501,1.92805 l -0.0015,0.001 c 0.323707,0.32371 0.728124,0.56659 1.180806,0.69557 v 4.32841 l -2.449463,-1.41438 -3.198254,-1.8464 v -3.6928 -3.69279 l 3.198254,-1.8464 z m 0,6.15363 c 0.34223,0 0.650355,0.13658 0.871265,0.3576 v 0.003 c 0.222812,0.22278 0.360701,0.53094 0.360701,0.87127 0,0.34036 -0.137889,0.64848 -0.360701,0.87126 -0.222815,0.22281 -0.53094,0.3607 -0.871265,0.3607 -0.340325,0 -0.64845,-0.13789 -0.871265,-0.3607 h -0.0026 c -0.22105,-0.22091 -0.358118,-0.52903 -0.358118,-0.87126 0,-0.34234 0.137068,-0.65036 0.358118,-0.87127 l 0.0026,-0.003 c 0.22091,-0.22102 0.528929,-0.3576 0.871265,-0.3576 z m -7.142716,6.27662 3.198254,1.8464 2.449463,1.41438 -3.748609,2.16421 c -0.338031,-0.32755 -0.750521,-0.55639 -1.192692,-0.67489 l -10e-4,0.002 c -0.67638,-0.1808 -1.420061,-0.10457 -2.070158,0.27078 -0.64971,0.37511 -1.086871,0.9804 -1.268656,1.65572 l -0.001,0.004 c -0.180198,0.67575 -0.104324,1.41894 0.270785,2.06861 0.375355,0.65014 0.981646,1.08756 1.657779,1.26917 l -5.16e-4,0.002 c 0.67458,0.18077 1.418107,0.1044 2.070674,-0.27233 0.652357,-0.37666 1.090513,-0.98272 1.271241,-1.65727 0.118495,-0.44221 0.126643,-0.91404 0.01188,-1.37046 l 3.748609,-2.16421 v 2.82826 3.69279 l -3.198255,1.8464 -3.198254,1.8464 -3.197738,-1.8464 -3.198254,-1.8464 v -3.69279 -3.6928 l 3.198254,-1.8464 z m 14.28595,0 3.19825,1.8464 3.19774,1.8464 5.2e-4,3.6928 v 3.69279 l -3.19826,1.8464 -3.19825,1.8464 -3.198255,-1.8464 -3.197738,-1.8464 -5.17e-4,-3.69279 5.17e-4,-2.82877 3.748609,2.16421 c -0.114759,0.45646 -0.107095,0.92829 0.01137,1.37046 0.180763,0.67458 0.619375,1.28063 1.271754,1.65726 0.65253,0.37676 1.3961,0.45358 2.07068,0.27285 l -5.2e-4,-0.002 c 0.67614,-0.18161 1.28242,-0.61959 1.65778,-1.26969 0.3751,-0.64971 0.45098,-1.39234 0.27078,-2.06809 l -10e-4,-0.004 c -0.18183,-0.67532 -0.61895,-1.2806 -1.26866,-1.65571 -0.6501,-0.37532 -1.39429,-0.45107 -2.07067,-0.27027 l -5.2e-4,-0.002 c -0.4422,0.1185 -0.854656,0.34789 -1.192688,0.67541 l -3.748608,-2.16421 2.449463,-1.41438 z m 0.0326,6.15156 c 0.19795,0.006 0.39819,0.06 0.58342,0.16692 0.29648,0.17117 0.49488,0.44382 0.57568,0.74569 l 0.001,0.004 c 0.081,0.30184 0.0456,0.63732 -0.12557,0.93379 -0.17113,0.29637 -0.44382,0.49487 -0.74569,0.57567 l -0.002,-0.002 c -0.30434,0.0816 -0.64009,0.0467 -0.93483,-0.12351 -0.29475,-0.17014 -0.49252,-0.44342 -0.57412,-0.74776 -0.0815,-0.30434 -0.0467,-0.64011 0.1235,-0.93482 0.17018,-0.29475 0.44342,-0.49305 0.74776,-0.57465 l 0.001,-0.002 c 0.11319,-0.0304 0.23107,-0.0448 0.34985,-0.0413 z m -14.351067,5.2e-4 c 0.118773,-0.003 0.236661,0.0105 0.34985,0.0408 l 0.001,0.002 c 0.304376,0.0816 0.578095,0.27939 0.748275,0.57413 0.170145,0.29475 0.204552,0.63044 0.12299,0.93482 -0.08153,0.30434 -0.279379,0.5781 -0.574125,0.74828 -0.294746,0.17018 -0.630451,0.20455 -0.934827,0.12299 l -0.0026,0.002 c -0.301871,-0.0808 -0.574077,-0.2793 -0.745174,-0.57567 -0.171168,-0.29647 -0.207053,-0.63144 -0.12609,-0.93328 l 10e-4,-0.004 c 0.08079,-0.30187 0.279201,-0.57452 0.575676,-0.74569 0.18523,-0.10694 0.385989,-0.16069 0.583943,-0.1664 z /> text xml:spacepreserve stylefont-size: 12px; font-family: Arial; font: Arial, Normal; fill: #0092d6; fill-opacity: 1; fill-rule: evenodd; stroke: #0092d6; stroke-width:0;stroke-dasharray:none x66 y148 idtext5202> tspan idtspan5200 stylefont-style:normal; font-variant:normal; font-weight:normal; font-stretch: normal; font-size: 12px; font-family: Ebrima; font: Arial, Normal; stroke-width:0;font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: normal; font-variant-east-asian: normal; stroke-dasharray: none x66 y148>Загрузка... /tspan> /text> /g> /svg> script idlanternVertexShader typex-shader/x-vertex> precision mediump float; uniform float u_time; varying vec2 vUv; void main() { vUv uv; gl_Position projectionMatrix * modelViewMatrix * vec4(position, 1.0); } /script> script idlanternFragmentShader typex-shader/x-vertex> precision mediump float; uniform vec2 u_resolution; uniform float u_time; uniform vec2 offset; uniform vec2 u_mouse; varying vec2 vUv; uniform sampler2D uRender1; uniform sampler2D uRender2; float circle(in vec2 _st, in float _radius){ return step(_radius, distance(_st, u_mouse) ); } float random (in vec2 st) { return fract(sin(dot(st.xy, vec2(12.9898,78.233))) * 43758.5453123); } void main() { vec2 st vUv/u_resolution ; st.x * u_resolution.x/u_resolution.y; float mouse_y (u_mouse.x - offset.x + 9.)/(u_resolution.y *30.); float mouse_x (u_mouse.y - offset.y + 5.)/(u_resolution.x*900.); vec4 color1 texture2D(uRender1, vUv); vec4 color2 texture2D(uRender2, vUv); float op smoothstep(0.2, 0.3,distance(st,vec2(mouse_x, mouse_y))); gl_FragColor mix(color2, color1, op); } /script> script typeimportmap> { imports: { three: ./Scripts/three.module.js } } /script> script typemodule> import * as THREE from ./Scripts/three.module.js; import { OrbitControls } from ./Scripts/OrbitControls.js; import { GLTFLoader } from ./Scripts/GLTFLoader.js; import * as stardata from ./Scripts/PPM650.js; import { FontLoader } from ./Scripts/FontLoader.js; import { WebGL } from ./Scripts/WebGL.js; import { SVGLoader } from ./Scripts/SVGLoader.js; import * as TWEEN from ./Scripts/tween.esm.js; var camera, scene, renderer, container; let lang_en false; var orbit_control; var star_group new THREE.Group(); const pickPosition { x: 0, y: 0 }; var visibleHeight, visibleWidth; var fontLoader; var level1_mesh, level2_mesh, level3_mesh, promocube, holocube, pyramide, shuttle, stick, acoustics, lantern; var scene_full ; var lightTargetObject; var shuttle_move_left, shuttle_move_right, stick_move_left, stick_move_right, acoustics_scale; var modelIsLoaded, video_about_us_ready, video_about_wine_ready; let scan_3D_SW_text_ru { text: Разработка программы 3D сканирования, mesh: new THREE.Object3D() }, { text: \n\n Развитие технических средств дополненной и\n виртуальной реальности проявляет все возрастающую\n роль программных продуктов, с помощью которых можно\n создавать 3D контент из объектов окружающего мира.\n Растущие потребности цифровизации уже не могут\n удовлетворить немногие профессионалы со специальной\n и очень дорогостоящей техникой. Мы поставили перед\n собой задачу разработать широко доступное ПО для самых\n неискушенных пользователей, которые с помощью обычной\n или мобильной камеры могут оцифровывать мир вокруг\n себя. Теоретические модели уже разработаны, а\n технологии позволяют реализовать такой программный\n продукт на обычных аппаратных платформах.\n В ближайшее время состоится релиз нашей инновационной\n программы 3D сканирования., mesh: new THREE.Object3D() }, { text: Программы 3D сканирования уже прочно вошли в практику\n моделирования трехмерных объектов. Такие программы\n необходимы при решении широкого спектра задач - от\n восстановления моделей сложных деталей для нужд\n локализации производства до составления объемных карт\n местности. Для этих целей необходимо применение\n специальной техники, поскольку требует в первом случае\n высокой точности для восстановления размеров, а во\n втором - большой дальности сканирования.\n Таким образом, сфера 3D сканирования изначально\n являлась узко специальной. Оборудование и\n соответствующее программное обеспечение имеет высокую\n стоимость и сложность в применении.\n С появлением сравнительно недорогих устройств\n виртуальной и дополненной реальности появляются новые\n задачи перед разработчиками - возможность быстро\n создавать 3D контент., mesh: new THREE.Object3D() }, { text: Без контента развитие дополненной и виртуальной\n реальности попросту невозможно. Кроме того, начинают\n появляться виртуальные платформы, которые становятся\n продолжением привычных социальных сетей. Эти\n платформы предоставляют пользователю возможность\n участвовать в качестве трехмерного аватара на заранее\n сформированном цифровом пространстве. Развите таких\n цифровых пространств физически невозможно без участия\n большого сообщества участников. Очевидно, что в\n дальнейшем социальные сети начнут представлять собой\n не профили пользователей, а целые личные пространства.\n Необходимо дать возможность пользователям создавать\n такие виртуальные пространства самостоятельно.\n Самый простой способ сделать это - использовать\n съемки реальных объектов для последующей оцифровки и\n переноса 3D моделей в виртуальное пространство\n пользователя., mesh: new THREE.Object3D() }, { text: На данный момент мы разрабатываем программу 3D\n сканирования, которой не требуется особых сканирующих\n устройств, специальных условий съемок и сложного ПО.\n Всё, что нужно пользователю - это обычная камера,\n например, мобильного телефона и возможность осмотреть\n предмет сканирования с нескольких сторон. Это\n относится также к сканированию замкнутых пространств.\n Конечно, чуда не будет и качество создаваемых 3D\n моделей будет зависеть от качества съемки, но это\n позволит любому пользователю создавать свои\n собственные трехмерные миры и использовать их в\n создании своих профилей новых трехмерных социальных\n сетей. А такие сети уже скоро из мечты станут нашей\n реальностью - реальностью будущего., mesh: new THREE.Object3D() } ; let scan_3D_SW_text_eng { text: Software for 3D scan\n\n The development of technical means of augmented and\n virtual reality shows the ever-increasing role of\n software products, that can be used to create 3D\n content from the objects of the surrounding world.\n The growing needs of digitalization can no longer be\n met by a few professionals with special and very\n expensive technology. Our target is developing widely\n available software for the most inexperienced users\n who, using a conventional or mobile camera, can\n digitize the world around them. Mathematical models\n have already been developed and technologies make it\n possible to implement such a software product on\n conventional hardware platforms.\n Our innovative 3D scanning software will be released\n soon., mesh: new THREE.Object3D() }, { text: 3D scanning programs are already pretty used in\n modeling three-dimensional objects. Such programs are\n necessary for solving a wide range of tasks - from\n reverse engineering of complex mechanical spare parts\n to compiling three-dimensional maps of the area. For\n these purposes, it is necessary to use special\n equipment, since in the first case it requires high\n accuracy to restore the dimensions, and in the second\n case, a large scanning range. Thus, the scope of 3D\n scanning was initially narrowly specialized. Hardware\n and dedicated software are expensive and difficult to\n use. With the advent of relatively inexpensive virtual\n and augmented reality devices, developers become new\n challenges - the ability to quickly create 3D content., mesh: new THREE.Object3D() }, { text: Without content, the development of augmented and\n virtual reality is simply impossible. In addition, new\n virtual platforms are replacing the usual social\n networks. These platforms provide the user with the\n opportunity to participate as a 3D avatar in a pre-\n formed digital space. The development of such digital\n spaces is physically impossible without a large\n community of participants. Obviously, in the future,\n social networks will begin to represent not user\n profiles, but entire personal spaces. It is necessary\n to enable users to create such virtual spaces on their\n own. The easiest way to do this is to use surveys of\n real objects for subsequent digitization and transfer\n of 3D models to the users virtual space., mesh: new THREE.Object3D() }, { text: At the moment, we are developing a 3D scanning program\n that does not require special scanning devices, special\n shooting conditions and complex software. All the user\n needs is an ordinary camera, for example, a mobile\n phone, and the ability to view the object being scanned\n from several sides. This also applies to scanning\n enclosed spaces. Of course, there will be no miracle\n and the quality of the created 3D models will depend on\n the quality of the shooting, but this will allow any\n user to create their own 3D worlds and use them in\n creating their profiles of new 3D social networks. And\n such networks will soon turn from a dream into our\n reality - the reality of the future., mesh: new THREE.Object3D() } ; let teja_tell_text_ru { text: Приложение для интерактивных сказок, mesh: new THREE.Object3D() }, { text: \n\n Ведётся разработка программной платформы для создания\n детских сказок нового времени с элементами интерактива и\n АСМР-эффектами.\n Сказка \Хранители сна\:\n - погружает ребенка в волшебный мир, где есть\n возможность рассматривать детально визуальные элементы\n истории с помощью интерактивных функций;\n - помогает успокоиться, настроиться на здоровый сон;\n - прививает чувство благодарности, любви к планете,\n всему живому;\n - дает внутреннюю опору, чувство безопасности и своей\n уникальности., mesh: new THREE.Object3D() }, ; let teja_tell_text_eng { text: Sleep Keepers (4+)\n\n Development of a software platform for the childrens\n meditative, audiovisual fairy tale \Sleep Keepers\ with\n interactive elements and effects.\n A story about five fairy guardians of sleep. With their magical\n abilities, fairies help to feel safety, love and relaxation.\n What the fairy tale does:\n - immerses the child in a magical world where it is\n possible to examine in detail the visual elements of\n the story using interactive functions;\n - helps to calm down, tune in to a healthy sleep;\n - instills a sense of gratitude, love for the planet, all living\n beings;\n - gives internal support, a feells of safety and uniqueness., mesh: new THREE.Object3D() }, { text: Theas Journey (9+)\n\n Childrens audiovisual fairy tale with interactive\n elements.\n The story of the journey of the stellar soul - Thea from\n the planet Paragma.\n Thea is a soul that has gone through the experience of\n incarnation in many worlds of the universe and acquired\n such unique abilities as feeling all living beings,\n healing, reading thoughts, controlling the elements and\n the power of light that she has.\n One day, Thea sees Earth for the first time. She had\n never seen such a beautiful planet in the whole\n universes. Thea is watching the planet Earth, people,\n animals, plants and accidentally hears a signal for\n help from the civilization of the Aramurians, the\n planets defenders, hidden from human eyes.\n The Earth is in a danger. Thea will have to go through\n trials, understand people, reach out to them and,\n united with the forces of the Aramurians, repel the\n impending danger., mesh: new THREE.Object3D() }, { text: \n What a fairy tale gives:\n - an understanding of the multidimensionality of the world;\n - teaches to open mind at all events that occur in life;\n - teaches you to establish cause-and-effect relationships;\n - instills love for the planet and for all living beings;\n - gives an understanding of friendship, mutual assistance., mesh: new THREE.Object3D() }, ; let site_design_text_ru { text: Создание 3D сайтов, mesh: new THREE.Object3D() }, { text: \n\n Человек воспринимает окружающий мир как 3D\n (трехмерное) пространство.\n Уже со времен палеолита людям было недостаточно\n создавать плоские наскальные рисунки. В виде объемных\n фигурок стали появляться модели людей, животных и\n всего, что окружало человека в его повседневной\n жизни.\n Эффект от трехмерного представления гораздо выше, чем\n от плоского. Объемные модели более естественны для\n восприятия человека.\n 3D фигуры в пространстве сайта привлекают больше\n внимания, занимают больше времени при просмотре,\n легче ассоциируются с товаром в реальности, а их\n образы надолго остаются в памяти.\n Трехмерные 3D сайты дают возможность погрузить\n зрителя в свое пространство и передать информацию\n так, как это происходит в реальном мире., mesh: new THREE.Object3D() }, { text: \n\n Развитие средств коммуникации приводит к тому, что\n появляются платформы трехмерного погружения в\n дополненную или виртуальную реальность. Это неизбежно\n приводит к тому, что и сеть интернет также предстоит\n перестроится в трехмерную структуру. Общение людей\n перейдет из плоского мира социальных сетей в\n трехмерное отображение существующей реальности. Для\n этого понадобится как общедоступное ПО для конвертации\n окружающего мира в виртуальную среду, так и трехмерные\n сайты.\n Пример такого сайта перед вами. Для его создания мы\n использовали несколько техник, комбинация которых\n позволяет воплотить практически любую идею.\n Мы хотим показать, что современные средства\n визуализации успешно позволяют создавать и\n демонстрировать 3D контент на экранах любых устройств., mesh: new THREE.Object3D() }, { text: \n\n Эффект от трехмерного представления гораздо выше, чем\n от плоского. Объемные модели более естественны для\n человека, они дают возможность вовлечь зрителя в\n пространсво сайта и сразу цельной картинкой передать\n информацию так, как это происходит в реальном мире.\n Увеличение скорости передачи информации и большой\n доступный объем памяти снимает ограничения в способах\n визуализации. Теперь становится актуальным умение\n создавать цельные смысловые пространства в трехмерном\n мире.\n Мы можем разработать концепцию и воплотить в 3D\n сайте идеи визуального представления для корпоративных\n задач любой сложности. Использование визуальных\n трехмерных моделей позволяет пользователю быстро\n понять смысл и содержание сайта. Использование текста\n станет полезным для тех, кто заинтересовался и хочет\n изучить показываемый материал более подробно., mesh: new THREE.Object3D() }, { text: \n\n Стоимость создания 3D сайта\n (не является офертой)\n\n Разработка сценографии пространства - общая концепция,\n формирование сцены, расстановка примерных моделей:\n - от 370 тыс. рублей.\n\n Создание или подбор 3D моделей:\n - от 15 тыс. рублей/шт.\n\n Программирование сайта - настройка интерактивного\n взаимодействия, анимации, спец. эффектов:\n - от 300 тыс. рублей.\n\n Окончательное оформление - подбор масштаба, текстур,\n расстановка света, настройка цветовых решений,\n оптимизация:\n - от 430 тыс. рублей., mesh: new THREE.Object3D() } ; let site_design_text_eng { text: Creation of 3D sites\n\n The progress of communication means leads to the growth\n of platforms for three-dimensional immersion in\n augmented or virtual reality. This necessarily leads to\n the fact that the Internet, and consequently social\n networks, also has to be rebuilt into a three\n dimensional structure. Communication between people\n will relocate from the flat world of messangers to a\n three-dimensional copy of the existing reality. To do\n this, you will need both widely available software for\n converting the surrounding world into a virtual\n environment and three-dimensional web sites.\n One example of such 3D website is in front of you. To\n create it, we used the combination of several\n techniques, allowing us to realize almost any concept\n or idea. Our target is not to make a WOW effect. We\n want to show that modern visualization tools\n successfully allow you to create and display 3D content\n on the screens of any device., mesh: new THREE.Object3D() }, { text: \n\n The effect of a three-dimensional representation\n is much higher than that of a flat one. Spatial models are\n more natural for a person, they make it possible to\n involve the viewer in the space of the site and\n immediately convey information as a whole shape as it\n happens in the real world. Increasing the speed of data\n transfer and a large amount of available memory remove\n restrictions in the ways of visualization. Now the\n ability to create integral semantic spaces in the\n three-dimensional world becomes relevant.\n We can develop a concept and implement visual\n representation ideas for corporate tasks of any\n complexity in a 3D website. Using visual three-\n dimensional models allows the user to quickly\n understand the meaning and content of the site. Using\n text will be still useful for those who are interested\n and want to take the more detailed information., mesh: new THREE.Object3D() } ; let time_lantern_text_ru { text: Фонарь времени, mesh: new THREE.Object3D() }, { text: Разработка уникальных инсталляций, mesh: new THREE.Object3D() } ; let time_lantern_text_eng { text: Time lantern, mesh: new THREE.Object3D() }, ; let wp_text_ru { text: Разработка архитектуры решений, mesh: new THREE.Object3D() }, { text: \n\n Мы много лет занимаемся разработкой и реализацией\n комплексных проектов. Задача объединения разнородного\n оборудования в единую систему с простым интерфейсом\n управления встречается часто, но редко кто может\n решить ее достаточно полно. Сложность представляет\n разработка специального программного продукта, который\n бы работал с разными произвольно выбранными\n устойствами. Используя стандартные протоколы обмена,\n мы разрабатываем специальное программное обеспечение\n для получения данных со всех устройств, единообразное\n и простое отображение этих данных на экране\n пользователя и централизованное управление с единой\n логикой., mesh: new THREE.Object3D() }, { text: Другими словами, мы создаем уникальные решения под\n конкретную задачу. Это позволяет решать сложные\n интеграционные задачи более гибко и точно, чем при\n использовании универсального ПО.\n Мы создаем архитектуру решений в сфере интеграции\n разнородного оборудования в единый функциональный\n комплекс с простой системой управления. Интуитивно\n понятное управление различными инженерными и\n мультимедийными системами с помощью планшета или\n мобильного телефона. Пример такого решения можно\n увидеть на планшетах гидов Винного парка в Крыму., mesh: new THREE.Object3D() } ; let wp_text_eng { text: Solution architecture development.\n\n We have been developing and implementing complex\n projects for many years. The task of combining\n heterogeneous equipment into a single system with a\n simple control interface is common, but rarely is\n solved completely enough. The most difficulty is\n the development of a special software that would work with\n different arbitrarily chosen devices. Using standard\n exchange protocols, we develop special software for\n data transfer from/to all devices, prepare and uniform\n transferred data, display of this data on the user\n interface and support centralized monitoring and\n control management with a single logic., mesh: new THREE.Object3D() }, { text: In other words, we create unique solutions for a\n specific task. This allows to solve complex integration\n problems more flexibly and accurately than when using\n universal software. We design an solutions architecture\n for integrating heterogeneous equipment into a single\n functional complex with a simple control system.\n Intuitive control of various engineering and multimedia\n systems using a tablet or mobile phone. An example\n of such a solution can be seen on the tablets of the\n guides of the Wine Park in Crimea., mesh: new THREE.Object3D() } ; let congress_text_ru { text: Программы контроля и управления конгресс-системами, mesh: new THREE.Object3D() }, { text: \n\n Много лет мы разрабатываем и поставляем решения для\n управления конгресс-системами BOSCH. Поскольку для\n каждого проекта заказчик имеет свои собственные\n требования к внешнему виду и функциональности, применение\n ПО от производителя не представляется возможным и\n используется крайне редко. В общем случае такое ПО\n делится на три типа:\n - простая визуализация хода заседания и голосования;\n - контроль оператором активности микрофонов, выбор\n вопросов обсуждения и голосования, управление ходом\n голосования, отображение результатов;\n - предварительная подготовка заседания, формирование\n списка вопросов для обсуждения, формирование списка\n выступающих и приглашенных, управление ходом дискуссий и\n голосований, формирование отчетов по результатам\n отдельных голосований и по завершении заседания., mesh: new THREE.Object3D() }, { text: При стационарных решениях приходится разрабатывать для\n каждого случая уникальное оформление и функциональность\n программного обеспечения. Нами накоплен большой опыт в\n использовании API разных производителей для создания\n простого и понятного интерфейса управления конгресс\n -системами от простой активации микрофонов до сложных\n комплексов подготовки и проведения дискуссий, а также\n голосований с формированием отчетов настраиваемых форм.\n Наши решения используются законодательными собраниями\n различных субъектов Российской Федерации и крупными\n коммерческими структурами. Среди них:\n - Законодательное собрание Калининградской области,\n - Новгородская областная дума,\n - Городская дума Краснодара,\n - Дума города Пятигорска,\n - Волгоградская городская дума,\n - Парламент Республики Северная Осетия - Алания,\n - Архангельская городская дума,\n - Магнитогорское городское собрание депутатов и другие, mesh: new THREE.Object3D() }, { text: Среди организаций-заказчиков можно выделить:\n - Сбербанк,\n - Финансовая Академия при АП,\n - Зал ученого совета АГПС МЧС России,\n - Российский университет дружбы народов,\n - ДИП Академия МИД России,\n - СИБУР-РТ,\n - АвтоВАЗ,\n - Казаньоргсинтез,\n - Группа НЛМК, mesh: new THREE.Object3D() } ; let congress_text_eng { text: Management software for congress system\n\n For many years we have been developing and supplying\n meeting control solutions for congress systems BOSCH,\n like DCN-NG, DICENTIS wire and wireless. Since the\n customer has his own requirements for video client and\n management software for each project, using software\n delivered by the manufacturer is not possible and is\n used extremely rarely.\n In general, our software is divided into three types:\n - simple visualization of the meeting and voting;\n - microphone management by the operator, discussion and\n voting control, display of results;\n - preliminary preparation of the meeting, a list of\n topics for discussion, a list of speakers and invitees,\n discussion and voting control, any kind of reports of\n the individuals and total results at the end of the\n meeting., mesh: new THREE.Object3D() }, { text: With stationary solutions, it is necessary to develop a\n unique design and functionality of the software for\n each case. We have accumulated extensive experience in\n using APIs from different manufacturers to create a\n simple and understandable interface for managing\n congress systems from simple activation of microphones\n to complex for preparing and control discussions, as\n well as voting with customizable reports. Our solutions\n are used by legislative assemblies of various subjects\n of the Russian Federation and large commercial\n structures. Among them:\n - Legislative Assembly of the Kaliningrad Region,\n - Novgorod Regional Duma,\n - City Duma of Krasnodar,\n - Duma of the city of Pyatigorsk,\n - Volgograd City Duma,\n - Parliament of the Republic of North Ossetia - Alania,\n - Arkhangelsk City Duma,\n - Magnitogorsk City Assembly of Deputies\n and others., mesh: new THREE.Object3D() }, { text: Among the customer organizations are:\n - Sberbank,\n - Financial Academy,\n - Academic Council of the AGPS EMERCOM of Russia,\n - RUDN University,\n - DIP Academy of the Russian Ministry of Foreign Affairs,\n - SIBUR-RT,\n - AvtoVAZ,\n - Kazanorgsintez,\n - NLMK Group, mesh: new THREE.Object3D() } ; let shuttle_text_ru { text: Цифергауз, mesh: new THREE.Object3D() }, { text: \n\n Мы принимали участие в создании Цифергауза в\n здании Газпрома на острове Новая Голландия в\n Санкт-Петербурге. Монтаж и программирование\n движения мобильных шаттлов с проекционным\n оборудованием позволило создать трансформируемое\n пространство экспозиций. Нами создан интерфейс\n управления поведением шаттлов для интеграции в\n единую систему управления на базе контроллеров\n Крестрон и среды управления Медиалон., mesh: new THREE.Object3D() } ; let shuttle_text_eng { text: We are participated by the creation of Zifergauz in the\n building of Gazpromneft on the island of New Holland in\n St. Petersburg. Installation and programming of the\n movement of mobile shuttles with projection equipment\n made it possible to create a transformable exposition\n space. We have developed an interface for controlling\n the behavior of shuttles for integration into a single\n control system based on Crestron controllers and\n Medialon control environment., mesh: new THREE.Object3D() } ; let about_us_text_ru { text: О компании, mesh: new THREE.Object3D() }, { text: \n\n Барпан – ИТ компания, осуществляющая разработку\n программного обеспечения.\n Мы создаем по-настоящему уникальные, инновационные\n проекты, объединяя творчество и технические знания.\n Основные направления нашей деятельности:\n - создание архитектуры решений для аппаратно-\n программных комплексов,\n - создание систем управления мультимедийных\n комплексов,\n - разработка программного обеспечение для контроля\n и управления конгресс - системами органов\n законодательной власти и крупных залов заседаний,\n - разработка концепций и создание 3D сайтов,\n - создание приложений для интерактивных сказок.\n\n Подробности на этаже «Наши работы», mesh: new THREE.Object3D() }, { text: Барпан - лаборатория интеллектуального творчества,\n объединяющая искусство создания архитектуры решений\n и ее технической реализации в конечном оборудовании.\n Для создания эффективных аппаратно-программных\n комплексов мы разрабатываем структуру связей и\n взаимодействия всех компонентов между собой на\n всех уровнях контроля и управления – архитектуру\n решения.\n Для реализации решения мы разрабатываем уникальное\n для каждого проекта программное обеспечение как на\n уровне интерфейсов оборудования, так и интерфейсов\n пользователя., mesh: new THREE.Object3D() } ; let about_us_text_eng { text: About us\n\n Barpan is an IT company software developers. Combining\n creativity and technical knowledge, we create truly\n unique, innovative projects.\n The main topics of our activity:\n - creation of architecture solutions for hardware and\n software integrated systems,\n - creation of control software for multimedia systems,\n - development software for control and management\n congress systems of legislative authorities and large\n discussion rooms,\n - concept design and 3D websites creation,\n - applications for interactive fairy tales.\n\n Details on the floor \Portfolio\, mesh: new THREE.Object3D() }, { text: \n\n Barpan is an laboratory of intellectual creativity,\n that combines the art of creating a solution\n architecture and its technical implementation in the\n field equipment. To create efficient combination of\n hardware and software, we develop the concept of data\n exchange in interaction by all levels -\n the architecture of the solution. To implement the\n solution, we develop software that is unique for each\n project, both at the level of equipment interfaces and\n user interfaces., mesh: new THREE.Object3D() } ; let mission_text_ru { text: Наша задача, mesh: new THREE.Object3D() }, { text: \n\n Наша задача – создавать уникальные программные\n продукты.\n Объединять разнородное оборудование в единый\n комплекс автоматизированного управления с простым\n и удобным интерфейсом пользователя.\n Разрабатывать программные платформы для\n интерактивных сказок.\n Разрабатывать концепции пространственного\n восприятия трехмерных сайтов.\n Создавать архитектуру решений взаимодействия\n аппаратных средств мультимедийных комплексов.\n\n Качество нашей работы обеспечено богатым опытом\n создания комплексных систем, интерфейсов управления,\n протоколов передачи данных, интуитивно-понятных\n интерфейсов пользователя., mesh: new THREE.Object3D() } ; let mission_text_eng { text: Our mission.\n\n Our mission is to create unique software products. We\n combine heterogeneous equipment into a single complex\n of automated control with a simple and convenient user\n interface. We create convenient and reliable software\n solutions for monitoring and managing meetings of\n legislative bodies and large companies. We develop\n software platforms for interactive fairy tales. In a\n creative way we develop the concepts of spatial\n perception of three-dimensional websites and the\n architecture of solutions for the interaction of\n hardware of multimedia systems. The quality of our work\n is ensured by high experience in creating complex\n systems, control interfaces, data transfer protocols,\n and intuitive user interfaces., mesh: new THREE.Object3D() } ; let history_text_ru { text: \n Наши постулаты, mesh: new THREE.Object3D() }, { text: \n\n\n Объединяя творчество и технические знания,\n мы создаем по-настоящему уникальные,\n инновационные проекты.\n Только так можно воплотить в жизнь то, что\n стало нашим девизом –\n реальность будущего.\n\n Небесная механика в действии – \n использование технического инструментария\n для решения «космических» задач в широком\n смысле этого слова., mesh: new THREE.Object3D() } ; let history_text_eng { text: History of foundation\n\n We founded the IT company Barpan in 2019 after many\n years of searching for ourselves and our mission.\n One of the co-founders, after many years of work on top\n technical positions in Russian and foreign companies,\n has gained extensive experience in combining various\n equipment into a single hardware and software complex.\n Another co-founder has an engineering education in\n process automation. Subsequently, she became a\n certified screenwriter, producer and fairy tale\n therapist.\n We found out that combining creativity and technical\n knowledge can create truly unique, innovative projects.\n This is the only way to rich out one target, that\n becomes as our motto, - the reality of the future., mesh: new THREE.Object3D() } ; let founder_text_ru { text: Наша команда, mesh: new THREE.Object3D() }, { text: \n\n Генеральный директор компании - Олег Андреев.\n С детства увлекался моделированием, астрономией,\n программированием и чтением классиков литературы.\n Школьную практику проходил в вычислительном центре\n крупного горно-обогатительного комбината и уже в\n 1987 году получил свидетельство оператора ЭВМ. Сразу\n после школы поступил на физфак МГУ и успешно окончил\n обучение по специальности астрономия, небесная\n механика. После многолетней работы на различных\n технических должностях российских и зарубежных\n компаний вернулся к своим прежним интересам и стал\n совмещать науку и творчество. Работая над сложными\n комплексными проектами в области интегрированных\n систем безопасности, стало ясно, что существующие\n программные продукты не в полной мере удовлетворяют\n потребностям пользователя., mesh: new THREE.Object3D() }, { text: Креативный директор - Юлия Андреева.\n С детства увлекалась астрономией, физикой, создавала\n свои собственные сказочные миры. Получила высшее\n техническое образование. Имеет большой опыт в сфере\n проектирования автоматизированных систем управления.\n Получила творческое образование по специальностям\n сценарист, продюсер, сказкотерапевт. Лауреат премий\n региональных российских кинофестивалей.\n Базовое техническое образование и творческое\n мышление помогают ей в создании как свежих\n концепций для технических проектов, так и новых\n сказочных миров., mesh: new THREE.Object3D() }, { text: Под чутким руководством в дружной команде трудятся и\n другие талантливые программисты, инженеры,\n дизайнеры, сценаристы. Для нас каждый новый проект -\n это путь к покорению новых вершин в творчестве и технике.\n За годы работы у нас накопился большой опыт по\n объединению оборудования различных производителей в\n единый аппаратно-программный комплекс. Для этого мы\n разрабатываем свою архитектуру решений, пишем\n драйверы и создаем пользовательские интерфейсы., mesh: new THREE.Object3D() } ; let founder_text_eng { text: About the co-founders.\n\n Since childhood, the co-founder and director of the\n company was fond of reading the classics of literature,\n modeling and stars. He did his school practice in the\n computer center of a large mining and processing\n enterprise and already in 1987 he received a\n certificate of a computer operator. Immediately after school,\n he entered the Physics Department of Moscow\n State University and successfully completed his studies\n in the specialty of astronomy, celestial mechanics.\n After many years of work in various technical positions\n in Russian and foreign companies, he returned to his\n former interests and began to combine science and\n creativity. Working on large projects of integrated\n security systems, it became clear that existing\n software products do not fully meet the needs of users., mesh: new THREE.Object3D() }, { text: A lot of experience was gained in combining equipment\n from different manufacturers into a single hardware and\n software complex. To do this, we had to develop our\n solution architecture, write drivers and create user\n interfaces. Celestial mechanics has become a principle\n - to use technical tools to solve \cosmic\ problems in\n the broadest sense of the word., mesh: new THREE.Object3D() } ; let video_text_ru { text: Видео нашей работы на объекте\n\n Винный парк, Крым\n\n Кликнуть для просмотра, mesh: new THREE.Object3D() }, { text: Пример создания концептуальных роликов\n\n Сказание о вине\n\n Кликнуть для просмотра, mesh: new THREE.Object3D() } ; let video_text_eng { text: Video our work on\n\n WinePark, Crimea\n\n Click for watching, mesh: new THREE.Object3D() }, { text: Example of concept video\n\n Tale of wine\n\nOnly Russian version is available, mesh: new THREE.Object3D() } ; var video_about_us, video_about_wine, videoImageMovi, videoImageCartoon, videoImageContext, videoImageCartoonContext, videoTexture, videoCartoonTexture, movieScreen, movieCartoonScreen, movieMaterial, cartoonMaterial, movieGeometry, cartoonGeometry; const loader_svg new SVGLoader(); const raycaster new THREE.Raycaster(); const pointer new THREE.Vector2(); var group_ramka_level1_ru, group_ramka_level2_ru, group_ramka_level3_ru, group_ramka_level1_en, group_ramka_level2_en, group_ramka_level3_en, group_ramka_screens, intersects, in_level_3, in_level_2, in_level_1; var start_rot; let logoWallMesh, engWallMesh, rusWallMesh; let group_logoWall new THREE.Group; let ext_nav new THREE.Object3D(); var places_array { name: in_teja_screen, value: false, screen: Тея }, { name: in_scanner_screen, value: false, screen: Сканер }, { name: in_site_design_screen, value: false, screen: Сайты }, { name: in_time_lantern_screen, value: false, screen: Фонарь }, { name: in_shuttle_screen, value: false, screen: Шаттлы }, { name: in_wp_screen, value: false, screen: ВП }, { name: in_video_screen, value: false, screen: Видео }, { name: in_cartoon_screen, value: false, screen: Видео }, { name: in_congreess_screen, value: false, screen: Конгресс }, { name: in_about_screen, value: false, screen: О }, { name: in_mission_screen, value: false, screen: Миссия }, { name: in_history_screen, value: false, screen: История }, { name: in_founder_screen, value: false, screen: Основатель } ; var cam_fov { var: 85 }; let view_point_offset 2; var screen_nav_array ; var barpan_star_mesh; var map; var uniforms; var sparkles_mesh; const sparkles_matrix new THREE.Matrix4(); var sprite11, sprite12, sprite13, sprite14, sprite21, sprite22, sprite23, sprite24, sprite31, sprite32, sprite33, sprite34; let loadManager new THREE.LoadingManager(); let progress; let video_is_playing, cartoon_is_playing; clearPickPosition(); ruVersionLoad(); function startImage() { document.getElementById(Английская версия).addEventListener(click, enVersionLoad); document.getElementById(Русская версия).addEventListener(click, ruVersionLoad); }; function enVersionLoad() { lang_en true; // document.getElementById(Английская версия).setAttribute(display, none); // document.getElementById(Русская версия).setAttribute(display, none); document.getElementById(tspan5200).textContent Loading...; document.getElementById(Логотип загрузки).setAttribute(display, block); init(); }; function ruVersionLoad() { lang_en false; // document.getElementById(Английская версия).setAttribute(display, none); // document.getElementById(Русская версия).setAttribute(display, none); document.getElementById(Логотип загрузки).setAttribute(display, block); init(); }; function init() { container document.getElementById(container); scene new THREE.Scene(); var amb_li new THREE.AmbientLight(0xffffff, 1.0); scene.add(amb_li); progress document.getElementById(layer1).children0; loadManager.onProgress function (url, itemsLoaded, itemsTotal) { progress.setAttribute(y, 156 * (1 - (itemsLoaded / 35)) + 99 * (itemsLoaded / 35)); }; loadManager.onLoad function () { document.getElementById(Логотип загрузки).setAttribute(display, none); container.setAttribute(style, display:block); }; var loader new GLTFLoader(loadManager).setPath(./Models/); var b_loader new THREE.TextureLoader(loadManager); uniforms { uRender1: { value: b_loader.load(./Textures/КП современная.png) }, uRender2: { value: b_loader.load(./Textures/КП историческая.png) }, u_time: { type: f, value: 1.0 }, u_resolution: { type: v2, value: new THREE.Vector2() }, offset: { type: v2, value: new THREE.Vector2() }, u_mouse: { type: v2, value: new THREE.Vector2() } }; const dirLight new THREE.DirectionalLight(0xffffff, 0.4); dirLight.position.set(0, 4, 0); scene.add(dirLight.target); var dirlight2 dirLight.clone(); dirlight2.position.set(0, 6, 10); scene.add(dirlight2); camera new THREE.PerspectiveCamera(85, window.innerWidth / window.innerHeight, 0.1, 1100); camera.position.set(0, 4, 15); camera.rotation.set(0, Math.PI, 0); scene.add(camera); const vFOV camera.fov * Math.PI / 180; visibleHeight 2 * Math.tan(vFOV / 2) * Math.abs(camera.position.z); const height visibleHeight; visibleWidth height * camera.aspect; renderer new THREE.WebGLRenderer({ antialias: true }); renderer.setPixelRatio(window.devicePixelRatio); renderer.setSize(window.innerWidth, window.innerHeight); var stars_mat new THREE.MeshBasicMaterial({ map: b_loader.load(./Textures/Stars.jpg), side: THREE.BackSide, transparent: false, opacity: 0.4 }); var stars_sphere new THREE.SphereGeometry(50, 32, 10); var stars_background new THREE.Mesh(stars_sphere, stars_mat); stars_background.rotation.set(-3 * Math.PI / 4, Math.PI / 2, 3 * Math.PI / 4); scene.add(stars_background); video_about_us document.getElementById(Видео о Винном парке); if (lang_en) video_about_us.setAttribute(src, ./Video/Ролик Винный парк en.mp4); video_about_wine document.getElementById(Анимация Сказание о вине); videoImageMovi document.createElement(canvas); videoImageMovi.width 1920; videoImageMovi.height 1080; videoImageContext videoImageMovi.getContext(2d); videoImageContext.fillStyle #000000; videoImageContext.fillRect(0, 0, videoImageMovi.width, videoImageMovi.height); videoImageCartoon document.createElement(canvas); videoImageCartoon.width 1920; videoImageCartoon.height 1080; videoImageCartoonContext videoImageCartoon.getContext(2d); videoImageCartoonContext.fillStyle #000000; videoImageCartoonContext.fillRect(0, 0, videoImageCartoon.width, videoImageCartoon.height); map b_loader.load(./Textures/3.jpeg); map.wrapS map.wrapT THREE.RepeatWrapping; map.repeat.set(1.3, 1.3); var table_map b_loader.load(./Textures/Стол.jpg); var barrel_map b_loader.load(./Textures/Бочки.jpg); var teja_material new THREE.MeshStandardMaterial({ aoMap: b_loader.load(./Textures/Луна малая_AO.png), displacementMap: b_loader.load(./Textures/Луна малая_DISP.png), normalMap: b_loader.load(./Textures/Луна малая_NORM.png), map: b_loader.load(./Textures/Луна малая.png), color: 0xFF9B28, displacementScale: 0.35 }); var barpan_star_material new THREE.MeshStandardMaterial({ map: b_loader.load(./Textures/Солнце голубое.png), displacementScale: 0.1, color: 0xffffff, transparent: true, opacity: 0.8 }); var coin_material new THREE.MeshStandardMaterial({ map: b_loader.load(./Textures/Монетка.png), displacementScale: 0.3, color: 0xffff00, transparent: false, opacity: 1 }); if (lang_en) { var nav_forward_map b_loader.load(./Images/Рамка вправо eng.png); var nav_back_map b_loader.load(./Images/Рамка влево eng.png); var light_map b_loader.load(./Images/Светильник шаблон 2.png); } else { var nav_forward_map b_loader.load(./Images/Рамка вправо.png); var nav_back_map b_loader.load(./Images/Рамка влево.png); var light_map b_loader.load(./Images/Светильник шаблон 2.png); } if (lang_en) { var price_map b_loader.load(./Images/Рамка цены вертикальная.png); } else { var price_map b_loader.load(./Images/Рамка цены вертикальная.png); } var video_map b_loader.load(./Textures/Видео главный экран.png); var cartoon_map b_loader.load(./Textures/Видео второй экран.png); loader.load(Колонна14.glb, function (gltf) { lightTargetObject new THREE.Object3D(); scene_full Array.from(gltf.scene.children); let nav_group new THREE.Group(); for (let i 0; i gltf.scene.children.length; i++) { if (gltf.scene.childreni.isMesh) { gltf.scene.childreni.material new THREE.MeshPhongMaterial({ color: 0x393F42, reflectivity: 0.7, side: THREE.DoubleSide}); if (gltf.scene.childreni.name.includes(Светильник)) { gltf.scene.childreni.material.map light_map; gltf.scene.childreni.material.color 0x000000; var lightTarget lightTargetObject.clone(); lightTarget.position.set(gltf.scene.childreni.position.x, gltf.scene.childreni.position.y - 50, gltf.scene.childreni.position.z); var li new THREE.SpotLight(0xffffff, 3, 4, Math.PI / 3, 1); li.position.set(gltf.scene.childreni.position.x, gltf.scene.childreni.position.y - 5.01, gltf.scene.childreni.position.z); li.target lightTarget; scene.add(li); scene.add(lightTarget); } if (gltf.scene.childreni.name.includes(Монетка)) { gltf.scene.childreni.material coin_material; } if (gltf.scene.childreni.name.includes(вперед)) { gltf.scene.childreni.userData.inverse gltf.scene.childreni.userData.name.split( )0 + назад; gltf.scene.childreni.material new THREE.MeshPhongMaterial({ transparent: true, opacity: 1, color: 0xffffff, map: nav_forward_map, side: THREE.BackSide }); } if (gltf.scene.childreni.name.includes(назад)) { gltf.scene.childreni.userData.inverse gltf.scene.childreni.userData.name.split( )0 + вперед; gltf.scene.childreni.material new THREE.MeshPhongMaterial({ transparent: true, opacity: 1, color: 0x000000, map: nav_back_map, side: THREE.BackSide }); } if (gltf.scene.childreni.name.includes(Лифт)) { gltf.scene.childreni.material.setValues({ map: map, color: 0xeeeeee, }); } if (gltf.scene.childreni.name.includes(Crown)) { gltf.scene.childreni.material.setValues({ map: b_loader.load(./Textures/Crown.png), color: 0xffffff }); } if (gltf.scene.childreni.name.includes(Shure)) { gltf.scene.childreni.material.setValues({ map: b_loader.load(./Textures/Shure 2.png), color: 0xffffff }); } switch (gltf.scene.childreni.userData.name) { case Ссылка на цены: gltf.scene.childreni.material.setValues({ transparent: true, opacity: 1, map: price_map, color: 0xffffff, depthWrite: false }); break; case Тея вперед: case Тея назад: case Шаттлы вперед: case Шаттлы назад: case Миссия вперед: case Миссия назад: case История вперед: case История назад: gltf.scene.childreni.material.opacity 0; break; case Уровень 1: level1_mesh gltf.scene.childreni; gltf.scene.childreni.material.setValues({ map: map, color: 0xeeeeee, }); break; case Уровень 2: level2_mesh gltf.scene.childreni; gltf.scene.childreni.material.setValues({ map: map, color: 0xeeeeee, }); break; case Уровень 3: level3_mesh gltf.scene.childreni; gltf.scene.childreni.material.setValues({ map: map, color: 0xeeeeee, }); break; case Голокуб: gltf.scene.childreni.material.setValues({ color: 0x82C0FF, transparent: true, opacity: 0.4, shininess: 100, specular: 0x5da6f4, side: THREE.DoubleSide, emissive: 0x336cf0 }); holocube gltf.scene.childreni; break; case Промокуб: promocube gltf.scene.childreni; break; case Пирамида: gltf.scene.childreni.material.setValues({ color: 0x3A2D34, transparent: false, opacity: 0.8, shininess: 100, specular: 0x2D173F, side: THREE.DoubleSide, emissive: 0x336cf0, shadowSide: THREE.FrontSide }); pyramide gltf.scene.childreni; break; case Шаттл: shuttle gltf.scene.childreni; break; case Палочка: stick gltf.scene.childreni; break; case Акустика: acoustics gltf.scene.childreni; gltf.scene.childreni.material.setValues({ color: 0x3A2D34, side: THREE.FrontSide }); break; case Клавиатура: gltf.scene.childreni.material.setValues({ map: b_loader.load(./Textures/Клавиатура.png), color: 0xcccccc }); break; case Экран ноутбука: gltf.scene.childreni.material.setValues({ map: b_loader.load(./Textures/Панель управления.png), color: 0xffffff, side: THREE.FrontSide }); break; case Голограмма: var lightTarget lightTargetObject.clone(); lightTarget.position.set(gltf.scene.childreni.position.x, gltf.scene.childreni.position.y + 50, gltf.scene.childreni.position.z); var li new THREE.SpotLight(0xffffff, 2, 0); li.position.set(gltf.scene.childreni.position.x, gltf.scene.childreni.position.y - 4.8, gltf.scene.childreni.position.z); li.angle 0.8; li.penumbra 1; li.distance 0.6; li.target lightTarget; scene.add(li); break; case Фонарь времени: lantern gltf.scene.childreni; gltf.scene.childreni.material.setValues({ map: b_loader.load(./Textures/Фонарь времени 1.png), color: 0x999999 }); break; case Шаттлы главный экран: case Сайты главный экран: case О компании главный экран: case Основатель главный экран: case История главный экран: case Миссия главный экран: case ВП главный экран: case Конгресс главный экран: case Сканер главный экран: case Тея главный экран: nav_group.name gltf.scene.childreni.userData.name; screen_nav_array.push(nav_group); gltf.scene.childreni.material.setValues({ color: 0x222242, transparent: true, opacity: 0.6, side: THREE.DoubleSide, depthWrite: false, alphaTest: 0.6 }); break; case Фонарь времени главный экран: nav_group.name gltf.scene.childreni.userData.name; screen_nav_array.push(nav_group); var geo gltf.scene.childreni.geometry; geo.computeBoundingBox(); uniforms.u_resolution.value.x geo.boundingBox.max.x - geo.boundingBox.min.x; uniforms.u_resolution.value.y geo.boundingBox.max.y - geo.boundingBox.min.y; uniforms.offset.value.x geo.boundingBox.min.x; uniforms.offset.value.y geo.boundingBox.min.y; gltf.scene.childreni.material new THREE.ShaderMaterial({ transparent: true, uniforms: uniforms, side: THREE.DoubleSide, vertexShader: document.getElementById(lanternVertexShader).textContent, fragmentShader: document.getElementById(lanternFragmentShader).textContent }); break; case Стол у сканера: case Стол конгресс: case Стол шаттл: gltf.scene.childreni.material.setValues({ map: table_map, color: 0x12101B }); gltf.scene.childreni.receiveShadow true; break; case Звезда Барпан: barpan_star_mesh gltf.scene.childreni; gltf.scene.childreni.receiveShadow true; gltf.scene.childreni.material barpan_star_material; gltf.scene.childreni.scale.set(0.7, 0.7, 0.7); break; case Стол Теи: gltf.scene.childreni.receiveShadow true; gltf.scene.childreni.material teja_material; break; case Бочка 1: case Бочка 2: case Бочка 3: case Бочка 4: gltf.scene.childreni.receiveShadow true; gltf.scene.childreni.material.setValues({ map: barrel_map, color: 0x7a7a7a, side: THREE.FrontSide }); break; case Стойка: gltf.scene.childreni.material.setValues({ color: 0x707070 }); break; case AUDAC: gltf.scene.childreni.material.setValues({ map: b_loader.load(./Textures/AUDAC.png), color: 0xffffff }); break; case Behringer X32: gltf.scene.childreni.material.setValues({ map: b_loader.load(./Textures/Behringer X32 rack.jpg), color: 0xffffff }); break; case Behringer S16: gltf.scene.childreni.material.setValues({ map: b_loader.load(./Textures/S16.png), color: 0xffffff }); break; case Розетки: gltf.scene.childreni.material.setValues({ map: b_loader.load(./Textures/2.png), color: 0xffffff }); break; case Провод: gltf.scene.childreni.material.setValues({ map: b_loader.load(./Textures/Провод.png), color: 0xffffff }); break; case Дно бочки 1: gltf.scene.childreni.material.setValues({ map: b_loader.load(./Images/Дно бочки 11.png), color: 0x888888 }); break; case Дно бочки 2: gltf.scene.childreni.material.setValues({ map: b_loader.load(./Images/Дно бочки 12.png), color: 0x888888 }); break; case Дно бочки 3: gltf.scene.childreni.material.setValues({ map: b_loader.load(./Images/Дно бочки 13.png), color: 0x888888 }); break; case Лифт 1: case Лифт 2: case Лифт 3: gltf.scene.childreni.material.setValues({ map: b_loader.load(./Images/Лифт 2.png), color: 0xffffff }); break; case Видео главный экран: gltf.scene.childreni.geometry.computeBoundingBox(); gltf.scene.childreni.material.setValues({ map: video_map, color: 0xffffff, transparent: true, opacity: 1 }); videoTexture new THREE.Texture(videoImageMovi); videoTexture.minFilter THREE.LinearFilter; videoTexture.magFilter THREE.LinearFilter; movieMaterial new THREE.MeshBasicMaterial({ map: videoTexture, color: 0x222242, transparent: true, opacity: 0 }); movieGeometry new THREE.PlaneGeometry(2.9, 1.63); movieScreen new THREE.Mesh(movieGeometry, movieMaterial); movieScreen.rotation.y 3 * Math.PI / 2; movieScreen.position.set(gltf.scene.childreni.position.x, gltf.scene.childreni.position.y - 5, gltf.scene.childreni.position.z); scene.add(movieScreen); video_about_us_ready true; break; case Видео второй экран: gltf.scene.childreni.geometry.computeBoundingBox(); gltf.scene.childreni.material.setValues({ map: cartoon_map, color: 0xffffff, transparent: true, opacity: 0.4 }); videoCartoonTexture new THREE.Texture(videoImageCartoon); videoCartoonTexture.minFilter THREE.LinearFilter; videoCartoonTexture.magFilter THREE.LinearFilter; cartoonMaterial new THREE.MeshBasicMaterial({ map: videoCartoonTexture, color: 0x222242, transparent: true, opacity: 0 }); cartoonGeometry new THREE.PlaneGeometry(2.9, 1.63); movieCartoonScreen new THREE.Mesh(cartoonGeometry, cartoonMaterial); movieCartoonScreen.rotation.y 3 * Math.PI / 2 + Math.PI / 4.5; movieCartoonScreen.position.set(gltf.scene.childreni.position.x, gltf.scene.childreni.position.y - 5, gltf.scene.childreni.position.z); scene.add(movieCartoonScreen); video_about_wine_ready true; break; } } } gltf.scene.position.set(0, -5, 0); gltf.scene.rotation.set(0, 0, 0); scene.add(gltf.scene); fontLoader new FontLoader(); fontLoader.load(./Fonts/Arial_Bold.json, function (font) { setText(font, scan_3D_SW_text_ru0, Сканер главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0x99F8FF, true); setText(font, teja_tell_text_ru0, Тея главный экран, 0, -4.15, -0.02, Math.PI, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0x99F8FF, true); setText(font, site_design_text_ru0, Сайты главный экран, 0, -4.1, 0.02, 0, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0x99F8FF, true); setText(font, time_lantern_text_ru0, Фонарь времени главный экран, 0, -4.2, 0.02, (3 * Math.PI) / 2, new THREE.Vector3(0.0006, 0.0006, 0.0006), 0x99F8FF, true); setText(font, wp_text_ru0, ВП главный экран, 0, -4.4, -0.02, Math.PI, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0x99F8FF, true); setText(font, congress_text_ru0, Конгресс главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0x99F8FF, true); setText(font, shuttle_text_ru0, Шаттлы главный экран, 0, -4.2, 0.02, 0, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0x99F8FF, true); setText(font, about_us_text_ru0, О компании главный экран, 0.02, -4.15, 0, Math.PI / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0x99F8FF, true); setText(font, mission_text_ru0, Миссия главный экран, 0, -4.1, -0.02, Math.PI, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0x99F8FF, true); setText(font, history_text_ru0, История главный экран, 0, -4.1, 0.02, 0, new THREE.Vector3(0.00062, 0.00062, 0.00062), 0x99F8FF, true); setText(font, founder_text_ru0, Основатель главный экран, -0.02, -4.1, 0, (3 * Math.PI) / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0x99F8FF, true); }); fontLoader.load(./Fonts/Arial_Regular.json, function (font) { if (lang_en) { setText(font, scan_3D_SW_text_eng0, Сканер главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, true); setText(font, scan_3D_SW_text_eng1, Сканер главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, false); setText(font, scan_3D_SW_text_eng2, Сканер главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, false); setText(font, scan_3D_SW_text_eng3, Сканер главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, false); setText(font, teja_tell_text_eng0, Тея главный экран, 0, -4.15, -0.02, Math.PI, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, true); setText(font, teja_tell_text_eng1, Тея главный экран, 0, -4.15, -0.02, Math.PI, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, teja_tell_text_eng2, Тея главный экран, 0, -4.15, -0.02, Math.PI, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, site_design_text_eng0, Сайты главный экран, 0, -4.1, 0.02, 0, new THREE.Vector3(0.00048, 0.00048, 0.0048), 0xffffff, true); setText(font, site_design_text_eng1, Сайты главный экран, 0, -4.1, 0.02, 0, new THREE.Vector3(0.00048, 0.00048, 0.00048), 0xffffff, false); setText(font, wp_text_eng0, ВП главный экран, 0, -4.4, -0.02, Math.PI, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, true); setText(font, wp_text_eng1, ВП главный экран, 0, -4.4, -0.02, Math.PI, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, video_text_eng0, Видео главный экран, 0, -4.6, 0, (3 * Math.PI) / 2, new THREE.Vector3(0.0009, 0.0009, 0.0009), 0xffffff, true); setText(font, video_text_eng1, Видео второй экран, 0, -4.6, 0, (3 * Math.PI) / 2 + Math.PI / 4.5, new THREE.Vector3(0.0009, 0.0009, 0.0009), 0xffffff, true); setText(font, congress_text_eng0, Конгресс главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, true); setText(font, congress_text_eng1, Конгресс главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, congress_text_eng2, Конгресс главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, shuttle_text_eng0, Шаттлы главный экран, 0, -4.4, 0.02, 0, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, true); setText(font, about_us_text_eng0, О компании главный экран, 0.02, -4.1, 0, Math.PI / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, true); setText(font, about_us_text_eng1, О компании главный экран, 0.02, -4.1, 0, Math.PI / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, false); setText(font, mission_text_eng0, Миссия главный экран, 0, -4.1, -0.02, Math.PI, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, true); setText(font, history_text_eng0, История главный экран, 0, -4.1, 0.02, 0, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, true); setText(font, founder_text_eng0, Основатель главный экран, -0.02, -4.2, 0, (3 * Math.PI) / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, true); setText(font, founder_text_eng1, Основатель главный экран, -0.02, -4.2, 0, (3 * Math.PI) / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, false); } else { setText(font, scan_3D_SW_text_ru1, Сканер главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, true); setText(font, scan_3D_SW_text_ru2, Сканер главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, scan_3D_SW_text_ru3, Сканер главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, scan_3D_SW_text_ru4, Сканер главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, teja_tell_text_ru1, Тея главный экран, 0, -4.15, -0.02, Math.PI, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, true); setText(font, site_design_text_ru1, Сайты главный экран, 0, -4.1, 0.02, 0, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, true); setText(font, site_design_text_ru2, Сайты главный экран, 0, -4.2, 0.02, 0, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, site_design_text_ru3, Сайты главный экран, 0, -4.2, 0.02, 0, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, site_design_text_ru4, Сайты главный экран, 0, -4.0, 0.02, 0, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, time_lantern_text_ru1, Фонарь времени главный экран, -0.02, -5.8, 0, (3 * Math.PI) / 2, new THREE.Vector3(0.0007, 0.0007, 0.0007), 0x99F8FF, true); setText(font, wp_text_ru1, ВП главный экран, 0, -4.4, -0.02, Math.PI, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, true); setText(font, wp_text_ru2, ВП главный экран, 0, -4.4, -0.02, Math.PI, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, video_text_ru0, Видео главный экран, 0, -4.6, 0, (3 * Math.PI) / 2, new THREE.Vector3(0.0009, 0.0009, 0.0009), 0xffffff, true); setText(font, video_text_ru1, Видео второй экран, 0, -4.6, 0, (3 * Math.PI) / 2 + Math.PI / 4.5, new THREE.Vector3(0.0009, 0.0009, 0.0009), 0xffffff, true); setText(font, congress_text_ru1, Конгресс главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, true); setText(font, congress_text_ru2, Конгресс главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, congress_text_ru3, Конгресс главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.00045, 0.00045, 0.00045), 0xffffff, false); setText(font, shuttle_text_ru1, Шаттлы главный экран, 0, -4.2, 0.02, 0, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, true); setText(font, about_us_text_ru1, О компании главный экран, 0.02, -4.15, 0, Math.PI / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, true); setText(font, about_us_text_ru2, О компании главный экран, 0.02, -4.2, 0, Math.PI / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, false); setText(font, mission_text_ru1, Миссия главный экран, 0, -4.1, -0.02, Math.PI, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, true); setText(font, history_text_ru1, История главный экран, 0, -4.1, 0.02, 0, new THREE.Vector3(0.00062, 0.00062, 0.00062), 0xffffff, true); setText(font, founder_text_ru1, Основатель главный экран, -0.02, -4.1, 0, (3 * Math.PI) / 2, new THREE.Vector3(0.0005, 0.0005, 0.0005), 0xffffff, true); setText(font, founder_text_ru2, Основатель главный экран, -0.02, -4.2, 0, (3 * Math.PI) / 2, new THREE.Vector3(0.00048, 0.00048, 0.00048), 0xffffff, false); setText(font, founder_text_ru3, Основатель главный экран, -0.02, -4.2, 0, (3 * Math.PI) / 2, new THREE.Vector3(0.00048, 0.00048, 0.00048), 0xffffff, false); } }); }, function (xhr) { if (xhr.loaded xhr.total) { modelIsLoaded true; } }); if (lang_en) var logo_Texture b_loader.load(./Images/Логотип en белый.png); else logo_Texture b_loader.load(./Images/Логотип рус белый.png); const logoWallMaterial new THREE.MeshBasicMaterial({ map: logo_Texture, color: 0xffffff, transparent: true, opacity: 1 }); var logoWallGeometry new THREE.PlaneGeometry(3, 0.75); logoWallMesh new THREE.Mesh(logoWallGeometry, logoWallMaterial); logoWallMesh.position.set(0, camera.position.y - 2 , camera.position.z - 20); camera.add(logoWallMesh); const sparkles_geometry new THREE.PlaneGeometry(0.03, 0.03); const sparkles_material new THREE.MeshPhongMaterial({ map: b_loader.load(./Textures/sparkle1.png), color: 0x99C1FF, transparent: true, side: THREE.DoubleSide }); sparkles_material.depthWrite false; sparkles_material.alphaTest 0.5; sparkles_mesh new THREE.InstancedMesh(sparkles_geometry, sparkles_material, 5000); for (let i 0; i 5000; i++) { var angle Math.random() * 2 * Math.PI; var x 1.2 * Math.cos(angle); var y Math.random() * 9 - 6.3; var z 1.2 * Math.sin(angle); sparkles_matrix.setPosition(x, y, z); sparkles_mesh.setMatrixAt(i, sparkles_matrix); } var angle_new new THREE.Quaternion(); var angle new THREE.Euler(); angle.setFromQuaternion(angle_new).x + 1; angle_new.setFromEuler(angle); sparkles_mesh.instanceMatrix.setUsage(THREE.DynamicDrawUsage); scene.add(sparkles_mesh); group_ramka_level1_ru new THREE.Group(); group_ramka_level2_ru new THREE.Group(); group_ramka_level3_ru new THREE.Group(); group_ramka_level1_en new THREE.Group(); group_ramka_level2_en new THREE.Group(); group_ramka_level3_en new THREE.Group(); ext_nav.position.set(-4, 2, 0); loadSVG(./Images/Рамка верх eng.svg, ext_nav, new THREE.Vector3(0.065, 0.06, 1), new THREE.Vector3(Math.PI, 0, 0), 2, group_ramka_level3_en, false); loadSVG(./Images/Рамка середина eng.svg, ext_nav, new THREE.Vector3(0.065, 0.06, 1), new THREE.Vector3(Math.PI, 0, 0), -1.5, group_ramka_level2_en, false); loadSVG(./Images/Рамка низ eng.svg, ext_nav, new THREE.Vector3(0.065, 0.06, 1), new THREE.Vector3(Math.PI, 0, 0), -4.5, group_ramka_level1_en, false); loadSVG(./Images/Рамка верх.svg, ext_nav, new THREE.Vector3(0.065, 0.06, 1), new THREE.Vector3(Math.PI, 0, 0), 2, group_ramka_level3_ru, false); loadSVG(./Images/Рамка середина.svg, ext_nav, new THREE.Vector3(0.065, 0.06, 1), new THREE.Vector3(Math.PI, 0, 0), -1.5, group_ramka_level2_ru, false); loadSVG(./Images/Рамка низ.svg, ext_nav, new THREE.Vector3(0.065, 0.06, 1), new THREE.Vector3(Math.PI, 0, 0), -4.5, group_ramka_level1_ru, false); if (lang_en) var map_anno11 new THREE.TextureLoader().load(./Images/Рамка в лифт уровень 1 eng.png); else var map_anno11 new THREE.TextureLoader().load(./Images/Рамка в лифт уровень 1 1.png); var material_anno11 new THREE.SpriteMaterial({ map: map_anno11 }); sprite11 new THREE.Sprite(material_anno11); sprite11.userData.name sprite11; sprite11.position.set(0, -5, 0); sprite11.scale.set(1, 0.3, 1); sprite21 sprite11.clone(); sprite31 sprite11.clone(); sprite21.position.y -2; sprite31.position.y 1; scene.add(sprite11, sprite21, sprite31); if (lang_en) var map_anno12 new THREE.TextureLoader().load(./Images/Рамка в лифт уровень 2 eng.png); else var map_anno12 new THREE.TextureLoader().load(./Images/Рамка в лифт уровень 2.png); var material_anno12 new THREE.SpriteMaterial({ map: map_anno12 }); sprite12 new THREE.Sprite(material_anno12); sprite12.userData.name sprite12; sprite12.position.set(0, -4.6, 0); sprite12.scale.set(1, 0.3, 1); sprite22 sprite12.clone(); sprite32 sprite12.clone(); sprite22.position.y -1.6; sprite32.position.y 1.4; scene.add(sprite12, sprite22, sprite32); if (lang_en) var map_anno13 new THREE.TextureLoader().load(./Images/Рамка в лифт уровень 3 eng.png); else var map_anno13 new THREE.TextureLoader().load(./Images/Рамка в лифт уровень 3.png); var material_anno13 new THREE.SpriteMaterial({ map: map_anno13 }); sprite13 new THREE.Sprite(material_anno13); sprite13.userData.name sprite13; sprite13.position.set(0, -4.2, 0); sprite13.scale.set(1, 0.3, 1); sprite23 sprite13.clone(); sprite33 sprite13.clone(); sprite23.position.y -1.2; sprite33.position.y 1.8; scene.add(sprite13, sprite23, sprite33); if (lang_en) var map_contact new THREE.TextureLoader().load(./Images/Рамка в лифт контакты eng.png); else var map_contact new THREE.TextureLoader().load(./Images/Рамка в лифт контакты.png); var material_contact new THREE.SpriteMaterial({ map: map_contact }); sprite14 new THREE.Sprite(material_contact); sprite14.userData.name sprite14; sprite14.position.set(0, -5.4, 0); sprite14.scale.set(1, 0.3, 1); sprite24 sprite14.clone(); sprite34 sprite14.clone(); sprite24.position.y -2.4; sprite34.position.y 0.6; scene.add(sprite14, sprite24, sprite34); const light1 new THREE.PointLight(0xffffff, 1, 0); light1.position.set(0, 7, 0); scene.add(light1); const light2 new THREE.PointLight(0xffffff, 0.2, 0); light2.position.set(0, 1, 8); scene.add(light2); const light21 new THREE.PointLight(0xffffff, 0.2, 0); light21.position.set(0, -2, 8); scene.add(light21); const light22 new THREE.PointLight(0xffffff, 0.2, 0); light22.position.set(0, -5, 8); scene.add(light22); const light3 new THREE.PointLight(0xffffff, 0.2, 0); light3.position.set(0, -2, 0); scene.add(light3); const light4 new THREE.PointLight(0xffffff, 0.2, 0); light4.position.set(0, -5, 0); scene.add(light4); const light5 new THREE.PointLight(0xffffff, 1, 0); light5.position.set(0, -10, 0); scene.add(light5); window.addEventListener(mouseup, onMouseUp); window.addEventListener(mousedown, onMouseDown); window.addEventListener(mousemove, onMouseMove); window.addEventListener(mouseout, clearPickPosition); window.addEventListener(mouseleave, clearPickPosition); document.onmousemove function (e) { uniforms.u_mouse.value.x ((event.clientX / window.innerWidth) * 2 - 1) * visibleWidth; uniforms.u_mouse.value.y (-(event.clientY / window.innerHeight) * 2 + 1) * visibleHeight; } video_about_us.addEventListener(playing, function () { video_is_playing true; }); video_about_wine.addEventListener(playing, function () { cartoon_is_playing true; }); video_about_us.addEventListener(pause, function () { video_is_playing false; }); video_about_wine.addEventListener(pause, function () { cartoon_is_playing false; }); window.addEventListener(touchstart, (event) > { event.preventDefault(); onMouseMove(event.touches0); }, { passive: false }); window.addEventListener(touchmove, (event) > { setPickPosition(event.touches0); }); window.addEventListener(touchend, onMouseDown); document.getElementById(image).addEventListener(touchstart, (event) > { playAudio(); }, { passive: false }); container.appendChild(renderer.domElement); orbit_control new OrbitControls(camera, renderer.domElement); orbit_control.listenToKeyEvents(window); orbit_control.mouseButtons { LEFT: THREE.MOUSE.ROTATE, } orbit_control.target.set(0, 0, 0); orbit_control.maxPolarAngle Math.PI / 1.8; orbit_control.minPolarAngle Math.PI / 3; orbit_control.minDistance 0; orbit_control.maxDistance 20; orbit_control.update(); window.addEventListener(resize, onWindowResize, false); if (WebGL.isWebGLAvailable()) { animate(); } else { const warning WebGL.getWebGLErrorMessage(); document.getElementById(container).appendChild(warning); } } function setText(font, content, screen_name, shift_position_x, shift_position_y, shift_position_z, rotation_y, scale, color, visibility) { var shapes font.generateShapes(content.text, 100); var geometry new THREE.ShapeGeometry(shapes); geometry.computeBoundingBox(); var xMid - 0.5 * (geometry.boundingBox.max.x - geometry.boundingBox.min.x); geometry.translate(xMid, 0, 0); content.mesh new THREE.Mesh(geometry, new THREE.LineBasicMaterial({ color: color })); content.mesh.visible visibility; var obj scene_full.find(element > element.userData.name screen_name); content.mesh.scale.set(scale.x, scale.y, scale.z); content.mesh.position.set(obj.position.x + shift_position_x, obj.position.y + shift_position_y, obj.position.z + shift_position_z); content.mesh.userData.name screen_name; switch (content) { case video_text_eng0: case video_text_eng1: case video_text_ru0: case video_text_ru1: { content.mesh.position.x - 0.02; }; break; } content.mesh.rotation.y rotation_y; scene.add(content.mesh); } function loadSVG(image, parent, scale, rotation, shift_y, group, visibility) { loader_svg.load(image, function (data) { var paths data.paths; for (let i 0; i paths.length; i++) { var path pathsi; var fillColor path.userData.style.fill; if (true) { var material new THREE.MeshBasicMaterial({ color: new THREE.Color().setStyle(fillColor).convertSRGBToLinear(), opacity: path.userData.style.fillOpacity, transparent: true, side: THREE.DoubleSide, depthWrite: false, }); var shapes SVGLoader.createShapes(path); for (let j 0; j shapes.length; j++) { var shape shapesj; var geometry new THREE.ShapeGeometry(shape); var text new THREE.Mesh(geometry, material); geometry.computeBoundingBox(); text.scale.set(scale.x, scale.y, scale.z); text.rotation.set(rotation.x, rotation.y, rotation.z); group.add(text); group.position.set(parent.position.x - (geometry.boundingBox.max.x - geometry.boundingBox.min.x) / 2, parent.position.y + shift_y, parent.position.z); } } const strokeColor path.userData.style.stroke; if (strokeColor ! undefined && strokeColor ! none) { const material new THREE.MeshBasicMaterial({ color: new THREE.Color().setStyle(strokeColor).convertSRGBToLinear(), opacity: path.userData.style.strokeOpacity, transparent: true, side: THREE.DoubleSide, depthWrite: false, }); for (let j 0, jl path.subPaths.length; j jl; j++) { const subPath path.subPathsj; const geometry SVGLoader.pointsToStroke(subPath.getPoints(), path.userData.style); if (geometry) { var mesh new THREE.Mesh(geometry, material); geometry.computeBoundingBox(); mesh.scale.set(scale.x, scale.y, scale.z); mesh.rotation.set(rotation.x, rotation.y, rotation.z); group.add(mesh); group.visible visibility; } } } } scene.add(group); }, function (xhr) { }, function (error) { console.log(error); } ); } function clearPickPosition() { pickPosition.x -100000; pickPosition.y -100000; } function onWindowResize() { camera.aspect window.innerWidth / window.innerHeight; visibleWidth visibleHeight * camera.aspect; camera.updateProjectionMatrix(); group_logoWall.position.set(-visibleWidth / 11, visibleHeight / 9, 0); if (rusWallMesh) rusWallMesh.position.set(visibleWidth / 35, camera.position.y - 1.11, camera.position.z - 16); if (engWallMesh) engWallMesh.position.set(-visibleWidth / 35, camera.position.y - 1.11, camera.position.z - 16); renderer.setSize(window.innerWidth, window.innerHeight); } function animate() { requestAnimationFrame(animate); render(); } function setScale(mesh, scale) { mesh.scale.x mesh.scale.y mesh.scale.z scale; } var end_rot new THREE.Vector3(); start_rot new THREE.Vector3(0, 0, -1); function setTween(endPosition, timePosition, endRotation, timeRotation, fov) { orbit_control.enabled false; let tween_target new THREE.Vector3(); var tween_rotate new TWEEN.Tween(start_rot).to(endRotation, timeRotation).easing(TWEEN.Easing.Quadratic.InOut).onUpdate(function () { orbit_control.target.set(start_rot.x, start_rot.y, start_rot.z); orbit_control.update(); }).onComplete(function () { start_rot.project(camera); var tmpObj new THREE.Object3D(); tmpObj.position.copy(camera.position); camera.getWorldDirection(tween_target); tmpObj.translateOnAxis(tween_target, 0.1); orbit_control.target.copy(tmpObj.position); orbit_control.enabled true; }); var tween_fov new TWEEN.Tween(cam_fov).to({ var: fov }, timeRotation).easing(TWEEN.Easing.Quadratic.InOut).onUpdate(function () { camera.fov cam_fov.var; camera.updateProjectionMatrix(); }); var tween new TWEEN.Tween(camera.position).to(endPosition, timePosition).onUpdate(function () { }).onComplete(function () { start_rot.unproject(camera); tween_fov.start(); }).easing(TWEEN.Easing.Quadratic.InOut).chain(tween_rotate).start(); } function setPlace(place) { places_array.forEach((el) > { el.value false }); places_array.find(element > element.name place).value true; } function setTextVisibility(placeName, array, direction) { let index 0; if (places_array.find(element > element.name placeName).value && array.length > 0) { console.log(places_array.find(element > element.name placeName).name + + places_array.find(element > element.name placeName).value); index array.indexOf(array.findLast(x > x.mesh.visible)); if (direction.userData.name.includes(вперед) && index array.length - 1) { index + 1; scene_full.find(element > element.userData.name direction.userData.inverse).material.setValues({ color: 0xffffff }); if (index array.length - 1) { direction.material.setValues({ color: 0x000000 }); } } if (direction.userData.name.includes(назад) && index > 1) { index - 1; scene_full.find(element > element.userData.name direction.userData.inverse).material.setValues({ color: 0xffffff }); if (index 1) { direction.material.setValues({ color: 0x000000 }); } } array.forEach((el) > { el.mesh.visible false }); arrayindex.mesh.visible true; if (index 1) { array0.mesh.visible true; } } } function setLevelSprite(name) { sprite11.material.color new THREE.Color(0xffffff); sprite12.material.color new THREE.Color(0xffffff); sprite13.material.color new THREE.Color(0xffffff); name.material.color new THREE.Color(0x00ff00); } function onMouseDown(event) { if (intersects.length > 0 && intersects0.object.userData.name ! null) { if (intersects0.object.userData.name Уровень 3 && !in_level_3) { camera.remove(logoWallMesh); if (!places_array.find(element > element.name in_site_design_screen).value) { scene_full.find(element > element.userData.name Сайты главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x, y: 1.5, z: end_rot.z + view_point_offset }; setTween(end_pos, 3000, end_rot, 500, 85); in_level_3 true; setLevelSprite(sprite13); setPlace(in_site_design_screen); } } if (intersects0.object.userData.name Уровень 2 && !in_level_2) { camera.remove(logoWallMesh); if (!places_array.find(element > element.name in_congreess_screen).value) { scene_full.find(element > element.userData.name Конгресс главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x + view_point_offset, y: -1.7, z: end_rot.z }; setTween(end_pos, 3000, end_rot, 500, 85); in_level_2 true; setLevelSprite(sprite12); setPlace(in_congreess_screen); } } if (intersects0.object.userData.name Уровень 1 && !in_level_1) { camera.remove(logoWallMesh); if (!places_array.find(element > element.name in_about_screen).value) { scene_full.find(element > element.userData.name О компании главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x + view_point_offset, y: -4.9, z: end_rot.z }; setTween(end_pos, 3000, end_rot, 500, 85); in_level_1 true; setLevelSprite(sprite11); setPlace(in_about_screen); } } if (intersects0.object.userData.name.includes(Монетка) || intersects0.object.userData.name Ссылка на цены) { scene_full.find(element > element.userData.name Сайты главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x, y: 1.5, z: end_rot.z + view_point_offset }; setTween(end_pos, 1000, end_rot, 500, 85); setPlace(in_site_design_screen); site_design_text_ru.forEach((el) > { el.mesh.visible false }); site_design_text_rusite_design_text_ru.length - 1.mesh.visible true; scene_full.find(element > element.userData.name Сайты назад).material.setValues({ color: 0xffffff }); scene_full.find(element > element.userData.name Сайты вперед).material.setValues({ color: 0x000000 }); } if (intersects0.object sprite11 || intersects0.object sprite21 || intersects0.object sprite31) { var end_pos { x: camera.position.x, y: -4.9, z: camera.position.z }; setTween(end_pos, 1000, 0, 0, 85); in_level_1 true; setLevelSprite(sprite11); } if (intersects0.object sprite12 || intersects0.object sprite22 || intersects0.object sprite32) { var end_pos { x: camera.position.x, y: -1.7, z: camera.position.z }; setTween(end_pos, 1000, 0, 0, 85); in_level_2 true; setLevelSprite(sprite12); } if (intersects0.object sprite13 || intersects0.object sprite23 || intersects0.object sprite33) { var end_pos { x: camera.position.x, y: 1.5, z: camera.position.z }; setTween(end_pos, 1000, 0, 0, 85); in_level_3 true; setLevelSprite(sprite13); } if (intersects0.object) { } switch (intersects0.object.userData.name) { case Сканер назад: case Сканер вперед: { if (lang_en) setTextVisibility(in_scanner_screen, scan_3D_SW_text_eng, intersects0.object); else setTextVisibility(in_scanner_screen, scan_3D_SW_text_ru, intersects0.object); }; break; case Сайты назад: case Сайты вперед: { if (lang_en) setTextVisibility(in_site_design_screen, site_design_text_eng, intersects0.object); else setTextVisibility(in_site_design_screen, site_design_text_ru, intersects0.object); }; break; case Конгресс назад: case Конгресс вперед: { if (lang_en) setTextVisibility(in_congreess_screen, congress_text_eng, intersects0.object); else setTextVisibility(in_congreess_screen, congress_text_ru, intersects0.object); }; break; case ВП назад: case ВП вперед: { if (lang_en) setTextVisibility(in_wp_screen, wp_text_eng, intersects0.object); else setTextVisibility(in_wp_screen, wp_text_ru, intersects0.object); }; break; case Тея назад: case Тея вперед: { if (lang_en) setTextVisibility(in_teja_screen, teja_tell_text_eng, intersects0.object); else setTextVisibility(in_teja_screen, teja_tell_text_ru, intersects0.object); }; break; case Основатель назад: case Основатель вперед: { if (lang_en) setTextVisibility(in_founder_screen, founder_text_eng, intersects0.object); else setTextVisibility(in_founder_screen, founder_text_ru, intersects0.object); }; break; case О назад: case О вперед: { if (lang_en) setTextVisibility(in_about_screen, about_us_text_eng, intersects0.object); else setTextVisibility(in_about_screen, about_us_text_ru, intersects0.object); }; break; case Тея главный экран: { if (!places_array.find(element > element.name in_teja_screen).value) { scene_full.find(element > element.userData.name Тея главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x, y: 1.5, z: end_rot.z - view_point_offset }; setTween(end_pos, 1000, end_rot, 500, 85); setPlace(in_teja_screen); } }; break; case Сканер главный экран: { if (!places_array.find(element > element.name in_scanner_screen).value) { scene_full.find(element > element.userData.name Сканер главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x + view_point_offset, y: 1.5, z: end_rot.z }; setTween(end_pos, 1000, end_rot, 500, 85); setPlace(in_scanner_screen); } }; break; case Сайты главный экран: { if (!places_array.find(element > element.name in_site_design_screen).value) { scene_full.find(element > element.userData.name Сайты главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x, y: 1.5, z: end_rot.z + view_point_offset }; setTween(end_pos, 1000, end_rot, 500, 85); setPlace(in_site_design_screen); } }; break; case Фонарь времени главный экран: { if (!places_array.find(element > element.name in_time_lantern_screen).value) { scene_full.find(element > element.userData.name Фонарь времени главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x - view_point_offset, y: 1.5, z: end_rot.z }; setTween(end_pos, 1000, end_rot, 500, 85); setPlace(in_time_lantern_screen); } }; break; case Конгресс главный экран: { if (!places_array.find(element > element.name in_congreess_screen).value) { scene_full.find(element > element.userData.name Конгресс главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x + view_point_offset, y: -1.7, z: end_rot.z }; setTween(end_pos, 1000, end_rot, 500, 85); setPlace(in_congreess_screen); } }; break; case Шаттлы главный экран: { if (!places_array.find(element > element.name in_shuttle_screen).value) { scene_full.find(element > element.userData.name Шаттлы главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x, y: -1.7, z: end_rot.z + view_point_offset }; setTween(end_pos, 1000, end_rot, 500, 85); setPlace(in_shuttle_screen); } }; break; case ВП главный экран: { if (!places_array.find(element > element.name in_wp_screen).value) { scene_full.find(element > element.userData.name ВП главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x, y: -1.7, z: end_rot.z - view_point_offset }; setTween(end_pos, 1000, end_rot, 500, 85); setPlace(in_wp_screen); } }; break; case Видео главный экран: { let el scene_full.find(element > element.userData.name Видео главный экран); if (!video_is_playing) { el.material.opacity 0; video_about_wine.pause(); movieMaterial.setValues({ transparent: false, color: 0xffffff }); if (video_text_ru0.mesh) video_text_ru0.mesh.visible false; if (video_text_eng0.mesh) video_text_eng0.mesh.visible false; video_about_us.play(); if (audio_is_playing) playAudio(); } else { video_about_us.pause(); } if (!places_array.find(element > element.name in_video_screen).value) { el.getWorldPosition(end_rot); var end_pos { x: end_rot.x - view_point_offset, y: -1.7, z: end_rot.z }; setTween(end_pos, 1000, end_rot, 500, 105); setPlace(in_video_screen); } }; break; case Видео второй экран: { let el scene_full.find(element > element.userData.name Видео второй экран); if (!cartoon_is_playing) { el.material.opacity 0; video_about_us.pause(); cartoonMaterial.setValues({ transparent: false, color: 0xffffff }); if (video_text_ru1.mesh) video_text_ru1.mesh.visible false; if (video_text_eng1.mesh) video_text_eng1.mesh.visible false; video_about_wine.play(); if (audio_is_playing) playAudio(); } else { video_about_wine.pause(); } if (!places_array.find(element > element.name in_cartoon_screen).value) { el.getWorldPosition(end_rot); var end_pos { x: end_rot.x - view_point_offset * Math.cos(Math.PI / 4.5), y: -1.7, z: end_rot.z + view_point_offset * Math.sin(Math.PI / 4.5) }; setTween(end_pos, 1000, end_rot, 500, 105); setPlace(in_cartoon_screen); } }; break; case О компании главный экран: { if (!places_array.find(element > element.name in_about_screen).value) { scene_full.find(element > element.userData.name О компании главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x + view_point_offset, y: -4.9, z: end_rot.z }; setTween(end_pos, 1000, end_rot, 500, 85); setPlace(in_about_screen); } }; break; case Миссия главный экран: { if (!places_array.find(element > element.name in_mission_screen).value) { scene_full.find(element > element.userData.name Миссия главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x, y: -4.9, z: end_rot.z - view_point_offset }; setTween(end_pos, 1000, end_rot, 500, 85); setPlace(in_mission_screen); } }; break; case История главный экран: { if (!places_array.find(element > element.name in_history_screen).value) { scene_full.find(element > element.userData.name История главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x, y: -4.9, z: end_rot.z + view_point_offset }; setTween(end_pos, 1000, end_rot, 500, 85); setPlace(in_history_screen); } }; break; case Основатель главный экран: { if (!places_array.find(element > element.name in_founder_screen).value) { scene_full.find(element > element.userData.name Основатель главный экран).getWorldPosition(end_rot); var end_pos { x: end_rot.x - view_point_offset, y: -4.9, z: end_rot.z }; setTween(end_pos, 1000, end_rot, 500, 85); setPlace(in_founder_screen); } }; break; } } } function onMouseUp(event) { } function onMouseMove(event) { pointer.x (event.clientX / window.innerWidth) * 2 - 1; pointer.y - (event.clientY / window.innerHeight) * 2 + 1; } function render() { raycaster.setFromCamera(pointer, camera); intersects raycaster.intersectObjects(scene.children); if (intersects.length > 0 && !(in_level_3 || in_level_2 || in_level_1)) { if (intersects0.object.userData.name Уровень 3) { if (lang_en) group_ramka_level3_en.visible true; else group_ramka_level3_ru.visible true; } else { group_ramka_level3_en.visible false; group_ramka_level3_ru.visible false; } if (intersects0.object.userData.name Уровень 2) { if (lang_en) group_ramka_level2_en.visible true; else group_ramka_level2_ru.visible true; } else { group_ramka_level2_en.visible false; group_ramka_level2_ru.visible false; } if (intersects0.object.userData.name Уровень 1) { if (lang_en) group_ramka_level1_en.visible true; else group_ramka_level1_ru.visible true; } else { group_ramka_level1_en.visible false; group_ramka_level1_ru.visible false; } } if (in_level_3 || in_level_2 || in_level_1) { group_ramka_level3_en.visible false; group_ramka_level3_ru.visible false; group_ramka_level2_en.visible false; group_ramka_level2_ru.visible false; group_ramka_level1_en.visible false; group_ramka_level1_ru.visible false; } if (video_about_us_ready && video_about_us.readyState video_about_us.HAVE_ENOUGH_DATA) { videoImageContext.drawImage(video_about_us, 0, 0); if (videoTexture) videoTexture.needsUpdate true; } if (video_about_wine_ready && video_about_wine.readyState video_about_wine.HAVE_ENOUGH_DATA) { videoImageCartoonContext.drawImage(video_about_wine, 0, 0); if (videoCartoonTexture) videoCartoonTexture.needsUpdate true; } if (modelIsLoaded) { if (level1_mesh) level1_mesh.rotation.y - 0.0003; if (level2_mesh) level2_mesh.rotation.y - 0.0006; if (level3_mesh) level3_mesh.rotation.y - 0.0009; if (barpan_star_mesh) { barpan_star_mesh.rotation.y + 0.0009; barpan_star_mesh.rotation.x + 0.0009; } if (promocube && holocube) { promocube.rotation.x holocube.rotation.x + Math.random() / 30; promocube.rotation.y holocube.rotation.y + Math.random() / 30; promocube.rotation.z holocube.rotation.z + Math.random() / 30; } if (pyramide) pyramide.rotation.y + 0.01; if (shuttle) shuttle.rotation.y + 0.01; if (acoustics) { acoustics_scale Math.random() * (0.03 - 0.0295) + 0.0295; setScale(acoustics, acoustics_scale); } if (shuttle) { if (shuttle.position.x 0.5 && shuttle_move_right) { shuttle.position.x + 0.01; } else { shuttle_move_right false; shuttle_move_left true; } if (shuttle.position.x > - 2.4 && shuttle_move_left) { shuttle.position.x - 0.01; } else { shuttle_move_right true; shuttle_move_left false; } } if (stick) { if (stick.rotation.y - Math.PI / 8 && stick_move_right) { stick.rotation.y + 0.02; } else { stick_move_right false; stick_move_left true; } if (stick.rotation.y > - Math.PI / 2 && stick_move_left) { stick.rotation.y - 0.02; } else { stick_move_right true; stick_move_left false; } } } for (let i 0; i 5000; i++) { var pos new THREE.Vector3(); var quat new THREE.Quaternion(); var angle new THREE.Euler(); var scale new THREE.Vector3(); sparkles_mesh.getMatrixAt(i, sparkles_matrix); sparkles_matrix.decompose(pos, quat, scale); angle.setFromQuaternion(quat).x + Math.random() * Math.PI / 15; sparkles_matrix.compose(pos, quat.setFromEuler(angle), scale); sparkles_mesh.setMatrixAt(i, sparkles_matrix); } sparkles_mesh.instanceMatrix.needsUpdate true; TWEEN.update(); renderer.render(scene, camera); } /script> script> var audio_is_playing false; function playAudio() { if (!audio_is_playing) { document.getElementById(audio).play(); document.getElementById(image).src ./Images/sound_on.png; audio_is_playing true; } else { document.getElementById(audio).pause(); document.getElementById(image).src ./Images/sound_off.png; audio_is_playing false; } } /script> !--svg width80mm height37.398735mm viewBox0 0 100.00001 46.74842 version1.1 idАнглийская версия xmlnshttp://www.w3.org/2000/svg xmlns:svghttp://www.w3.org/2000/svg> path dM 10.039086,0.45289099 H 89.960915 A 9.5861882,9.5861882 0 0 1 99.547109,10.039076 V 36.709344 A 9.5861882,9.5861882 0 0 1 89.960915,46.29553 H 10.039086 A 9.5861882,9.5861882 0 0 1 0.45289099,36.709344 V 10.039076 A 9.5861882,9.5861882 0 0 1 10.039086,0.45289099 Z stylefill: #000000; fill-opacity: 1; fill-rule: evenodd; stroke: #0092d6; stroke-width: 1; stroke-dasharray: none; stroke-opacity: 1 /> path idpath3137 dm 92.504223,13.023563 q 0,0.723992 -0.07518,1.248194 -0.04982,0.524267 -0.174726,0.848808 -0.09982,0.299542 -0.274633,0.424359 -0.149816,0.124817 -0.37445,0.124817 -0.324541,0 -1.048487,-0.449358 -0.723991,-0.449359 -1.922232,-0.973598 -1.198276,-0.524266 -2.870865,-0.973597 -1.647626,-0.449359 -3.844455,-0.449359 -2.346617,0 -4.243885,0.823809 -1.897259,0.798809 -3.245316,2.29669 -1.348057,1.472883 -2.072021,3.569858 -0.723991,2.072011 -0.723991,4.593381 0,2.771004 0.723991,4.892942 0.7489,2.096975 2.072021,3.519931 1.323084,1.422946 3.170426,2.146901 1.872305,0.723992 4.11906,0.723992 1.098423,0 2.171874,-0.249634 1.07345,-0.249633 1.997121,-0.7489 v -7.489247 h -6.1159 q -0.449359,0 -0.698992,-0.549175 -0.249634,-0.574175 -0.249634,-1.922223 0,-0.698991 0.04982,-1.173313 0.07518,-0.474267 0.199725,-0.7489 0.124817,-0.299542 0.299542,-0.424359 0.174726,-0.149816 0.39945,-0.149816 h 10.909279 q 0.399449,0 0.698991,0.149816 0.324542,0.124817 0.549176,0.39945 0.249633,0.274633 0.37445,0.673992 0.124817,0.37445 0.124817,0.873717 v 12.856473 q 0,0.748901 -0.274633,1.323094 -0.249634,0.549175 -1.073451,0.873717 -0.798809,0.324541 -1.997122,0.673992 -1.198267,0.34945 -2.496397,0.599174 -1.273167,0.249634 -2.59626,0.37445 -1.29813,0.124817 -2.621223,0.124817 -3.869418,0 -6.93999,-1.098414 -3.045618,-1.123378 -5.167557,-3.220353 -2.121938,-2.121947 -3.245316,-5.142593 -1.123386,-3.045609 -1.123386,-6.890063 0,-3.96928 1.198276,-7.114742 1.198268,-3.170435 3.395105,-5.367263 2.196829,-2.2218009 5.292374,-3.3951141 3.120499,-1.1733042 6.939989,-1.1733042 2.096975,0 3.8195,0.299542 1.722516,0.2746329 2.995683,0.6989916 1.298121,0.3994497 2.146901,0.8737169 0.848808,0.4742673 1.173305,0.8238078 0.34945,0.349451 0.499266,0.998561 0.149817,0.624084 0.149817,1.872305 z M 59.551725,38.012538 q 0,0.574175 -0.199725,1.023524 -0.199725,0.449358 -0.549175,0.7489 -0.324542,0.299542 -0.798809,0.449358 -0.449358,0.124817 -0.923671,0.124817 h -2.795966 q -0.873717,0 -1.522809,-0.174725 -0.624084,-0.174726 -1.173305,-0.624084 -0.524266,-0.474358 -1.023524,-1.248203 -0.499267,-0.798809 -1.123386,-2.047048 L 41.402942,21.161848 Q 40.70395,19.813791 39.979995,18.266019 39.256004,16.693283 38.681865,15.22041 h -0.04982 q 0.09982,1.797406 0.149816,3.59482 0.04982,1.772443 0.04982,3.669711 v 16.900635 q 0,0.249633 -0.149816,0.449358 -0.124817,0.199725 -0.474358,0.349451 -0.324541,0.124816 -0.898716,0.199724 -0.574175,0.07518 -1.472874,0.07518 -0.873717,0 -1.447919,-0.07518 -0.574175,-0.07518 -0.898716,-0.199724 -0.324542,-0.149817 -0.449358,-0.349451 -0.124817,-0.199725 -0.124817,-0.449358 V 10.352431 q 0,-1.1733126 0.673992,-1.7474875 0.698992,-0.5991746 1.697552,-0.5991746 h 3.519931 q 0.948625,0 1.59769,0.1747253 0.649083,0.1498163 1.14835,0.5242664 0.524266,0.3744501 0.973597,1.0484875 0.449359,0.6490829 0.923662,1.6226619 l 6.290934,11.807978 q 0.549176,1.07345 1.073451,2.121938 0.549175,1.023524 1.048487,2.072011 0.499267,1.023525 0.973598,2.022085 0.474358,0.998561 0.923671,1.997122 h 0.02536 q -0.07518,-1.747479 -0.124817,-3.644747 -0.02536,-1.89726 -0.02536,-3.619775 V 8.9793936 q 0,-0.2496334 0.149816,-0.4493583 0.149817,-0.1997248 0.499267,-0.3495411 0.349541,-0.1498163 0.923662,-0.1997248 0.574175,-0.07518 1.472882,-0.07518 0.848808,0 1.422947,0.07518 0.574175,0.049818 0.873717,0.1997248 0.324541,0.1498163 0.449358,0.3495411 0.124817,0.1997249 0.124817,0.4493583 z M 27.123476,37.737905 q 0,0.723991 -0.07518,1.22324 -0.04982,0.474357 -0.174725,0.773899 -0.124817,0.299542 -0.324542,0.449359 -0.174725,0.124816 -0.399449,0.124816 H 9.9229734 q -0.8238083,0 -1.3979923,-0.474357 Q 7.9758057,39.335595 7.9758057,38.237171 V 10.077762 q 0,-1.0984137 0.5491754,-1.5727353 Q 9.099156,8.0057599 9.9229734,8.0057599 H 26.049726 q 0.224634,0 0.39945,0.1248167 0.174725,0.1248167 0.299542,0.4493582 0.124817,0.299542 0.174725,0.7988088 0.07518,0.4742673 0.07518,1.2232304 0,0.698992 -0.07518,1.198277 -0.04982,0.474267 -0.174725,0.7739 -0.124817,0.299542 -0.299542,0.449358 -0.174725,0.124817 -0.39945,0.124817 h -11.53338 v 7.888624 h 9.760929 q 0.224724,0 0.399449,0.149816 0.199725,0.124817 0.324542,0.424359 0.124817,0.274633 0.174725,0.773899 0.07518,0.474358 0.07518,1.173314 0,0.723991 -0.07518,1.198267 -0.04982,0.474358 -0.174725,0.7739 -0.124817,0.274633 -0.324542,0.39945 -0.174725,0.124816 -0.399449,0.124816 h -9.760929 v 9.111864 H 26.14958 q 0.224724,0 0.399449,0.149817 0.199725,0.124816 0.324542,0.424358 0.124816,0.299542 0.174725,0.798809 0.07518,0.474267 0.07518,1.198268 z stylefont-weight: bold; font-size: 5.64444px; font-family: Calibri; font: Calibri, Bold; display: inline; fill: #0092d6; fill-rule: evenodd; stroke: #0092d6; stroke-width: 0 /> /svg!--> div styledisplay:none> video controls idВидео о Винном парке> source srcVideo/Ролик Винный парк rus version.mp4 typevideo/mp4> /video> /div> div styledisplay:none> video controls idАнимация Сказание о вине> source srcVideo/Сказание о вине.mp4 typevideo/mp4> /video> /div> div idcontainer classrender styledisplay: none> h2>ООО Барпан - 2023/h2> img idimage classimage src./Images/sound_off.png onclickplayAudio() /> /div> div idscan_3D_SW_text_ru styledisplay: none> a href./Texts/3D_scan_software.html>Разработка программы 3D сканирования/a> /div> div idteja_tell_text_ru styledisplay: none> a href./Texts/Dreamkeepers_tale.html>Приложение для интерактивных сказок/a> /div> div idsite_design_text_ru styledisplay: none> a href./Texts/3D_sites_design.html>Создание 3D сайтов/a> /div> div idwp_text_ru styledisplay: none> a href./Texts/Solutions.html>Разработка архитектуры решений/a> /div> div idcongress_text_ru styledisplay: none> a href./Texts/Congress.html>Программы контроля и управления конгресс-системами/a> /div> div idshuttle_text_ru styledisplay: none> a href./Texts/Zifferhaus.html>Цифергауз/a> /div> div idabout_us_text_ru styledisplay: none> a href./Texts/About_us.html>О компании/a> /div> div idmission_text_ru styledisplay: none> a href./Texts/Mission.html>Наша задача/a> /div> div idhistory_text_ru styledisplay: none> a href./Texts/History.html>Наши постулаты/a> /div> div idfounder_text_ru styledisplay: none> a href./Texts/Founders.html>Наша команда/a> /div> audio idaudio src./Video/audio site.mp3 typeaudio/mpeg loop />/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]