Problem with map levels

Special forum to share and discuss skins for Pano2VR and Object2VR
Post Reply
CarstenT
Posts: 9
Joined: Thu Oct 27, 2011 10:17 am

Hello!

Currently I am stuck in problem regarding a new tour. Could someone please give me a hint on how to overcome my - hopefully - temporary blindness?

The structure of the tour is pretty straight foreward.

There are three levels in the building and all panos are tagged accordingly:

Untergeschoss - Tag: UG
Erdgeschoss - Tag: EG
Obergeschoss - Tag: OG

For each floor there is a node marker at the start of skin:
Toggle UG - on activation it shows the map Karte-UG, on deactivation it hides the map Karte_UG. And the marker is connected to the tag UG.
And the like for the other two floors

There is a Container "Maps" holding the three floor-maps Karte-UG, Karte_EG and Karte_OG (Map position: -810/40)

The maps are structured thus:
Position is set to -810 / 40
Then come three node markers: Erdgeschoss, Untergeschoss, Obergeschoss
They contain a Text same as the name of the nod marker - only difference is that the corresponding (i.e. text for Untergeschoss in the map Karte-UG) floor is white font on blue ground whereas the other two are black font on white ground.
Actions are On mouse-click hide the map of the current floor and show the map of the clicked floor. I.e. If in the map Karte-UG, a click on Erdgeschoss will hide the map Karte_UG and show the map Karte_EG.

Then the marker-nodes for the panoramas of that level will follow. That was easy due to the setup of the simplex skin - really great.

All the three maps are structured correspondingly.

In a next step I have modified the controller, following the instructions of the tutorials.
There are two buttons: karten_offen to open the map and karten_zu to close the map.
Actions in karten_offen are: on mouse.click change position of container Maps to 810 / 0, scale $self to 0/0 and scale karte_zu to 1/1. For button karte_zu the other way round.

Finally I have modified the hotspot template in the skin, adding the following actions:
On mouse-click change position of Maps to 0/0, scale karte_zu to 0/0 and scale karte_offen to 1/1.

When creating the tour, everything is fine. I can toggle the maps on and of. When I click on a marker that leads to a different level while the map is open, in the new panorama, the map of the correct level is shown. If I click on a hotspot to a panorama on a different level, the map closes, the new pano is loaded an on opening the map, the proper level will appear.

Problems arise, when I change the floor by clicking one of the other floor buttons in the map - say I click Erdgeschoss (corresponding map Karte_EG), while I am in the map Karte_OG. Well, the map Karte_EG will show up and I can click panos in the map. But from that click on, the Karte_EG will stick to me like hell. When go to a different pano either using a hotspot in the pano or a location in the map - the Karte_EG will show up, no matter what level I am in.

What I would like to achieve is in an example:
I open a panorama in Karte_OG
I click the button Erdgeschoss in that map, this takes me to the map Karte_EG (works)

First method:
I add a node-marker button to the map - when clicked the proper pano for the floor, the current pano is located on (as indicated by the tag of the pano), will show up. Like being in Obergeschoss (Karte_OG), clicking on the button to show Karte_EG. The new button will take me back to Karte-OG.

Second Method:
Situation: I am in the map Karte_OG, I have clicked map Karte_EG, this is showing now.
Aim: When I change the panorama either by clicking in the map or on a hotspot, the correct map will show up.

The link to the current version of the tour is:
http://www.freiburg-panorama.de/touren/pfarrhaus/

There is a folder with project and skin under:
http://www.freiburg-panorama.de/touren/rees.zip

Any help on that issue is greatly appreciated - I fear I am just blind for an obvious solution.

Greetings

Carsten
User avatar
Hopki
Gnome
Posts: 13004
Joined: Thu Jan 10, 2008 3:16 pm
Location: Layer de la Haye, Essex UK
Contact:

Hi Carsten,
If the panos are tagged then you can use logic blocks to control which floor plan to show.
So if floor plan EG has a visible logic block “Tag = EG visible, true, then whenever there is a pano showing with that Tag it will show.
If all the floor plans are in a container then you only need to show and hide this to open and close the floor plans.
Regards,
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/
CarstenT
Posts: 9
Joined: Thu Oct 27, 2011 10:17 am

Hi Hopki!

Tank you fort he answer. This did solve the problem half-way. What I did for the three floorplans for UG, EG and OG:

Step 1:
I removed the node markers for the three levels. In the container Maps I added a logic block to each of the three maps - like for the floor plan EG: "If Tag contains EG - visible true" and the like for the other two floor plans.

Now I could do without the node markers - still the problem remained - Once I changed the level in the map - that level remained sticky like hell.

Step 2:
For each floor plan I added two more conditions to the logic block of that floor plan - like for the floor plan EG: "If Tag contains UG - visible false; If Tag contains OG - visible false." And the like fort he other levels.

Result:
Now the maps do change properly, whe I move from one level to a different one. But If I change the level in the map and then move via hotspot (not markers on the map) - the map oft he wrong level remains active.

Example 1:
In my tour - Enter the house via hotspot "Eingang" - Use visible hotspot "Treppe 1" - Use hotspot "Flur1" - Open map (it shows the correct floor "Obergeschoss") - In map click button "Untergeschoss" (it now shows the floor "Untergeschoss") - Now click hotspot "Im Gewitter" (That room is in level "Obergeschoss" and got the tag "OG", but still in the map the floor "Untergeschoss" is show instead of "Obergeschoss").

What is very strange - when I change the floors via hotspots in the pano, then the proper floor shows up.

Example 2:
In the outside panorama open the map - Click "Untergeschoss" to show the floor level with the tag "UG" - Enter the house (You are in the "Erdgeschoss", but the level "Untergeschoss" is shown in the map - dont get irritated by the marker in the map - it is there because you can reach that room via the "Untergeschoss" too - removing the marker will do no changes tot he problem) - Now click hotspot "Treppe 1" (The level in the map is now changed tot he correct level "Obergeschoss")

In short: If you choose a level in the map that is different from the level of your current room and you then change the room, in that next room the correct level in the map is only shown, when the room you changed to is on a different level from the room you changed to.

I dont really understand, why this is.

The link to the current version of the tour is:
http://www.freiburg-panorama.de/touren/pfarrhaus/

There is a folder with project and skin under:
http://www.freiburg-panorama.de/touren/rees2.zip


Greetings

Carsten
User avatar
Hopki
Gnome
Posts: 13004
Joined: Thu Jan 10, 2008 3:16 pm
Location: Layer de la Haye, Essex UK
Contact:

Hi Carsten,
Looking at your skin...
The logic blocks have to many Expressions, if the visibility is deselected then you only need one expression with the condition:
Tags, contain, EG, visible: true
There is no need for the other expressions to hide the others if they also are default not visible.
Also you have node markers with the same ID, example you have a node marker with the ID: Erdgeschoss that is in each of the three floor plans.
Although this should not cause a problem its not good.

Some of the node markers have actions, mouse click, This will brake the node marker.
You need the action, activated, not moue click.
See how you get on.
Regards,
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/
CarstenT
Posts: 9
Joined: Thu Oct 27, 2011 10:17 am

Hello Hopki!

So now I have restructured and tidied my skin. To no avail!

There is a container "Floor Selectors" with 3 pairs oft text boxes, one pair for each floor level. Initial position -810 / 0

OG_inactiv / OG_activ
EG_inactiv / EG_activ
UG_inactiv / UG_activ

The structure is similar to all pairs, I will just outline the OG pair:

OG_inactiv
Logical Block:
If Tags contain EG Visible true
If Tags contain UG Visible true
Default Value: Visible false

Actions:
click show Karte_OG
click hide Karte_EG
click hide Karte_UG
click show OG_activ
click hide OG_inactiv
click hide EG_activ
click show EG_inactiv
click hide UG_activ
click show UG_inactiv


OG_activ
Logical Block:
If Tags contain OG Visible true
Default Value: Visible false

Actions:
click show Karte_OG
click hide Karte_EG
click hide Karte_UG
click show OG_activ
click hide OG_inactiv
click hide EG_activ
click show EG_inactiv
click hide UG_activ
click show UG_inactiv

The like for the other two pairs.

What this does: When you click on a level text box, this level text box will be set to visible, the floor level will be set to visible. The other level text boxes and floor levels will be set to invisible.

I do need the click action on that level text box. If I choose the action activate - nothing will happen, the level text box does not react to my input.

The floor level maps (Karte_OG, Karte_EG, Karte_UG) are located in a container Maps. Initial position -810 / 0.

Three actions with the container "Maps":
The three floor level maps are hidden on Init.

No actions with these maps only a logical block. For the map Karte_OG it looks like this:
If Tags contain OG Visible true
Default Value: Visible false

The like for the other two maps.

In the container "controller" there are two buttons: "maps_active" and "maps_inactive"

The actions are:

maps_active
click changeposition 810/0 Maps
click changeposition 810/0 Floor Selectors
click setscale 0.0000/0.0000 $self
click setscale 1.0000/1.0000 karten_zu

maps_inactive
click changeposition 0/0 Maps
click changeposition 0/0 Floor Selectors
click setscale 0.0000/0.0000 $self
click setscale 1.0000/1.0000 karten_offen

This sliding in and out the maps and the floor level text boxes. And toggeling the map button.


What I would expect as a behaviour of the tour:
I can open and close the map.
I can switch floor levels in the map.
When I move to a different node via hotspot, the map of the corresponding level will show up, no matter, what floor level had been selected previously. (Since clicking a hotspot will reload the Maps).

The problem remains:
The last step will not work. It seems that some kind of listener to the tags (EG, OG, UG) is broken and a reload of the Maps will not result in the proper map showing up as described by the logical block.

For me this starts to look like a problem in Pano2VR itself. It seems as if the maps do loose there responsiveness to Tags.

The link to the current version of the tour is:
http://www.freiburg-panorama.de/touren/pfarrhaus/

There is a folder with project and skin under:
http://www.freiburg-panorama.de/touren/rees3.zip


Greetings

Carsten
User avatar
Hopki
Gnome
Posts: 13004
Joined: Thu Jan 10, 2008 3:16 pm
Location: Layer de la Haye, Essex UK
Contact:

HI Carsten,
Having been looking at other things and trying to come back to this it will be easier to explain what the problem is from a functional point of view.
Without going through what you have done in the skin will make it quicker to catch up and to be able to help.
I know you ave listed what you have done but I can not see anywhere where you say what the actual problem is.
It may will be in there but hidden.
So a brief description of what should happen and what happens now.
Regards,
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/
CarstenT
Posts: 9
Joined: Thu Oct 27, 2011 10:17 am

Hi Hopki!

What the tour should do is: I can open the maps in any pano - I can switch floor levels in the map - when I move to a new pano (e.g. via hotspot in the current pano), the map should switch to the floor level of the new room.

What it currently does: I can open the maps in any pano - I can switch floor levels in the map - when I move to a new pano (e.g. via hotspot in the current pano), the map will NOT switch to the floor level of the new room.

Example: Displayed is a pano of a room in the Ground Level - I open the map and switch to the 2nd floor - I now move to a room in the 1st floor - the pano of this new room is displayed, but the map remains the map of the 2nd floor, despite the fact, that the room displayed is located on the 1st floor.

Hope this is somewhat understandable.

Greetings

CTR
CarstenT
Posts: 9
Joined: Thu Oct 27, 2011 10:17 am

One short note: I have upgraded to Pano2VR 6.0 (great software and great team). So if there is a better solution to my problem in this version - I will take that one :)
CarstenT
Posts: 9
Joined: Thu Oct 27, 2011 10:17 am

Shall I interpret the absence of an answer as: "In the current version of Pano2VR it can not be done"?

Greetings

CTR
User avatar
Hopki
Gnome
Posts: 13004
Joined: Thu Jan 10, 2008 3:16 pm
Location: Layer de la Haye, Essex UK
Contact:

Hi,
In V6 you can add your floor plans through the Tour Map.
Then use the Map element in the skin editor.
There is Map actions and you can also set the map element to auto switch.
Have a look at this blog post and the floor plan video.
Regards,
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/
CarstenT
Posts: 9
Joined: Thu Oct 27, 2011 10:17 am

Probably I am somewhat missing an important point – but I still do not get my desired result.

Let me try it the other way round and describe what I would like to achieve in the project you use in the video “Adding Floor Plans – Pano2VR Pro”.

I would like to have the option to look at a floor plan of a different floor without moving to a pano of that floor. It is a kind of preview floor plan function.

In order to switch the floor plans I would like to add buttons for each floor plan “Ground Floor”, “First Floor”, “Second Floor”. To make clear where I am, I would like to add active and inactive states for the floor buttons – say white font on blue ground in active state and white font on grey ground in inactive state. Whenever I click one of those buttons, it will take me to the corresponding floor plan without moving to a pano of that floor.

Example: I am in the hall. I click the button “Second Floor”. The floor plan of the second floor will show up. The other floor plans will not show up. The button “Second Floor” is in active state – the buttons of “Ground Floor” and “First Floor” are in inactive state.

Now comes the tricky bit. I am still in the hall. Now I will NOT click a hotspot on the floor plan (that is currently showing the second floor). I WILL click the hotspot “Kitchen” in the panorama.

What I want to happen now is: I will be taken to the panorama “Kitchen” on the ground floor. The floor plan “Second Floor” will be hidden, the button “Second Floor” will go into inactive state, the floor plan of the correct floor plan will be shown – for the kitchen this is the floor plan “Ground Floor” and the corresponding button will be active.

So basically I would like to get an “Preview other floor plan” function where the floor plan automatically switches back to the correct floor plan whenever I move to another pano. One further complication: When I click a pano hotspot on the floorplan "Second Floor" it will atke me there and that floor plan will remain active.
User avatar
Hopki
Gnome
Posts: 13004
Joined: Thu Jan 10, 2008 3:16 pm
Location: Layer de la Haye, Essex UK
Contact:

Hi,
The Floor plan element does exactly this.
Add floor plans example Map01, Map02
To switch between floor plans use buttons with the actions:

Source: Mouse Click
Action: Maps
Type: Change Map
Map ID: Map01
Target: Map1 (the map element)


Source: Mouse Click
Action: Maps
Type: Change Map
Map ID: Map02
Target: Map1

If Map01 is ground floor and Map02 is first then select a pano on the ground floor.
Use the button to select the 1st floor.
With the map element showing the 1st floor plan click a hotspot to change nodes in the ground floor.
The Map element will change to the ground floor automatically.

Regards,
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/
CarstenT
Posts: 9
Joined: Thu Oct 27, 2011 10:17 am

Very elegant solution. This works perfectly for me.

Tanks a LOT!
Post Reply