Search Unity

  1. Unity 2019.4 has been released.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  3. Ever participated in one our Game Jams? Want pointers on your project? Our Evangelists will be available on Friday to give feedback. Come share your games with us!
    Dismiss Notice

How to scan the positions and orientations of cards (possible duplicates) for a board game?

Discussion in 'AR' started by VogtsD, Jun 12, 2020.

  1. VogtsD


    Feb 17, 2016
    We're trying to make an AR board game (for kids) that uses the positions and orientations of physical cards on the board game along with an AR app to add some "magic" to the game. One of the issues is that duplicate cards are allowed. The aim is to have a scanning process that reads in all the cards (their types, positions and orientations) at the end of a round before the "fun" AR stuff happens. During this scanning process, the cards will not be moved.

    We've achieved limited success using Vuforia and VuMarks for each card, with no duplicate cards. The scanning process works (mostly), however, it is still dodgy some times and cannot handle duplicate cards. It is still not really usable for an actual board game - at least if I was a kid, I wouldn't want to play a board game with dodgy scanning.


    A possible solution for the scanning process we were considering was:
    1. have one (or more) anchors on the board game where at least one anchor is always visible so that a global position is always known;
    2. the camera is slowly moved around the board scanning the cards for their positions and orientations relative to the anchor(s); and
    3. when one of the cards has been recognised, record this information and create a child non-AR object placed relative to an anchor. Then mask out its area in the camera input stream. This masked out area of the camera feed must not be used by the image recognition parts of ARCore/Vuforia, etc. Theoretically we could then have duplicate cards being recognised and ignore parts of the camera feed that do not lie within the board's area.
    So my question is, is it actually possible to have a pre-processing step in the AR process that can do this "masking" or some other way of ignoring parts of the camera feed?

    Or does someone have another idea on how the scanning process can be accomplished?