Posts by 360labs

    Thanks klaus,

    I have 1.22.2, I could try and swap for 1.22.3. Do I need to have the recent license upgrade for this feature?

    Unfortunately I have a weird set of images my client gave to me, they're equirectangular, but cropped into strips. So the voffset makes distortion worse near the top and bottom. The panos aren't a true cylindrical projection, but they want them to behave like cylindrical, they don't want any up/down motion, only horizontal panning. It's been very difficult to make them look right, some need to set as cylinders, others may need to be set as flat.

    I'm not experienced working with cylindrical panoramas with limited vertical FOV, how do I setup a cylindrical 360 panorama strip to be able to pan horizontally all the way around? When I get to the edge of the image, krpano bounces me back instead of allowing me to continue spinning.

    The images are 360, tiles were created with makevtour - which made the XML define images as FLAT by default. I've tried changing it to CYLINDER or SPHERE but it still stops and bounces back when I get to the edge. What do I need to change about this to get krpano to consider the image 360?

    Here's the krpano mkvtour scene code:

    <scene name="scene_Cafe_CROP" title="Cafe_CROP" onstart="" thumburl="panos/Cafe_CROP.tiles/thumb.jpg" lat="" lng="" alt="" heading="">
            
    <control bouncinglimits="calc:image.cube ? true : false" />

    <view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="0" fovmin="70" fovmax="140" limitview="auto" />

    <preview url="panos/Cafe_CROP.tiles/preview.jpg" />

    <image hfov="1.00" vfov="0.275298" voffset="0.00">
    <flat url="panos/Cafe_CROP.tiles/l%l/%0v/l%l_%0v_%0h.jpg" multires="512,3328x916,6720x1850" />
    </image>

    </scene>

    Is there a way to execute an action only 1 time when krpano initially loads?

    What I'm trying to do is run some javascript to append the XML relative path on some plain HTML inside of a data element. So I'm using the value from krpano.network.firstxmlpath, and then with javascript I'm adding it to the existing SRC attribute in image tags with a certain CSS class. I'm using this method instead of the %FIRSTXML% placeholder because the placeholders don't work in plain HTML inside of a data element.

    This all worked fine, right up to the point where I deploy my tour to a CDN. Because the XML is on the CDN and the HTML is on the web server, krpano hasn't finished it's output when my scripts are running. It's a mess, sometimes it works, sometimes not. So what I'd like to do is relocate the scripts to the XML. I can run them in an action with onloadcomplete, but the problem is that every time a new scene is loaded, they run again. I only want them to execute once, after the tour's 1st load.

    I've tried to change the value of event[MyEvent].onloadcomplete within my action to a blank value (so it won't run again), but for some reason the value of onloadcomplete will not change.

    Good to know, thanks! The problem I'm having is that an onclick inside of HTML in a data element is not working at all on Android devices (haven't tried iOS). They seem to do nothing at all, so I thought perhaps the krpano calls were not working when using krpano.actions.loadscene. They work fine on desktop. Now that I finally got debugging working on my phone, the console shows me that krpano is defined, but there's no error happening when I tap the onclick links. So I'm kinda stumped.

    Oh, ok! I was under the impression after reading the docs that the SWFObject method would not work on mobile devices, and assumed that's what my problem was when my krpano calls for loadpano were not working on an Android device. Could be an entirely different problem like layer order, I'll dive into it.

    I'm finding a few different ways to do this in the documentation and it's a bit confusing. What is the correct way to make the global krpano variables available via the JavaScript Interface for HTML5 on mobile devices?

    I am able to successfully use this for desktop and it works fine:

    Code
    krpano = document.getElementById("krpanoSWFObject").get("global");

    Obviously that doesn't work on mobile devices because the krpanoSWFObject does not exist. However, when I follow the instructions here to make it work for HTML5, I get an error in the console that krpano is not defined - even though I am defining it with an onready callback function in the embedpano script.

    Code
    krpano = krpano.get("global"); // -- is always undefined!

    Could anyone give me a little guidance on how this is supposed to work?

    I'm creating a custom menu with my own markup, and using HTML within a data element, I have external javascript so I need my markup to have the appropriate CSS classes. When I try and use loadscene() from an onclick event, the console is telling me loadscene is not defined. Is there a better way to link directly to a scene from HTML?

    I could do it by using layers instead, and in that case loadscene would work - but I need a way to add classes or IDs to the layer elements so I can target them. I tried following this thread, but I am not seeing that any IDs were added to the DIV when I inspect those elements. Layers also don't really "float" relative to each other (which breaks my nice collapsible menu), so I'd prefer figuring out what I need to do to load a scene from an onclick in HTML data.

    Anybody have any ideas?

    I'm building a tour on krpano 1.20.6 that incorporates 360 video through the Vimeo API, which is authenticated and seems to be working on every other device such as Android or Windows Desktop (in all browsers) but not iOS. On iOS devices, the video sound plays but the video never starts. The console shows the cross domain security error, "SecurityError: (DOM Exception 18): The operation is insecure"

    I did some research and found out this bug was supposed to have been fixed as of iOS 11.1, but on many test devices with newer versions of iOS I'm getting this error and 360 videos refuse to play. Has anybody found a way to work around this?

    Thanks so much! When I used a trace with debug mode enabled, I confirmed my suspicion that since I am using a flat gigapixel, the FOV values were decimals. Once I had the right numbers, it started working as expected. I then added another action prior to the set to loop through all hotspots so that every spot in the scene turns off at the desired zoom level. Works great.

    Getting this in the console with that code:
    ERROR: js_show_hs - SyntaxError: Unexpected identifier

    I've tried with a basic action to set the visibility, but it doesn't seem to update the status of the hotspot. I'm assuming maybe it's because nothing is reloading.

    Try this code (not tested)

    So I just tried this with 1.20.5, the zooming works well but the new tiles don't seem to load at the correct levels. I have to set the max zoom to a very high level and zoom in very far for new tiles to load. I feel like the tiles should be loading at different (earlier) zoom levels. Is there a way to adjust that? I only want my users to be able to zoom at 10x, but the next set of tiles never load, so at max zoom you are just looking at a blurry image.

    I found the solution to this, I figure I might leave this here for anyone else having this problem. There's an "onvideocomplete" event baked in to the vtourskin.xml. If you are basing your own skin on the standard XML, you can go in and comment out that line. Look for onvideocomplete in vtourskin.xml. I didn't need it for anything else, so commenting out this line didn't hurt anything. Once I did that, my onvideocomplete event in tour.xml was behaving as expected.

    I'm trying to add a 360 video as an option in a virtual tour, where the user selects it from a menu to take a guided linear tour. When they finish watching it, I want to take them back to the main menu scene. It works fine, but onvideocomplete doesn't seem to be working. The screen goes black when the video finishes, and nothing else happens. For some reason it doesn't seem like onvideocomplete is firing. My code for this scene is below. Is there a better way for me to go about doing this? I just want it to load scene scene_SFS_00 when the 360 video is finished playing.

    We use krpano on our website for 360 backgrounds, for example, on our home page at http://360labs.net. We remove all user controls, and disabled all interaction. I have noticed that on my Android device (Samsung Galaxy S8), when viewing the website in the Chrome Browser, if I rotate my phone from vertical to horizontal - the krpano from my background element takes over the mobile screen in full screen. I have to swipe down and use the back button to escape it. Since this is just a background element, I don't want this to happen. Is there a way to disable it?

    We've got a newer build of krpano 1.19pr10 as a custom 360 video player and successfully tested locally, but after moving it to our web server, we get network loading errors.

    The 360 video initially loads and plays just fine, but if we skip ahead to a point of the video that hasn't been buffered, we get a network error. If we try to switch resolution from 2k to 1k, we get a network error. Despite the network error claiming the file could not be loaded - the files are in fact there and the paths are correct.

    I seem to have no issues with Internet Explorer, this is only happening in Chrome. So I am guessing this may be related to Chrome and it's stringent security policies. I get the same errors on Chrome for Android. But all files are served from the same domain. I've tested videointerface_addsource paths with the FULL URL with domain, and paths relative to the domain root - and still got network errors on Chrome with both. Is there anything else I should try?