Initial radar location on Virtual Tour

Special forum to share and discuss skins for Pano2VR and Object2VR
Post Reply
MattW
Posts: 9
Joined: Tue Feb 17, 2009 1:59 pm
Contact:

Hi all,

I'm hoping to take advantage of your combined skin knowledge...

I've created my skin, containing my map for the virtual tour. Using the "Init" action to set the initial position of the "Radar". This all works fine. :) (see here: http://www.avenue-nursery.co.uk/html/gallery.html)

As I understand it, the Virtual Tour should work by applying the skin to the first pano and then using the buttons to navigate to the others (which are generated skin less). In my case, I have a tour of 5 rooms and I wanted the user to be able to start in any of the rooms. To get this to work, I had to change my skin template for each room to set the initial radar position! (So my skin, is now unique to each room :( )

So my question is: In the skin editor, can you set the position of the radar according to the current pano being generated?

One other idea I've had is to use the skin to initially show the 5 room images (in a 6th empty room) and on selection of one of the rooms, load that room. This would mean adding the links (and images) to the skin but that would only be attached to the first (empty room), all subsequent rooms would then by skin-less. Does that sound a better way to achieve this?

I'm not going to change my current tour as they are happy as it is (please ignore the no fullscreen, I'm still nagging about that :? ) but this could be useful for the future...

Many thanks,
Matt
erik leeman
Posts: 470
Joined: Sat Sep 09, 2006 10:51 am
Contact:

Hi Matt,

You could use the 'Angle' parameter for this.

For example you can have these in the Actions/Modifiers tab of a clickable element in the first pano:

Source=Mouse Click Action=Open next Panorama Url= http://www.yoursite.com/directory/subdi ... oom101.swf
Source=Mouse Click Action=Set Element Angle Angle=(radar shift in degrees) Target= (your radar)

If you wish you can also move skin elements around when jumping from pano to pano by using this:

Source=Mouse Click Action=Set Element Position Offset X/Y= (shift value of x)/(shift value of y) Target= (your skin element)

There are sooo many things you can do with these actions!

Erik
MattW
Posts: 9
Joined: Tue Feb 17, 2009 1:59 pm
Contact:

Thanks for the reply Erik but I think you missed my point.

I want to use the same skin (and map) in all my linked panos (5 in this case) and have the initial position of the radar match the given pano, regardless of which one is open first.

My current train of thought is to set the initial position of the radar on init to the current pano.
  • radar:
    init - Set Position- entrance - $self
So this works :) ("entrance" being the name of the hotspot on the map I want to use as the initial position) But this would set the same initial position for each pano as it is attached to the skin.

My next thought, why not use the user data. So it became...
  • radar:
    init - Set Position- $uc - $self
And I set the user data comment field to "entrance".

This didn't work :( It does move from it's initial position but not to the correct position. Can the user data variables not be used in this way?

Thanks again,
Matt
erik leeman
Posts: 470
Joined: Sat Sep 09, 2006 10:51 am
Contact:

My method should work, you see I use it to set the ribbon compass in all my linked panos. : )
With a ribbon compass I do not have to change an angle obviously, instead I move the ribbon to the proper location with an X-shift.
The principle for a rotating compass is the same however.
You simply set the compass itself to zero degrees in the skin.
Then you declare a shift angle for each pano in the set, including the initial one, in the skin hotspots.
So you have to make skin hotspots for all panos in the linked set, even the one you attach the skin to!
In most of my linked sets you won't see a map, but there is a symbolic one nontheless, hidden in the skin.
That's where I pile up my skin hotspots. There is no need to 'spread them out' on a map placeholder of course.

It's a bit of an abstract system, but it works splendidly for me, so why should it not work for you?

Erik
Last edited by erik leeman on Mon Feb 23, 2009 8:29 pm, edited 1 time in total.
erik leeman
Posts: 470
Joined: Sat Sep 09, 2006 10:51 am
Contact:

Oh, I forgot something:

For the first pano, the one you attach the skin to, you must also set an initial value for the angle.
Otherwise it wouldn't be set properly at the start of a tour.

So in the Actions/Modifiers tab of its own hotspot you should also declare:
Source=Init Action= Set Element Angle Angle=(radar shift in degrees) Target= (your radar)

If you attach the same skin to the other individual panos of a series (I normally do), then obviously you must set the initial angle for each pano accordingly, after removing it from the first one.

Sounds more complicated than it is, believe me : )

Just for the record: all this only works with point hotspots, and properly set Hotspot Proxy ID's of course.

Erik
MattW
Posts: 9
Joined: Tue Feb 17, 2009 1:59 pm
Contact:

Thanks for the reply. Are you talking about setting the initial angle of the radar? Because that all works ok for me :) I actually want to set the positions on the map at start up...

Anyway, you seem to run into the same problem that I'm looking for a fix for. Each skin has to be tailored to the current pano.

I want to regard the skin as a template, which I should be able to easily apply it to each of the panos. For the 5 I've got, I can change the skin for each pano to set my initial position, but if we had lots more....

Thanks again,
Matt
User avatar
Hopki
Gnome
Posts: 13005
Joined: Thu Jan 10, 2008 3:16 pm
Location: Layer de la Haye, Essex UK
Contact:

Hi,
If I understand you correctly you want to open any of you panos and have the map and hotspots all work.

To do this you would need to create a skin and apply it to all the panos, then put them in their own html pages, rather than load them into the same flash player and html page. This makes for slightly larger files, but other wise this will work fine.
Use the “Go to Url” action to load each html page.

As each pano will have its own skin you can just set the intl angle for the radar beam in each. The map hot spots and point hotspots will use the “Go to Url” .
This actually makes for a less complicated skin as each skin will just have a dot and radar beam instead of a hotspot in the map marking your position.
Unfortunately full screen does not work properly as when you open a new html page, this resets the flash player to normal size.
A way around this is to open the pano in its own window, then the viewer can then just maximise it.

See this old tour Here of some labs which uses this method, this was before point hotspots.

This way it does not matter which pano you open first the map and hotspots will all work.
When using a single skin and html page, you need to start the tour from the pano with the skin every time.

Hope this helps :)
Hopki
Garden Gnome Support
If you send an e-mail to support please send a link to the forum post for reference.
support@ggnome.com
https://ggnome.com/wiki/documentation/
erik leeman
Posts: 470
Joined: Sat Sep 09, 2006 10:51 am
Contact:

@ Matt
Indeed, I completely forgot I have to set an initial position too for the 'host' panorama.
Not that it is a LOT of work changing two Actions/Modifiers each time I re-use a skin, but it is extra work.

I tried using $ud to store the offset value, and failed to 'inject it' into an Init-Change Position modifier.
Then I put the host's Hotspot Proxy ID in the user data: description field, and tried an Init-Click, and it failed too.
Placing the strings between " " didn't help, placing the $ud between " " crashed the entire skin, so that was no good either.

An elegant solution would be if Thomas created dedicated datafields in the User Data array to store offset values for rotation and X/Y, combined with corresponding placeholders to be used in the Actions/Modifiers menu.

So let's hope he reads this ; )

Cheers!

Erik
User avatar
thomas
Chief Gnome
Posts: 2611
Joined: Fri Sep 01, 2006 3:56 pm
Location: Vienna, Austria
Contact:

erik leeman wrote: An elegant solution would be if Thomas created dedicated datafields in the User Data array to store offset values for rotation and X/Y, combined with corresponding placeholders to be used in the Actions/Modifiers menu.
This is on my To Do with some other stuff that will make this even more powerful... Lets see in which version I will add this...
MfG, Thomas
Post Reply