Slide 1

Slide 1 text

3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Max Schulte @MaxOSchulte Consultant

Slide 2

Slide 2 text

The image part with relationship ID rId12 was not found in the file. The image part with relationship ID rId12 was not found in the file. Special Day “Cross-Plattform” Thema Sprecher Datum, Uhrzeit Figma, Storybook und Angular: Toolchain für plattformunabhängige User Interfaces Andreas Wissel Do, 24. September 2020, 09.00 bis 10.00 Cross-Plattform-Apps für Desktop, Mobile und Web mit Electron, Cordova & Angular Fabian Gosebrink Do, 24. September 2020, 10.30 bis 11.30 Electron.NET: Cross-Plattform- Desktop-Software mit ASP.NET Core Gregor Biswanger Do, 24. September 2020, 12.00 bis 13.00 Electron, Cordova, PWA – was, wann, wie und warum Christian Liebel, Thorsten Hans Do, 24. September 2020, 15.45 bis 16.45 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Max Schulte Do, 24. September 2020, 17.15 bis 18.15

Slide 3

Slide 3 text

3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session Good to know… Max Schulte [email protected] https://www.thinktecture.com/max-schulte @MaxOSchulte • Consultant at Thinktecture AG. • Specialised in Angular, Ionic and BabylonJS

Slide 4

Slide 4 text

3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session Forms Over Data

Slide 5

Slide 5 text

http://gleborgne.github.io/molvwr/#1GCN https://kitchenplanner.ikea.com/jp/UI/Pages/VPUI.htm

Slide 6

Slide 6 text

http://build.aritcohomelifts.com/?ct1=0&sc=RAL9006&dc=RAL9006&f=bolon_gradient&dw=d esignwall_skyline&sgt=tinted&ch1=2225 3D-Engine Talk Angular - BabylonJS Integration Deep Dive

Slide 7

Slide 7 text

https://dabmotors.com/configurator/

Slide 8

Slide 8 text

3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 9

Slide 9 text

3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session • Cross platform • Any device • Code once run everywhere • On location & remote planning and editing • Shareable with a simple URL • Easy integration web technology Web 3D benefits over native 3D

Slide 10

Slide 10 text

3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session Just one of many possibilities Web-Native TypeScript

Slide 11

Slide 11 text

• Open source project supported by Microsoft • Framework optimized for web • WebGL hardware acceleration • Complete 3D-Engine Alternatives: Playcanvas, A-Frame ( Non-Web: Unity, Unreal Engine ), Three.js BabylonJS 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 12

Slide 12 text

Can I Use - WebGL v1 20.09.2020 • CAN I USE SCREENSHOT + DATE BabylonJS https://caniuse.com/#feat=webgl 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 13

Slide 13 text

Can I Use - WebGL v2 20.09.2020 • CAN I USE SCREENSHOT + DATE BabylonJS https://caniuse.com/#feat=webgl2 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 14

Slide 14 text

Can I Use - WebGPU v1 20.09.2020 • CAN I USE SCREENSHOT + DATE BabylonJS https://caniuse.com/#feat=webgpu 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 15

Slide 15 text

An app that … • combines Angular and BabylonJS • is interactive • works on different platforms and devices • uses native hardware (WebGL) https://github.com/thinktecture/angular- babylonjs-architecture DEMO Demo Example App Try now! http://tiny.cc/ngb-js 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 16

Slide 16 text

Clarifying keywords • GameObject (TransformNode) à Logical objects • Can hold visual objects and much more • The root of all possible things • Mesh à Visual objects • Scene (Stage) à holds all information • Engine à renders the Scene BabylonJS Babylonjs.com 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 17

Slide 17 text

How changes happen • Iterations (loop, render loop) • Fixed steps relative to each frame • Setup everything then modify something • Step by step, no reordering etc. BabylonJS 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 18

Slide 18 text

Playground example https://www.babylonjs-playground.com/#TAZ2CB BabylonJS 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 19

Slide 19 text

BabylonJS - Angular Angular • UI • Application lifecycle • Services, Contexts, Components • NgZone (ZoneJS) • DOM Integration BabylonJS • 3D • Engine lifecycle • Scene • Event-based system • Scene Graph 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 20

Slide 20 text

Application Angular Components Directives Service BabylonJS Scene Engine Objects Browser Rendering Engine feed instructions update model Web APIs render 3D content WebGL (WebGPU) OS API Hardware View render HTML trigger function Architecture Overview (simplified) 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 21

Slide 21 text

3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session CODE

Slide 22

Slide 22 text

Change Detection Angular • NgZone (ZoneJS) • Checks on every event Integration BabylonJS • Event-based communication • Events on every frame (60 FPS!) • Exclude BabylonJS from the NgZone à ngZone.runOutsideAngular( … ); • Stop zone.js to observe animation frame requests à (window as any).__Zone_disable_requestAnimationFrame = true; 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 23

Slide 23 text

Level of immersiveness 3D AR VR Sweet spot Nintendo Oculus Rift S 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 24

Slide 24 text

https://www.thinktecture.com/de/cheatsheet/angular-babylonjs BabylonJS Cheat Sheet 3D-Daten-Visualisierung in Businessanwendungen mit BabylonJS – das Web kann’s Session

Slide 25

Slide 25 text

Summary Try now! http://tiny.cc/ngb-js 1. Extend your data visualization 2. 3D integration is different 3. On your everyday devices [email protected] https://www.thinktecture.com/max-schulte @MaxOSchulte