GithubHelp home page GithubHelp logo

prosysim-xr / extended-reality-roadmap Goto Github PK

View Code? Open in Web Editor NEW

This project forked from priyanshu-coderx/extended-reality-roadmap

0.0 0.0 0.0 142 KB

All in One place for the best resources to learn Augmented Reality with comprehensive and detailed roadmaps.

License: Apache License 2.0

extended-reality-roadmap's Introduction


Logo

The Only Resource You Will Need For Learning Extended Reality

All in One place for the best resources to learn Augmented Reality with comprehensive and detailed roadmaps.
Vist Our Website

Join Antern Community and Ask Your Questions There.

Extended Reality Roadmap - Augmented Reality

  • Extended Reality is a vast domain of immersive and spatial computing and can get really hard to find the best resources for learning Extended Reality. This repository compiles the best possible resources on XR out there, this is a very detailed and comprehensive roadmap with loads of amazing resources to learn from.

  • It contains the best resources to learn Augmented Reality, Virtual Reality and Mixed Reality from scratch along with all the necessary tools such as Unity Engine, Vuforia, Spark AR, Lens Studio, AR Core and AR Foundation.

  • This roadmap is designed in such a way that anyone who doesn't have any experience with developing softwares can start developing Augmented Reality, Virtual Reality and Mixed Reality applications without any extra hassle.

  • The roadmap will help you get started with Extended Reality development by following a level based approach and it's recommended to everyone to go through the prerequisite content before hopping onto learning to develop XR Applications.

  • It covers all the essential tools that a developer uses to develop their augmented reality experiences and launch them on PlayStore, AppStore, Instagram, Snapchat, etc.

⭐ Table of Contents

I have categorized the resources into different levels of learning and have included the best resources for each topic.

  • Fundamentals of Programming with C#
  • Fundamentals of Unity Engine
  • Fundamentals of Extended Reality and Best Practices
  • Building Markerbased Augmented Reality with Vuforia Engine
  • Building Markerless Augmented Reality with AR Foundation
  • Building Augmented Reality Experiences with Lightship ARDK
  • Building Social AR Experiences
  • Resources To Grow As A Developer
  • Resources To Download Assets

📝 Prerequisites For The Roadmap

Topic Resources
Fundamentals of Programming with C# C# Fundamentals for Beginners, Learn C# in One Day and Learn It Well by Jamie Chan (Book), Learn C# From Microsoft
Fundamentals of Unity Engine Unity 2022 Beginners Course, Unity Essentials by Unity Learn, Basics of Unity Engine
C# For Unity Engine Beginner Friendly C# for Unity, Intermediate C# for Unity, Learning C# by Developing Games with Unity 2021 by Harrison Ferrone (Optional Book)

Recommended 💁: If you're new to C# and Unity, we highly recommend going through the prerequisites first. These resources cover all the necessary components related to C# scripting in Unity and will help you get up to speed quickly. By mastering these fundamentals, you'll have a solid foundation to build on as you explore more advanced topics in Unity development. So take your time and enjoy the learning process!

Now that we have completed the prerequisites, it's time to dive into the exciting world of Augmented Reality, Virtual Reality, and Mixed Reality. You can start learning the fundamental concepts of these technologies in-depth, and explore the endless possibilities they offer. It's an exciting journey, and we hope you enjoy every step of it!

🖥️ Level One: Fundamentals of Extended Reality and Best Practices

Topic Resources
Fundamentals of Extended Reality Fundamentals of Extended Reality, Introduction to AR/VR/MR/XR: Technologies, Applications and Issues
Fundamentals of Mixed Reality What is Mixed Reality, What are Holograms, Types of Mixed Reality Applications
Designing XR Applications XR Design Process, Design Thinking Ethics and Guidelines, UX Design Principles for Augmented Reality, Designing VR Applications
Best Practices for Developing & Designing XR Applications Designing AR Applications by Google'18, Things to know while creating XR Applications, AR Best Practices, Designing AR Applications by Google'19

Developer Tip 1 ⚒️: For anyone learning to develop and deploy Augmented Reality applications, it's highly recommended to follow a proper pipeline. This helps ensure a smooth and efficient development process, and improves the overall quality of the final product. It's a good idea to use this pipeline as a guide whenever working on XR projects, as it can save you time and help you avoid potential issues down the line.

Topic Resources
Extended Reality Development Pipeline XR Development Pipeline, XR Development Pipeline Structure

🖥️ Level Two: Developing Markerbased Augmented Reality Applications with Vuforia Engine

Learning Tip 1 ⚒️: As a developer, relying on documentation is crucial when building Augmented Reality Experiences with various tools. Documentation serves as our best friend because it continually evolves, reflecting updates and changes in the features and mechanisms of these tools. Consequently, tutorials often become outdated and obsolete. Therefore, it is highly recommended to consult the documentation thoroughly throughout the development process to ensure accurate and up-to-date information.

Topic Resources
Introduction to Markerbased Augmented Reality Markerbased AR in Depth, Theory and Applications of Markerbased Augmented Reality (Optional but really beneficial)
Introduction to Vuforia Engine Fundamentals of Vuforia Engine, Getting Started with Vuforia
Multiple Image Tracking Multi Image Tracking with Vuforia, Vuforia Simultaneous Tracking
Vuforia Virtual Buttons Theory & Implementation Virtual Buttons, Best Practices, Configuration and Implementation of Virtual Buttons

Developer Tip 2 ⚒️: If you're looking to develop Augmented Reality (AR) applications using Vuforia and Unity Engine, it's important to start with the basics and follow best practices. Developing AR apps using Vuforia and Unity with a proper development pipeline can help you gain a solid foundation and understanding of the tools involved. This will make it easier to transition to more advanced Markerless AR development in the future and help you create better AR experiences overall.

🖥️ Level Three: Developing Markerless Augmented Reality Applications with AR Foundation

Topic Resources
Introduction to AR Foundation and AR Core Getting Started with AR Foundation and AR Core (Documentation) , More About AR Foundation (Documentation)
Core Concepts of AR Core Fundamentals of ARCore
UX Design Principles of ARCore User Experience Design Guidelines for Augmented Reality
Setup AR Foundation and AR Core Setup AR Foundation and AR Core for Markerless Augmented Reality Development with Unity Engine

Developer Tip 3 ⚒️: To ensure a smooth build process for AR Core applications in Unity Engine, it is recommended to use the IL2CPP scripting backend instead of Mono. Additionally, make sure to enable ARM64 support for supporting 64Bit Architecture for your target platform. This will help avoid any potential errors during the build process.

Topic Resources
Plane Tracking in AR Foundation Configuring Plane Detection and Tracking (Video), AR Plane Manager (Documentation)
Ray Casting & Place Objects in AR Object Placement with Raycasting (Video), AR Raycast Manager (Documentation)
Multiple Object Placement Multiple Object Placement with Raycasting (Video), AR Raycast Manager (Documentation)
Augmented Faces and Face Tracking Introduction to Augmented Faces (Documentation), Tracking Faces with AR Foundation (Article), AR Face Tracking (Documentation)
Image Tracking Image Tracking with AR Foundation (Video), Augmented Images (Documentation), AR Tracked Image Manager (Documentation)
Light Estimation Introduction to Light Estimation (Article), Integrating Light Estimation with AR Foundation (Documentation), Implementation of Light Estimation (Code)
Realtime Occlusion What is Occlusion? Why Does it Matter?, AR Occlusion Manager,Integrate Realtime Environment Occlusion with AR Foundation, Integrate Human Occlusion with AR Foundation (Only Works on iPhone's with ARKit)
AR Anchors Fundamentals of Anchors, AR Anchor Manager, AR Anchor Manager, Implement Local AR Anchors, Persistant Cloud AR Anchors, Implement Cloud AR Anchors,

Learning Tip 2 ⚒️: A great way to learn about tools and mechanisms is to build micro-projects yourself. It's recommended for everyone to try this approach as it offers a hands-on learning experience. By working on small projects, you can gain a better understanding of how these tools and mechanisms work and improve your skills.

🖥️ Level Four: Building AR Experiences with Lightship ARDK

Learning Tip 3 ⚒️: As you progress to Level Four, it is important to have sufficient experience with C# as the concepts and implementations you encounter may become more complex. However, do not worry as long as you carefully follow the documentation, which provides guidance on Lightship ARDK, you will gain a better understanding.

Topic Resources
Integrate Lightship ARDK with Unity Getting Started with Lightship ARDK, Install Lightship ARDK
Lightship Authentication Authenticate Lightship ARDK License
Deploy ARDK Applications to Android/iOS Build ARDK for Android Systems, Build ARDK for iOS Systems
Lightship ARDK Feature Managers Understanding The Working of Feature Managers
Requesting Permissions Request Necessary Permissions for Mobile Devices
Object Placement & Hit-Testing Basic Object Placement, Hit-Testing
Depth & Realtime Object Occlusion Implement Realtime Depth Based Occlusion, Realtime Depth Texturing
Realtime Meshing and Object Collisions Fundamentals of Meshing, Getting Started with Meshing, Meshing with Object Collision
Realtime Semantic Segmentation Querying Semantics, Semantic Texturing using CopyToAligned, Semantic Segmentation Textures using Shaders
ARDK Shared AR Getting Started with Shared AR, Shared AR Sessions and Plane Tracking, Shared AR Hosts and Peers Communication
Lightship Visual Positioning System Introduction to Lightship VPS, Building with VPS,
Scanning Framework Implement Scanning Framework, Scanning Parameters and Settings

📱 Level Five: Building Social AR Experiences

Social AR experiences are augmented reality applications that enable multiple users to interact and collaborate in real-time within a shared AR environment. These experiences combine the power of AR technology with social networking capabilities to create a new form of social interaction.

Instagram and Snapchat are examples of social media platforms that have integrated Social AR Experiences into their applications. Both platforms use AR technology to create interactive filters and effects that users can apply to their photos and videos, allowing them to share fun and creative content with their friends and followers.

Instagram's AR effects, also known as "Spark AR effects," can be created using Meta's Spark Studio, a platform that enables developers to build and publish AR experiences for Instagram and Facebook. Instagram users can access these effects through the app's camera feature and apply them to their photos and videos.

Snapchat, on the other hand, has been a pioneer in AR technology, with its lenses and filters being some of the most well-known examples of Social AR Experiences. These AR effects are created using Snapchat's Lens Studio, which allows developers to build custom AR experiences that users can interact with through the app's camera feature.

Overall, Instagram and Snapchat's integration of Social AR Experiences into their platforms has created a new form of social interaction that enables users to engage with each other in fun and immersive ways.

🥸 Meta Spark Studio

Course Level Resources
Beginner Quick Start Course for Meta Spark Studio
Intermediate Fundamentals of Meta Spark Studio
Advanced Advanced Concepts of Meta Spark Studio
Documentation Documentation for Meta Spark Studio

🥸 Snapchat's Lens Studio

Course Level Resources
Beginner Quick Start Course for Snapchat Lens Studio
Intermediate Building Fashion Try On Lenses
Intermediate Building Location Based AR Lenses
Documentation Documentation for Snapchat's Lens Studio
Additional Resource Extra Content for Meta Spark Studio & Lens Studio

📈 Resources To Grow As a Developer

Topic Resources
Version Control Systems with Git and Github Git and Github for Beginners - FreeCodeCamp, Git & Github for Unity Engine - Infallible Code
C# Coding Style Guide C# Coding Style Guide by Google, C# Coding Convention by Microsoft
Clean Code Clean Coding for Beginners - FreeCodeCamp, Clean Code by Robert C. Martin
SOLID Principles SOLID Principles with C# by InterviewBit, SOLID Principles in C# by Educative
Design Patterns Design Patterns by Refactoring Guru, Game Programming Patterns
Code Refactoring Code Refactoring by Refactoring Guru

⛵ Resources To Download Assets

🧑‍🚀 3D Models

❄️ Textures

🌏 HDRI

🤔 What's Coming Next?

This repository is continuously evolving, with ongoing work to expand its content. We have exciting plans to introduce additional topics in the future. Stay tuned as we enrich the repository with a wider range of subjects.

  • ✅ Comprehensive Roadmap for Virtual Reality
  • ✅ Comprehensive Roadmap for Mixed Reality
  • ✅ Detailed Guide on Building Job Oriented Resume
  • ✅ Detailed Project Guides for Extended Reality
  • ✅ Detailed Guide to Cracking Interviews
  • ✅ Loads Of Free Courses

extended-reality-roadmap's People

Contributors

priyanshu-coderx avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.