The forum on this site is closed for new comments and posts. Continue the conversation in our Snap AR Discord server.

how can I look away from a marker and still see my 3D object anchored to the location?

  • Hi Campanoodle,

    There is a way to do this, but it's not ideal because not all devices support it. If you go down this route, make sure you have a way to fallback to other behavior.

    The basic plan is:

    1) Use Device Tracking component with World tracking mode to position the camera based on real world movement

    2) Place a dummy object under the Marker tracking component, so that it updates its position based on marker tracking

    3) Your actual marker content (graphic, character, etc) should be on its own, outside of the Image Marker hierarchy. Let's just call this "Content".

    4) A script should disable Content on initialization and then monitor the Marker Tracking component. As soon as marker tracking begins, Content should be reenabled. Whenever marker tracking is occurring, the Content position and rotation should be updated to match the dummy object under marker tracking.

    The result of this is that whenever marker tracking is available, the Content will be positioned to match the marker. When marker tracking is not available, Content will rely on device tracking to keep it positioned correctly. 

     

    Here's a simple example of this script:

    // @input Component.MarkerTrackingComponent markerTracking
    // @input SceneObject dummyObject
    // @input SceneObject contentObject

    script.contentObject.enabled = false;

    var tran = script.contentObject.getTransform();

    var tracker = script.markerTracking;
    var targetTran = script.dummyObject.getTransform();

    script.createEvent("UpdateEvent").bind(function(){
        if (tracker.isTracking()) {
            script.contentObject.enabled = true;
            tran.setWorldPosition(targetTran.getWorldPosition());
            tran.setWorldRotation(targetTran.getWorldRotation());
            tran.setLocalScale(targetTran.getWorldScale());
        }
    });

     

    Again, be careful with this because it will only work on devices that support World tracking mode. You may want to fallback to some other behavior if it's not supported.See the Device Tracking API page for a full list of methods available. It will probably look something like this:

    if (script.markerTracking.isDeviceTrackingModeSupported(DeviceTrackingMode.World)) {
    // Do full behavior
    } else {
    // Do fallback behavior
    }

    Let me know if you have any more questions!

    Jacob

    Comment actions Permalink
  • Jacob hey man! Is there any way to provide us with a sample project of this working? I can't seem to get the world tracking to work...

     

    THANKS a million

    Comment actions Permalink

We're here to help! We just need a little bit of information...

What system are you using?

Have you downloaded the latest version of Lens Studio?

Please download the latest version of Lens Studio. If you still run into this issue, please come back and report it!

Is this issue causing Lens Studio to crash?

What system do you run Lens Studio on?

Version

Graphics

Follow the next steps to help us solve your issue:

  • Copy and paste this text into your TerminalCommand Window
    open ~/Library/Preferences/Snap/Lens\ Studio/ %LOCALAPPDATA%\Snap\Lens Studio Copy Text
  • Press ReturnEnter to run the command. The Lens Studio folder will automatically open
  • Prepare to upload your files: zip the "Log" Folder by right-clicking and choosing "compress."
    Locate the Log.txt file right above it.

    Attach a screenshot of the issue:

Name:

Email:

What is this most relevant to?

Please enter a brief description of your issue:

Thanks for submitting this issue.

Unfortunately, it's likely due to the operating system or hardware you're using – since they don't meet the system requirements for Lens Studio.

Still, we hear you loud and clear, and are logging the issue in case there's ever a workaround we can provide!

Minimum Requirements

Operating System: Windows 10 (64 bit); MacOS 10.11+

Hardware: Minimum of Intel Core i3 2.5Ghz or AMD Phenom II 2.6Ghz with 4 GB RAM; Intel HD Graphics 4000 / Nvidia GeForce 710 / AMD Radeon HD 6450 or better; screen resolution of 1280x768 or higher

We'll try to resolve this issue as soon as possible. Thanks for letting us know about it!

Keep an eye out for a followup email from us. We may have a couple more questions for you, or we might already have a solution to offer.

Happy creating!