PDA

View Full Version : Pano Orientation


gabi_jackass
05-08-2008, 08:33 PM
Hello,

I’m currently building a virtual tours portal. First I’ve used ImmerVision components but because the Flash version was not customizable enough I’ve searched for a different component and I’ve finally chose FlashPanoramas.

I really like it because is a Flash component and very customizable. I have only one problem. The ImmerVision components have a way of keeping the orientation of the tours when navigating through them by specifying the North Pole position for every picture and this way it was keeping the orientation when clicking a hotspot to navigate to another picture.

Maintaining the orientation is very useful because I plan to cover my city with virtual tours at every 50 meters and if you take a virtual walk between the available pictures you may be confused if the orientation is not maintained. For example if you “walk” on a street between points A and B without keeping the orientation you may end up loading a picture and being orientated to point B instead of point A.

Does FlashPanoramas have a way of maintaining the orientation?

Best regards,
Gabi

cheathamlane
05-08-2008, 09:16 PM
Hi Gabi:

I assume "jackass" isn't your real last name? ;)

The panHome parameter is what you'll want, in order to set the initial pan position of the panorama (i.e, panHome="232"; likewise, tiltHome and zoomHome).

If you want a newly loaded panorama to open at the same pan position as the last panorama was left at, then you will want to use the leash parameter, which can be set to free, follow, or lock. Explanation of each is int he FPP documentation.

Cheers,

gabi_jackass
05-08-2008, 10:23 PM
Hi :cool:

Thank you for the fast reply. It's a long story about my favorite nickname :D I’ve got it from the famous TV show with the same name. I like those crazy guys :D

I’ve attached a small image. It contains 5 panos (A, B, C, D and E). Let’s take a look at the center pano (B). If you come into it from pano A you should se Pano C but if you come from pano D, you should see pano E.

This way you have the feeling that you’re really walking on the street. I plan to have something kind of similar with google maps street view (See: http://maps.google.com/maps?f=q&hl=ro&geocode=&q=new+york&ie=UTF8&layer=c&cbll=40.71459,-74.007213&panoid=udFHfAo7GkHrToKmN--ZOA&cbp=1,0,,0,-3.5335604103829725&ll=40.714913,-74.007111&spn=0.000644,0.001191&z=19)

So please tell me how can I do that? By specifying the panHome for all the panos to be in the same direction (North Pole for example – like in ImmerVision) and to set the leash to be lock ?

Should I understand that the leash = lock is preserving the orientation from one pano in a different relative to the pano = 0 direction or relative to homePan? I’m kind of confused regarding the leash parameter.

Please give me some details of how it keeps the orientation from one pano to another and depending on what (current
position relative to pan= 0 direction, current position relative homePan direction …)

I think that the problems appears when pan = 0 direction differs from one pano to another because of the sitching / alighing operation. And the “north” orientation from ImmerVision was just fixing this issue. The direction was preserved depending on “North Pole” instead of pan = 0 direction. This kind of thing I need.

phberlin
05-09-2008, 10:24 AM
Hi Gabi,

you would simply make an individual XML for each pano (that's just the normal way anyway), and define hotspots in each pano that load the corresponding next pano. There, you would enter the necessary panhome values.

For example:

OK, let's say active pano is "A". You define a hotspot that causes transition to "B", using

loadPano(panoName=path/pano_B?panHome=0);

For pano "D" you would make a hotspot that also points to pano "B", but with a different panHome value, like so for instance:

loadPano(panoName=path/pano_B?panHome=270);

This way, you have the same pano shown with a different "start view" that matches the "route" you came from.

See FPP documentation, chapters "using parameters" (for panHome etc.) and "hotspots plugin" (for info on how to define hotspots etc.) for further info.

Hope that helps, regards,
phberlin

koma
05-09-2008, 09:15 PM
what is the advantage of panHome? except for the use of a home-button? pan would it do too, huh?

cheathamlane
05-09-2008, 10:42 PM
panHome will orient your panorama before the viewer sees it load; I believe "pan" will simply set the panorama to a specific pan value. So, using panHome means your visitor won't see the panorama load at a pan of 0 and then suddenly jump to your specified pan value.

phberlin
05-10-2008, 12:23 AM
Exactly like cheathamlane said: "panHome" allows you to define the start view angle relative to pan=0 BEFORE the pano is shown.

gabi_jackass
05-10-2008, 09:56 AM
Hi

Thank you all for the answers and sorry for not replying faster but I was very busy this week.

After all your answers I got to the conclusion that I have 3 options:
1) Specify for each spot the proper pan for the image that relates to.
2) Stitch all the images such a way to have the pan = 0 in the same direction;
3) Build a plugin to specify something like “North Pole” from the ImmerVision components.

I think that the option 1) is the most “professional “ one. The only problem is the number of panos that I plan to include in the portal. In 2 months I’ve pictured -> stitched -> integrated with ImmerVision more than 100 different locations.

The “North pole” option was very helpful because instead of specifying the needed parameters for each hotspot was enough to specify the pan value of the north pole for the entire picture and the engine of the component was able to keep the orientation.

So option #1 is the best for a small number of pictures especially because, for example if you “walk” on a street that isn’t straight you can give a little rotation for every hot spot to keep the direction on the street instead of keeping a straight line. But it takes more time. For 100 panos with 4 hotspots means 400 hot spots to set parameters for. But only 100 of images to specify the north pole.

I’ve never think about option 1) until now and I think that I would like to have a combination between options 1) and 3) for my web portal.

And…. Option 2) … well … I’m a programmer and let’s just say that I hate the hard coded things.
So for option 1) all I need is a lot of work. But I really don’t know so much AS to build my on plugin in a short time. Does anyone wishes to build a plugin like this and for how much money?

Best regards,
Gabi

koma
05-10-2008, 10:56 AM
panHome will orient your panorama before the viewer sees it load; I believe "pan" will simply set the panorama to a specific pan value. So, using panHome means your visitor won't see the panorama load at a pan of 0 and then suddenly jump to your specified pan value.

I use at touchtown.ch (http://www.touchtown.ch) pan, not panHome. And it does load the pan at the right positions. Just replaced some «pan» with «panHome» and couldn't spot any difference…

gabi_jackass
06-22-2008, 10:21 AM
Hi everybody,

I’ve used the panHome after all, and you can see temporary the result at http://www.360rvr.com/360rvr/default.aspx
The website is not 100% ready but almost. I still have a few issues:

1) After you click a hotspot, the new ones are loaded first, the fade effect is taking you to the next picture, but the hotspots are not loaded using the new panHome and tiltHome. Those values are only applied after the fade transition.

I found a solution: to use “visible” effect instead of “fade” for the “loadPano”. This way the hotspots are displayed only after the new picture is fully loaded and they are loaded in the correct position but does not look so well as the fade effect.

A different work around would be to use for the hotsopts onLoad=”alpha=0;alpha=1,1000" in combination with loadPano(xml_file=……., 400, fade). As result the new image has a 400 ms fade effect and after those 400ms the hotspots are positioned in the right place before finishing the 1000 ms of hot spot fade effect.

This way it’s almost perfect. But only almost, because during the hotspot fade sometimes you can still see it in the wrong position (at the start of the fade, before those 400 ms of fade effect).


The second issue:
2) I use a ASPX page to generate the XML. ButiIf the server has a small lag, you don’t see the loading meter right after clicking the button, but only after a few seconds. Because of this the user could click the same hot spot twice and this action causes a loading error (it displays a black picture with hotspots).

The way I would like to avoid both issues would be to hide all the hotspots before loading the new XML, and to only display the new ones after the fade effect.

Any solutions?