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

Collision between 2 2D Billboard Sprites

  • The easiest way to check for the "collision" on the billboard objects is to do a distance check between the two billboard objects. When the billboards are within some tunable distance, treat them as collided. Here's a little example script that shows this principle. Note for billboards, you want to use the SpriteAligner's binding point for their position rather than transform position which you'll see in the script below. 

    Add this script to an empty object and bind it to the Frame Updated event. Then, you can move the billboards in the editor. When they get close to each other, "COLLIDE" will be printed to the logger. You should be able to take this logic and build it into your use case. 

    // -----JS CODE-----
    // @input Component.SpriteAligner billboardA
    // @input Component.SpriteAligner billboardB
    // @input float collideDistance = 0.25

    var posA = script.billboardA.bindingPoint;
    var posB = script.billboardB.bindingPoint;
    var distance = Math.abs( posA.distance(posB) );

    if( distance <= script.collideDistance ) {
    print( "COLLIDE!" );
    }
    else
    {
    print( "NO COLLIDE, Distance: " + distance );
    }
    Comment actions Permalink
  • So I was trying to do get two objects to collide and the remove one object I tried the destroy() but not working so kept it simple and just deactivted.

    no script error but no result either....

    have world camera on so went with global. get transform of get posiotion

    not sure what I missed here; any thoughts

     

    // -----JS CODE-----
    // @input SceneObject objectA
    // @input float collideDistance = 0.25
    // @input SceneObject ObjectB

    var objA = script.objectA.getTransform().getWorldPosition();
    var objB = script.objectB.getTransform().getWorldPosition();

    var distance = Math.abs( objA.distance(objB));

    if( distance <= script.collideDistance ) {
        print( "COLLIDE!" );
           script.ObjectA.enabled = false;

    }
    else
    print("missed");
    {
    }
    Comment actions Permalink
  • ok  I think my actual scence is bit messed up tried on two boxes no issue

    // -----JS CODE-----

    // @input SceneObject objectA

    // @input float collideDistance = 0.25

    // @input SceneObject objectB




    var objA = script.objectA.getTransform().getWorldPosition();

    var objB = script.objectB.getTransform().getWorldPosition();




    var distance = Math.abs( objA.distance(objB));




    if( distance <= script.collideDistance ) {

    print( "COLLIDE!" );

    script.objectA.enabled = false;




    }

    else

    print("missed");

    {

    }
    Comment actions Permalink
  • 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!