Overview
This two part “Pano2VR” tutorial show you how to animate a multilevel Lower Third Banner that is responsive to mobile devices such as smartphones.
Part 2 requires a finished project files from Part 1, please finalise that tutorial before starting this one.
Note: this tutorial is designed for Pano2VR V6.1.2 You can download the software here.
Part 2 Final Output
Testing Links
If you would like to test the Part 2 Final Output in your browser you can use the link https://rebrand.ly/lower-third-active
Tutorial Files
This project uses the tutorial files from Part 1, you can find the tutorial here.
Project Overview
In the second part of this tutorial we will continue to modify the lower_third.ggsk skin by;
Develop a break size to determine at what point we require the responsive logic to apply to the banner
Add logic to the Scale property of the lower third banner elements
Add logic to hide the Lower Third Banner when the panorama is interacted with
Note: this tutorial assumes a basic knowledge of Pano2VR V6
Note: click on any image in the tutorial to enlarge it
Getting Started
1. Complete Part 1 of the tutorial
2. Double Click on the final Part 1 project file ‘lower_third.p2vr’ to open it if it’s not already open (Figure #1)
3. Click on the ‘Open Output’ button to see the current state of the project (Figure #2 & 3)
The Skin
1. Click on the ‘Edit Skin’ button to open the skin editor (Figures #4 & 5”)
2. Click on the ‘Live Preview’ button to see the current skin with text rendering (Figures #6 & 7)
Note: In this tutorial I am using Google Fonts, Barlow, for the text elements. For more information on using Google Fonts in Pano2VR projects check out my Google Fonts for Text Fields tutorial
Creating a Responsive Skin
Note: If we view the published project from Part 1 it looks fine on a Desktop and okay on a tablet, but there is a major issue when viewed on a smartphone such as the Samsung S8. (Figures #8, 9 & 10)
What we want to do is maintain the current size of the lower third for desktop and most larger tablets but scale it for smartphones and smaller tablets.
For this tutorial I’m benchmarking off the Apple iPhone 11, Pro & Max. Apple iPad 12.9” iPad Pro, 11” iPad Pro, iPad Air, iPad & iPad Mini.
iPhone 11: 1792 x 828 px
iPhone 11 Pro: 2436 x 1125 px
iPhone 11 Max: 2688 x 1242 px
12.9-in iPad Pro: 2732 x 2048 px
11-in iPad Pro: 2388 x 1668 px
iPad Air: 2224 x 1668 px
iPad: 2160 x 1620 px
iPad Mini: 2048 x 1536 pxI’ve also included the Samsung S8 and Samsung Galaxy Tab A (old I know it)
Samsung S8: 2960 x 1440 px
Samsung Galaxy Tab A: 1024 x 768 pxAfter reviewing the pixel screen sizes of these devices I’ve come up with a break size of 1792 x 828 px
Based on this my logic will be;
a. if the player width >= (greater than or equal to) 1792 and the player height >= 828 and the device Is Mobile then the scaling stays at 100%.
b. if the player width >= (greater than or equal to) 828 and the player height >= 1792 and the device Is Mobile then the scaling stays at 100%.
c. if the player width <= (lesser than or equal to) 1791 and the player height <= 827 and the device Is Mobile then the scaling changes to 75%.
d. if the player width <= (lesser than or equal to) 827 and the player height <= 1791 and the device Is Mobile then the scaling changes to 75%.
This logic this means that the tablets, other than the Tab, will remain at 100% but the smaller iPhones and S8 will change to 75%
1. Select the svg_green_stripe element to make it active and and set the following properties:
Properties / Appearance / Scaling: Logic Block
Trigger #1
Trigger = Player Width | Comparison: >= | Value = 1792 | Operation = And
Trigger = Player Height | Comparison: >= | Value = 828 | Operation = And
Trigger = Is Mobile | Comparison: = | Value = true
X: = 1.00 Y: = 1.00
Trigger #2
Trigger = Player Width | Comparison: >= | Value = 828 | Operation = And
Trigger = Player Height | Comparison: >= | Value = 1792 | Operation = And
Trigger = Is Mobile | Comparison: = | Value = true
X: = 1.00 Y: = 1.00
Trigger #3
Trigger = Player Width | Comparison: <= | Value = 1791 | Operation = And
Trigger = Player Height | Comparison: <= | Value = 827 | Operation = And
Trigger = Is Mobile | Comparison: = | Value = true
X: = 0.75 Y: = 0.75
Trigger #4
Trigger = Player Width | Comparison: <= | Value = 827 | Operation = And
Trigger = Player Height | Comparison: <= | Value = 1791 | Operation = And
Trigger = Is Mobile | Comparison: = | Value = true
X: = 0.75 Y: = 0.75 (Figure #11)
2. Open the svg_green_stripe scaling logic block if it’s not already open.
3. Select ‘Copy’ and close the logic block
Note: rather than copy and paste into each individual element we will do it all at one time
4. Command select (Mac) the following elements within the con_lower_third folder con_text_links, svg_yellow_over, svg_yellow_under, svg_black_over and svg_black_under
5. Click on Properties / Appearance / Scaling: Logic Block button and select ‘Paste’ to add the logic code. The logic is now added to each of the selected elements. (Figure #12)
6. Save the skin
7. Republish the project
Note: on the desktop you will not see any difference as the logic only applies to mobile devices.
If you are using the Integrated Web Server you can open the published file on your device using the http address shown on the server window.The following image show the updated skin on the Samsung S8 (Figures #13 & 14)
Auto Hide Lower Third Banner
1. Select ‘Draw Timer’ from the menu and click once in the skin to add it
2. With the timer selected set the following properties:
Properties / Position / ID: hide_lower_third_timer
Properties / Appearance / Visible: Delete Logic Block
Properties / Appearance / Alpha: Logic Block
Trigger #1
Trigger = Active | Comparison: = | Value = true | Alpha = 0.000
Transition / Enabled (checked) | Time: = 1.000 seconds
Properties / Timer / Type: Player Inactive | Timeout: 2.000 seconds | Repeat: One Time (Figure #15)
3. Select the hide_lower_third_timer timer and drag it into the con_lower_third container
4. Shift select contextlinks, consvgyellow, consvgblack and svggreenstripe and drag them into the hide_lower_third_timer to make them children of the timer (Figure #16)
6. Save the skin
7. Republish the project
Note: now as you interact with the panorama the Lower Third Banner fades out and when you stop it fades back in
Summary
I hope you have enjoyed the tutorial and it has helped you to achieve the best possible project outcome. If it has please take a second to consider a donation so that I can continue to add more tutorials.