Skip to content

isislab-unisa/CrossWarp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues project_license


CrossWarp

A cross-reality framework for seamless collaboration between different AR/VR users.

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

📖 About The Project

CrossWarp

CrossWarp is a framework that unifies mobile AR devices (Android and iOS) and desktops into a single collaborative ecosystem. It not only ensures seamless transitions between the physical and virtual worlds but also provides a device-independent architecture designed to maximize interoperability. The system enables co-present users, such as two people using AR-enabled smartphones, to manipulate shared objects in real time while preserving their state and context, regardless of the platform used.

(back to top)

🛠 Built With

  • Unity
  • ARFoundation
  • XRIT
  • Photon
  • Csharp

(back to top)

🚀 Getting Started

To get a local copy up and running follow these simple example steps.

📌 Prerequisites

Unity 2022.3 or later must be installed, to install it you can use Unity Hub.

🔧 Installation

  1. Install Photon Fusion following the instructions on the Photon website (https://doc.photonengine.com/fusion/current/getting-started/sdk-download).
    • Add your AppID in the Photon Fusion configuration
  2. Install CrossWarp via the Unity Package Manager by following these steps:

⚙️ Configuration

After importing, some parameters need to be configured in Project Settings:

  • In XR Plugin Management, enable ARCore or ARKit, depending on the target platform.
  • In XR Plugin Management, run Project Validation to detect and fix any configuration issues.
  • In Player → Other Settings, disable the Vulkan Graphics API.
  • In Player → Other Settings, change the Scripting Backend to IL2CPP and enable ARM64 support.

(back to top)

🎮 Usage

Once the installation is complete, you can use the components provided by CrossWarp to develop Cross-Reality experiences. The package includes example scenes demonstrating the core components, including the integration of interactive objects with physics mechanics. These examples can be imported and used as a foundation for building new collaborative and immersive applications.

By examining the HouseScene included in the package, you can see how to configure the environment for Cross-Reality experiences. The key components are:

  • AR Scene Objects: XR Interaction Manager, AR Session, XR Origin
  • Photon Configuration Objects: Prototype Network Start, Prototype Runner

Product Name Screen Shot

The House object contains all the static elements of the house structure that do not interact with CrossWarp. In contrast, objects like SofaDouble, SofaArmChair, TableRectangleShort, and LampTall are designed to be transported between different realities.

How To Configure Objects

To enable an object to be transported between different realities, you need to configure specific components within it:

  • AR Anchor
  • Outline
  • Collider (customized based on the object)
  • Network Object
    • with AllowStateAuthority set to true
  • Movable Object
  • Transition Manager

With these components configured, any type of object can seamlessly transition between the two worlds.

(back to top)

🛤 Roadmap

  • Support for Head-Mounted Displays VR/AR
  • ContainerObjects
  • Physical objects prefabs

See the open issues for a full list of proposed features (and known issues).

(back to top)

🤝 Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Top contributors:

contrib.rocks image

📜 License

Distributed under the Apache License 2.0. See LICENSE.txt for more information.

(back to top)

📧 Contact

Vincenzo Offertucci - Linkedin

Project Link: https://github.com/isislab-unisa/CrossWarp

(back to top)

🎖️ Acknowledgments

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages