SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Developing AR & VR
Applications using
React-Native
Pulkit Kakkar
Organizing Team
Facebook Developer Circle: Delhi-NCR
Independent Developer
@pulkitkkr0
www.linkedin.com/in/pulkitkkr
pulkitkkr@gmail.com
&
Agenda
WhenHowWhyWhat
All About the XR
*X ∈ { A, V, M }
History of UI & UX
Punch Cards
Key Boards
Mouse
History of UI & UX
Touch Based
UIs
Voice Controlled
UIs
“The Future is XR ”
Adaptive
filters and
Snapchat
2D Filters
Doodle
Google
Glass
PokĂŠmon
Go
“AR Revolutions”
Is it all about just Entertainment ?
Medical Army Training
AR and it’s Applications
Types of AR Systems
Marker-Based Marker-Free
Available AR Libraries
2) Unity-3D / Unreal
• Need to learn C# scripting
• Available ArCore & ArKit Binding
• Really powerful, best if developing a game
• Not much powerful for Uis when compared to React
1) React-Native ARKit / ARCore
• Experimental
• Wrapper around Native Code
3) React-360
• Only for VR
• Limited 3D Models Support
Cross Platform
Development
• Write once, run anywhere across all mobile AR
(ARKit, ARCore) and VR (Cardboard iOS/Android,
GearVR, Daydream)
React Native
Framework
• Create apps using React Native, making it easy
for web developers to get started.
Powerful
Renderer
• Create stunning scenes with PBR, HDR, Realtime
Lighting, Physics, Particles, and more.
Rapid iteration
• Use the free Viro Testbed app to view your app
and see your changes quickly. No need to wait
for recompile. It's like refreshing a browser.
Docs
• Extensive developer support and
documentation.
Getting Started with Viro
1) react-native init ViroSample --version=0.55.1
2) cd ViroSample
3) npm install -S -E react-viro
4) Get your API Keys from https://viromedia.com/
5) Modify App.js to add your API Keys
OR
1) npm i –g react-viro-cli
2) react-viro “ProjectName”
Cross-Reality Components Nomenclature
Viro
Components
VR
<ViroVRComponent>
AR
<ViroARComponent>
XR
<ViroComponent>
Basic Componential Layout
<ViroScene>
- React-Native View
- Node(s) to ViroNavigators
- contains UI controls, 3D
objects, lights, and more
<ViroText>
- Adds Text Like <Text> or
<h1> - <h6>
- Styled Like React-Native in
general
Positioning Systems
Right Handed System
- Negative Z inside
- axis direction changed with
rotation prop
- to determine +ve rotation
use thumb rule
Left handed System
- positive Z-axis Inside
3-D Objects
• Viro have a really powerful 3-D Rendering Engine which
runs on native thread and uses graphical hardware chip of
device
• It’s Lag free but need to use optimized 3-d Files and
preferably low-poly files for mobile devices
Supported 3-D File Formats
.obj Files
- No animations
- No Conversion script required
- need .mtl materials or list of
textures
.fbx Files
- transformed to .vrx using script
at ./bin/ViroFBX
- supports skeletal animations
- use <ViroDirectionalLight>
.gltf Files
- new format
- JSON >> BIN >> PNG
Sources for 3-D models Files
Unity Assets Store
- https://assetstore.unity.com/
- hundreds of thousands of paid
and free models abailable
Mixamo
- Great project for making
avatars
- Animate them with hudreds of
free and premium animations
- https://www.mixamo.com
SketchFab
- a great place to search for free
models
- https://www.sketchfab.com
Self Modeling
- for Basics use MS Paint 3d
- Blender with textures
- Advanced Modeling MAYA 3d
Google Low-Poly
- A great open initiative by google
- Free low poly models
- Best suited models for low grade
HMDs & Mobile AR Devices
Turbo Squid
- Another great place for free 3d
Models
- https://www.turbosquid.com
3-D Objects Code Demonstration
Lightnings and it’s types
You illuminate scenes in Viro by adding lights to your ViroNode(s)
object.
Ambient Light
- illuminate all objects
- illuminate from all directions
- use <ViroAmbientLight>
Directional Light
- illuminates all objects in
range
- specified direction
- use <ViroDirectionalLight>
Spot Light
- illuminate all objects in
range
- illuminated in cone
specified by inner & outer
angle
- use <ViroSpotLight>
Point Light
- emitted from object
- diverging sphere
- use <ViroOmniLight>
Lightnings Demonstration
Point Light Spot Light
Lightnings Demonstration
Directional Light
Lightening Code Demonstration
Particle Effects
Viro's particle system enables developers to create and configure
quad emitters for building complex and intricate particle effects.
Some examples are smoke, rain, confetti, and fireworks.
Image Source
representing the
particles to emit
State the rate at
which the particle
emits and lives for
Start the emitter
When to use ViroReact ?
1) ARCore and ARKit Limitation are not an issue
2) Not a Graphic Intensive UI
3) Not building a full fledged Game
4) Not targeting High End HMDs (VR) or standalone AR
HMDs
5) Targeting Both AR & VR and maximizing cross-platform
code sharing
Thank You
Let’s build the future of UI/UX Together
@pulkitkkr0
www.linkedin.com/
in/pulkitkkr
pulkitkkr@gmail.com

Weitere ähnliche Inhalte

Ähnlich wie Byte Conf React Native 2018

AR and VR development tools and platforms
AR and VR development tools and platformsAR and VR development tools and platforms
AR and VR development tools and platformsSushmita Chatterjee
 
Building Your Robot using AWS Robomaker
Building Your Robot using AWS RobomakerBuilding Your Robot using AWS Robomaker
Building Your Robot using AWS RobomakerAlex Barbosa Coqueiro
 
Building AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptBuilding AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptFITC
 
Christine Perey (Perey Research & Consulting) A Survey of Commercial Enterpri...
Christine Perey (Perey Research & Consulting) A Survey of Commercial Enterpri...Christine Perey (Perey Research & Consulting) A Survey of Commercial Enterpri...
Christine Perey (Perey Research & Consulting) A Survey of Commercial Enterpri...AugmentedWorldExpo
 
HoloLens.pdf
HoloLens.pdfHoloLens.pdf
HoloLens.pdfVishwas N
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easyLars Vogel
 
ReactConf 2018: Developing Immersive cross-platform AR and VR Apps using Reac...
ReactConf 2018: Developing Immersive cross-platform AR and VR Apps using Reac...ReactConf 2018: Developing Immersive cross-platform AR and VR Apps using Reac...
ReactConf 2018: Developing Immersive cross-platform AR and VR Apps using Reac...Pulkit Kakkar
 
Ferguson VR Hackathon - May 6, 2017
Ferguson VR Hackathon - May 6, 2017Ferguson VR Hackathon - May 6, 2017
Ferguson VR Hackathon - May 6, 2017Roland Olivier Dubois
 
React Native e IoT - Un progetto complesso
React Native e IoT - Un progetto complessoReact Native e IoT - Un progetto complesso
React Native e IoT - Un progetto complessoCommit University
 
Build UI of the Future with React 360
Build UI of the Future with React 360Build UI of the Future with React 360
Build UI of the Future with React 360RapidValue
 
Augmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real worldAugmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real worldUnity Technologies
 
Making Augmented Reality Applications with Android NDK
Making Augmented Reality Applications with Android NDKMaking Augmented Reality Applications with Android NDK
Making Augmented Reality Applications with Android NDKEvren Coşkun
 
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018Codemotion
 
Immerge yourself in a new Reality
Immerge yourself in a new RealityImmerge yourself in a new Reality
Immerge yourself in a new RealityMatteo Valoriani
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumAxway Appcelerator
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAJeff Haynie
 
sdc-2016-gvrf-and-io_public
sdc-2016-gvrf-and-io_publicsdc-2016-gvrf-and-io_public
sdc-2016-gvrf-and-io_publicRick Lau
 
Augmented reality
Augmented realityAugmented reality
Augmented realitydzubovua
 
The tech. behind RoboBlastPlanet
The tech. behind RoboBlastPlanetThe tech. behind RoboBlastPlanet
The tech. behind RoboBlastPlanetJavier Abud
 

Ähnlich wie Byte Conf React Native 2018 (20)

AR and VR development tools and platforms
AR and VR development tools and platformsAR and VR development tools and platforms
AR and VR development tools and platforms
 
Building Your Robot using AWS Robomaker
Building Your Robot using AWS RobomakerBuilding Your Robot using AWS Robomaker
Building Your Robot using AWS Robomaker
 
Building AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptBuilding AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScript
 
Christine Perey (Perey Research & Consulting) A Survey of Commercial Enterpri...
Christine Perey (Perey Research & Consulting) A Survey of Commercial Enterpri...Christine Perey (Perey Research & Consulting) A Survey of Commercial Enterpri...
Christine Perey (Perey Research & Consulting) A Survey of Commercial Enterpri...
 
HoloLens.pdf
HoloLens.pdfHoloLens.pdf
HoloLens.pdf
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easy
 
ReactConf 2018: Developing Immersive cross-platform AR and VR Apps using Reac...
ReactConf 2018: Developing Immersive cross-platform AR and VR Apps using Reac...ReactConf 2018: Developing Immersive cross-platform AR and VR Apps using Reac...
ReactConf 2018: Developing Immersive cross-platform AR and VR Apps using Reac...
 
Ferguson VR Hackathon - May 6, 2017
Ferguson VR Hackathon - May 6, 2017Ferguson VR Hackathon - May 6, 2017
Ferguson VR Hackathon - May 6, 2017
 
React Native e IoT - Un progetto complesso
React Native e IoT - Un progetto complessoReact Native e IoT - Un progetto complesso
React Native e IoT - Un progetto complesso
 
Build UI of the Future with React 360
Build UI of the Future with React 360Build UI of the Future with React 360
Build UI of the Future with React 360
 
ARE 2011 AR Authoring
ARE 2011 AR AuthoringARE 2011 AR Authoring
ARE 2011 AR Authoring
 
Augmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real worldAugmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real world
 
Making Augmented Reality Applications with Android NDK
Making Augmented Reality Applications with Android NDKMaking Augmented Reality Applications with Android NDK
Making Augmented Reality Applications with Android NDK
 
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
 
Immerge yourself in a new Reality
Immerge yourself in a new RealityImmerge yourself in a new Reality
Immerge yourself in a new Reality
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with Titanium
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
 
sdc-2016-gvrf-and-io_public
sdc-2016-gvrf-and-io_publicsdc-2016-gvrf-and-io_public
sdc-2016-gvrf-and-io_public
 
Augmented reality
Augmented realityAugmented reality
Augmented reality
 
The tech. behind RoboBlastPlanet
The tech. behind RoboBlastPlanetThe tech. behind RoboBlastPlanet
The tech. behind RoboBlastPlanet
 

KĂźrzlich hochgeladen

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

KĂźrzlich hochgeladen (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Byte Conf React Native 2018

  • 1. Developing AR & VR Applications using React-Native
  • 2. Pulkit Kakkar Organizing Team Facebook Developer Circle: Delhi-NCR Independent Developer @pulkitkkr0 www.linkedin.com/in/pulkitkkr pulkitkkr@gmail.com &
  • 3. Agenda WhenHowWhyWhat All About the XR *X ∈ { A, V, M }
  • 4. History of UI & UX Punch Cards Key Boards Mouse
  • 5. History of UI & UX Touch Based UIs Voice Controlled UIs
  • 8. Is it all about just Entertainment ? Medical Army Training
  • 9. AR and it’s Applications
  • 10. Types of AR Systems Marker-Based Marker-Free
  • 11. Available AR Libraries 2) Unity-3D / Unreal • Need to learn C# scripting • Available ArCore & ArKit Binding • Really powerful, best if developing a game • Not much powerful for Uis when compared to React 1) React-Native ARKit / ARCore • Experimental • Wrapper around Native Code 3) React-360 • Only for VR • Limited 3D Models Support
  • 12. Cross Platform Development • Write once, run anywhere across all mobile AR (ARKit, ARCore) and VR (Cardboard iOS/Android, GearVR, Daydream) React Native Framework • Create apps using React Native, making it easy for web developers to get started. Powerful Renderer • Create stunning scenes with PBR, HDR, Realtime Lighting, Physics, Particles, and more. Rapid iteration • Use the free Viro Testbed app to view your app and see your changes quickly. No need to wait for recompile. It's like refreshing a browser. Docs • Extensive developer support and documentation.
  • 13. Getting Started with Viro 1) react-native init ViroSample --version=0.55.1 2) cd ViroSample 3) npm install -S -E react-viro 4) Get your API Keys from https://viromedia.com/ 5) Modify App.js to add your API Keys OR 1) npm i –g react-viro-cli 2) react-viro “ProjectName”
  • 15. Basic Componential Layout <ViroScene> - React-Native View - Node(s) to ViroNavigators - contains UI controls, 3D objects, lights, and more <ViroText> - Adds Text Like <Text> or <h1> - <h6> - Styled Like React-Native in general
  • 16. Positioning Systems Right Handed System - Negative Z inside - axis direction changed with rotation prop - to determine +ve rotation use thumb rule Left handed System - positive Z-axis Inside
  • 17. 3-D Objects • Viro have a really powerful 3-D Rendering Engine which runs on native thread and uses graphical hardware chip of device • It’s Lag free but need to use optimized 3-d Files and preferably low-poly files for mobile devices
  • 18. Supported 3-D File Formats .obj Files - No animations - No Conversion script required - need .mtl materials or list of textures .fbx Files - transformed to .vrx using script at ./bin/ViroFBX - supports skeletal animations - use <ViroDirectionalLight> .gltf Files - new format - JSON >> BIN >> PNG
  • 19. Sources for 3-D models Files Unity Assets Store - https://assetstore.unity.com/ - hundreds of thousands of paid and free models abailable Mixamo - Great project for making avatars - Animate them with hudreds of free and premium animations - https://www.mixamo.com SketchFab - a great place to search for free models - https://www.sketchfab.com Self Modeling - for Basics use MS Paint 3d - Blender with textures - Advanced Modeling MAYA 3d Google Low-Poly - A great open initiative by google - Free low poly models - Best suited models for low grade HMDs & Mobile AR Devices Turbo Squid - Another great place for free 3d Models - https://www.turbosquid.com
  • 20. 3-D Objects Code Demonstration
  • 21. Lightnings and it’s types You illuminate scenes in Viro by adding lights to your ViroNode(s) object. Ambient Light - illuminate all objects - illuminate from all directions - use <ViroAmbientLight> Directional Light - illuminates all objects in range - specified direction - use <ViroDirectionalLight> Spot Light - illuminate all objects in range - illuminated in cone specified by inner & outer angle - use <ViroSpotLight> Point Light - emitted from object - diverging sphere - use <ViroOmniLight>
  • 25. Particle Effects Viro's particle system enables developers to create and configure quad emitters for building complex and intricate particle effects. Some examples are smoke, rain, confetti, and fireworks. Image Source representing the particles to emit State the rate at which the particle emits and lives for Start the emitter
  • 26. When to use ViroReact ? 1) ARCore and ARKit Limitation are not an issue 2) Not a Graphic Intensive UI 3) Not building a full fledged Game 4) Not targeting High End HMDs (VR) or standalone AR HMDs 5) Targeting Both AR & VR and maximizing cross-platform code sharing
  • 27. Thank You Let’s build the future of UI/UX Together @pulkitkkr0 www.linkedin.com/ in/pulkitkkr pulkitkkr@gmail.com

Hinweis der Redaktion

  1. 1.) Greetings 2.) 3 - Key Terms Here a) Immersive Experience b) AR – VR – MR – XR (Common Reality) c) React-Native
  2. From India Started at the age of 16 Have Seen the web transitioning from ASP.Net to Jquery to React Worked on BlackBerry 10 , Nokia (PUN Intended) Finally chose Android Development and got Introduced to React Native
  3. ViroScene Vs ViroARScene VIroARSceneNavigator Vs ViroSceneNavigator 3) Generic : ViroSound, ViroText
  4. 1) Applications in ViroReact consist of Scenes, represented either by ViroScene or ViroARScene components. Scenes are the 3D equivalent of the Views found in most 2D application frameworks. They contain all the content that ViroReact renders in AR/VR: UI controls, 3D objects, lights, and more.
  5. By default, the camera is positioned at [0, 0, 0] and looks in the direction [0, 0, -1]. In frameworks with only 3DOF (3 degrees of freedom) support (like mobile VR), the camera stays at [0,0,0] until moved by the developer with the end user only able to control the rotation of the camera. On the other hand, 6DOF (6 degrees of freedom) supported frameworks allow the end user to move about their world and move the camera in the Viro Scene in response (like in AR)
  6. FBX models support skeletal animation. Skeletal animation is a hierarchical technique for animating complex geometries like humanoids. Viro supports these animations through its standard animation system. To run a skeletal animation, simply set the animation's name to the name given to the animation in the FBX file. For example, if the FBX file had an animation called "Take 001", you would run the animation like this: 2) GLTF a) A JSON-formatted file (.gltf) containing a full scene description: node hierarchy, materials, cameras, as well as descriptor information for meshes, animations, and other constructs b) Binary files (.bin) containing geometry and animation data, and other buffer-based data c) Image files (.jpg, .png) for textures