Bring augmented reality to Unity by tracking ArUco markers in real time. Standard mono cameras, such as webcams, but also stereo cameras and fisheye lenses are supported.
Left: AR Roll a ball. Right: The markers tracking allows to extend the phone’s screen.
ArucoUnity.package in your Unity project.
A typical workflow with ArucoUnity is:
- Create Markers, print and place them in the environment.
- Calibrate a Camera using a calibration board.
- Track Markers.
See the documentation online for details: https://normanderwan.github.io/ArucoUnity/.
- For any question or comment, please open a new issue.
- If you’d like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.
I’m developing the second version on my own. If this project helped you, please consider buying me a coffee in return 😃
See the LICENSE file for license rights and limitations (3-clause BSD license).
See https://github.com/NormandErwan/ArucoUnityPlugin/tree/master/3rdparty for the OpenCV license. ArucoUnity uses the following modules: aruco, cablid3d, ccalib
The OpenCV’s Aruco module implements this paper:
Garrido-Jurado, S., Muñoz-Salinas, R., Madrid-Cuevas, F. J., & Marín-Jiménez, M. J. (2014). Automatic generation and detection of highly reliable fiducial markers under occlusion. Pattern Recognition, 47(6), 2280-2292.
The fisheye calibration operated with the OpenCV’s ccalib module is based on these papers:
Mei, C., & Rives, P. (2007, April). Single view point omnidirectional camera calibration from planar grids. In Robotics and Automation, 2007 IEEE International Conference on (pp. 3945-3950). IEEE.
Li, B., Heng, L., Koser, K., & Pollefeys, M. (2013, November). A multiple-camera system calibration toolbox using a feature descriptor-based calibration pattern. In Intelligent Robots and Systems (IROS), 2013 IEEE/RSJ International Conference on (pp. 1301-1307). IEEE.