Skip to content

LocAR.js - A standalone location-based AR project within the AR.js organisation.

License

Notifications You must be signed in to change notification settings

AR-js-org/locar.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LocAR.js

Location-based AR from AR.js.

What is this?

LocAR.js is an AR.js project to develop a library focused specifically on location-based augmented reality in the browser. Currently it consists of the location-based three.js code from the main AR.js repository, with some minor changes to make it compatible with latest versions (0.169.0 at time of writing) of three.js.

Why?

Location-based AR has been part of AR.js for a while now, however the location-based component is essentially entirely independent of the marker-based and NFT components. Thus it makes sense to separate it out into its own project so that, for example, its dependencies (primarily three.js) can be updated without breaking the rest of AR.js and likewise, the code can be altered to ensure compatibility with the latest three.js without similarly breaking the remainder of AR.js. It also means that developers can work on the location-based aspect without having to understand the marker-based and NFT side, and also means that there is no need to include jsartoolkit.

Using the modern build tool Vite

The opportunity has also been taken to move to the modern and user-friendly build tool Vite, with the hope that this will improve the development and maintenance experience.

Roadmap - investigating long standing bugs and issues

For a while there have been some bugs and issues with location-based AR.js which are thus far unresolved (e.g #278 or #590 ), which we hope can be investigated more easily with a standalone project (subject to our time availability of course - which is why we need developers and maintainers!). It's also hoped that the move to the more friendly Vite build system will help resolve some of the occasional issues that occur with importing ES6 modules (e.g. issue 607 ).

Some of these issues, such as incorrect North on some devices, may well be to do with incorrect or mis-calibrated sensors but the hope is that the standalone library will help to verify this and, if certain devices have North wrong by a consistent bearing, to develop a calibration tool.

For this reason, the focus at present will be on developing a pure three.js version only. When we believe that the key bugs and issues have been resolved, the plan is to then provide an A-Frame wrapper.

Using the library

The library will eventually be published to npm. For now, you should build a library tarball locally with

npm run build

Then you can use the library in your projects with:

import * as LocAR from 'locar';

as long as you install the tarball locally into your projects, e.g. in your package.json:

"dependencies": {
   "locar" : "file:location-of-the-tarball.tgz",
   "three" : "^0.169.0"
}

Including the library bundle directly as an import has issues with duplicate three.js imports which we have not resolved, so we recommend the approach above.

Disclaimer

This is an open-source project licensed under the MIT License and thus comes with no warranty. Also it is a volunteer-led project; work on the project by AR.js maintainers or any other contributor will be undertaken time-permitting only. For this reason we welcome contributors! The more people working on the project, the more likely it is that it will become full-featured and issues will be resolved.

About

LocAR.js - A standalone location-based AR project within the AR.js organisation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published