What are Touch Panels?
Touch Panels is a Second Life platform that simplifies the software development needed to create of multi-page and fully customizable texture-based HUDs and in-world Information Panels. Touch panels is in "demo only beta". This means we will produce HUDs for clients while we work out the final bugs in our platform.
The difference between a HUD and an information panel is where the Resident can view it: either attached to their HUD or as an interactive object on the Second Life grid. Except for some HUD exclusive features (detach and teleporting) they are identical.
The difference between a HUD and an information panel is where the Resident can view it: either attached to their HUD or as an interactive object on the Second Life grid. Except for some HUD exclusive features (detach and teleporting) they are identical.
How much custom LSL code is needed for this HUD?
The dress contains six faces, all six can be color tinted and three fabric surfaces can be textured too. The HUD has 9 texture pages. If you didn't use our platform, the HUD would require 192 hotspots to be detected by your setup or software.
The video takes 96 seconds. When it completes, ask yourself, how many lines of Custom LSL code was required to implement the HUD you see? Click the button below to reveal the answer.
Note: The video does not contain audio.
The video takes 96 seconds. When it completes, ask yourself, how many lines of Custom LSL code was required to implement the HUD you see? Click the button below to reveal the answer.
Note: The video does not contain audio.
Click to Reveal - How many lines of custom LSL code was required for this HUD?
Additional HUD Information
If the HUD was rezzed in-world, instead of attached to the HUD, it uses 2 land-impact. (that's important if you want to do a live demo at a show ... all those extra prims / land impact allotment are now available for your item.)
This is my interface and I know I'm not a graphic designer. Just imagine how creative you could be with your graphic style? For dress parts on the left of the HUD, I'm using mostly multi-point polygons, except for the button in the middle of the buckle, those are two overlapping circles. Each time a red area is shown, that area is selectable area too, making it a much easier interface for your customers to navigate.
This is my interface and I know I'm not a graphic designer. Just imagine how creative you could be with your graphic style? For dress parts on the left of the HUD, I'm using mostly multi-point polygons, except for the button in the middle of the buckle, those are two overlapping circles. Each time a red area is shown, that area is selectable area too, making it a much easier interface for your customers to navigate.
How are there 192 hotspots?
Without our technology, you would need to support 192 distinct hotspots. There are lots of different ways to do this, but it all boils down to how much time does it take to do one.
There are three page each of each of the following different types of panels:
Total = 64 x 3 = 192
There are three page each of each of the following different types of panels:
- Fabric Swatch = 48 hotspots (6 for index, 2 for tabs, 40 for each texture).
- Fabric Color = 9 hotspots (6 for the index, 2 for the tabs, 1 for the tinting panel).
- Note: To implement a tinting panel, we provide a 2K download that you can use to scale down to fit the space you need on your HUD. Our color tinting technology supports any size rectangular shape for the color area.
- Buckle Color = 7 hotspots (6 for the index, 1 for the tinting panel)
Total = 64 x 3 = 192
We only need 17 "hotspot defintions"
With our technology, we can implement the same capability with 17 because we can activate multiple hotspot definitions at any time, resulting in only one implementation for each type or grouping of hotspots:
Many of the hotspots can be handled by simply passing on information straight from our framework to the dress or object, with a single line of code. This is why there is so little code.
- 6 for the index
- 2 for the tabs
- 3 fabric texture swatches (each handling 40 at a time)
- 3 fabric color pages
- 3 buckle color pages
Many of the hotspots can be handled by simply passing on information straight from our framework to the dress or object, with a single line of code. This is why there is so little code.
How Long Does it Take?
How long it took to set up this HUD assumes:
How long these two steps take will depend on your graphic style, but after they are complete, 30-45 minutes to complete the HUD. Obviously, the first time you do this or if you increase the complexity of the HUD, it will take longer to do.
If you would like a live demonstration of the speed, see the last section on this page. (by invite only, at this time)
Preparing texture swatches takes a little longer to complete, but if you pre-name the files so that the sorted name order matches the swatch naming order (horizontal or vertical grids only), before you uploading them into Second Life, it can take only a few minutes to get the data you need for the "translation table" geneartor. A "translation table" transforms a hotspot location name (or position) into a message that allows you to set an "object's face or faces" with texture, color, rotation, media, or anything else you want.
- all dress textures are already properly named and uploaded
- the texture graphics for the HUD have been completed
- there is no rework to do after you implement the HUD the first time
How long these two steps take will depend on your graphic style, but after they are complete, 30-45 minutes to complete the HUD. Obviously, the first time you do this or if you increase the complexity of the HUD, it will take longer to do.
If you would like a live demonstration of the speed, see the last section on this page. (by invite only, at this time)
Preparing texture swatches takes a little longer to complete, but if you pre-name the files so that the sorted name order matches the swatch naming order (horizontal or vertical grids only), before you uploading them into Second Life, it can take only a few minutes to get the data you need for the "translation table" geneartor. A "translation table" transforms a hotspot location name (or position) into a message that allows you to set an "object's face or faces" with texture, color, rotation, media, or anything else you want.
What is Involved?
Use of Touch Panels does require some basic Second Life programming skills (LSL), but in exchange for this skill, you get unlimited flexibility in how you use and program all of the distinct hotspot names the platform sends to your script(s). The platform implements the entire hotspot detection mechanism, instead delivering uniquely named messages on user-defined channels. We also generate the most of the code you need to transform your grids of hotspots into messages you send to your objects. making it a breeze to program dozens of possibilities, instead of the overwhelming effort of a dozen or two.
What you generally do is assemble all of this generated code and wrap your HUDs functionality around a single linked_message() event. Those with more advanced LSL skills will realize the creative possibilities with our exclusive dynamic loading of panel definitions and textures based on the interaction with any number of objects under your control on the Second Life grid. See the possible projects below.
What you generally do is assemble all of this generated code and wrap your HUDs functionality around a single linked_message() event. Those with more advanced LSL skills will realize the creative possibilities with our exclusive dynamic loading of panel definitions and textures based on the interaction with any number of objects under your control on the Second Life grid. See the possible projects below.
Main Features
HUDs and Information Panels Features:
Built-in features:
HUD Specific Features:
Special Features:
Techniques for Securing Texture UUIDs on Open Channels
- primarily texture-based offering low prim objects with zero limitations on flexible graphical design (apart from SL limits)
- standalone solution that requires no notecards or network connections to operate
- support for as many panel definitions as you could practically need for any HUD project (limited only by memory)
- panels can be overlapped dynamically too, making it easier to handle hotspots used on multiple pages
- define up to 150 hotspots per linked prim consisting of circles, rectangles and/or multi-point polygons.
Built-in features:
- ability to show the Second Life map from an SLURL
- distribute single inventory or folders of inventory to Residents interacting with your device
- display formatted messages containing links to your external websites (facebook, instragram, flickr, twitter, blog, etc.)
- use grids and translation tables to easily implement vast texture swatches from a single hotspot and one line to code!
- use one of five different tinting and coloring panels for truly dynamic colouring options for your customers
- unlimited flexibility in how you define paged, tabbed, hierarchical, or any other kind of rule-based navigation
HUD Specific Features:
- detaching from the Resident's HUD
- teleportation based on an SLURL
- It will do a region set position if you're on the same region or teleporting to it.
- with a HUD-based pointer, in mouse-look mode, guide a Resident to a location based on an SLURL. (video demo)
Special Features:
- Semi-automatically handling of "bombard mitigation", when llRegionSayTo() is not a practical option. Bombarding occurs when multiple HUDs are communicating on the same open channels, either by accident or two avatars with same HUD, and we have to mitigate which messages are meant for your objects, while ignoring the rest.
- Dynamic loading of panel definitions and textures, as well as implementing on-demand teleporting through the interaction of an object on the second life grid.
- This can be used to create a much more interactive experience that crosses multiple regions without needing to implement Second Life experiences. See possible projects below for examples of how this can be used.
Techniques for Securing Texture UUIDs on Open Channels
- Open Channel messages can be encrypted either with a simple cypher or AES if you're paranoid, however, AES will eat up your available memory and, in general, SL viewers aren't secure enough to warrant such actions, and since the viewer is open source, it doesn't prevent determined thieves.
- We recommend that if you want to protect texture UUIDs, you put the textures in the clothing, then refer to the texture by the name instead of their UUIDs. It will actually save memory becuase names are generally shorter than UUIDs, which are 36 characters.
Project Possibilities
- HUDs that drive multi-linked, external objects using listen(), such as, clothing, houses, vehicles, furniture, equipment, etc.
- Build HUDs for existing furniture or objects where you know the messages, such as, AVSitter.
- Create a grid wide HUD system, where Residents with the HUD can touch an object at a store, and download information about that store, like a mini tour, and identify featured or sale items on a per-store basis.
- Easily create an interactive store directory that can direct users to different locations in your store, which might span multiple parcels and regions.
- For periodic shopping events, creating a HUD as a template, and make it easy to swap textures from week-to-week. Each new HUD is distributed to your customers in a group notice. HUDs which can represent any number of sponsor tiers and subdivided them anyway required.
- Low-prim Information Panels that drive how customers can play with your merchendise at shopping events. The HUD below, when rezzed on the grid only uses two land impact (LI). If you get 50 LI in a booth, and the Information panel uses 2 LI, this means you get 48 LI left over to display the item you're selling and create an interactive demo.
- A HUD that supports teleporting for a hunt, where users only get information where the next Hunt item is only when the they find the first one. Much more complex rules are possible, such as requiring a hunter to find many objects in a store before getting a prize and the next hunt location.
- Turn your exceptional graphical design skills into a worthwhile Second Life consultancy where you build HUD projects for third parties.
Pricing TBD
The product is not publically avaliable, and is currently in Demo Only Beta (October 2020). This means we'll demo the technology.
Demonstration (by invite only)
Demonstration, for an upcoming pair of projects, build two HUDs with similar functionality, with both keep track of how much time it took to implement the HUD and how much flexibility you get setting it up (such as hotspot shapes and feature). Now repeat the process with the second HUD with our technology.
The goal of the demo is to compare how much less effort our system provides over your existing HUD processes and to allow you to consider more options to your customers than you can with your HUDs.
Provide us with up to 4 textures, and 4 images marking up the hotspots and giving them unique channel numbers and names. You can all send it in a folder or via email. In response, we'll deliver a demo project to you that consists of a:
We authorize you to use the system in a production HUD, so that you aren't wasting time producing another version of the same HUD if you like our platform.
One area you'll notice a significant decrease in time is the production of the HUD itself, in other systems you have to create prim heavy HUDs, and this setup can be time somewhat time consuming.
The goal of the demo is to compare how much less effort our system provides over your existing HUD processes and to allow you to consider more options to your customers than you can with your HUDs.
Provide us with up to 4 textures, and 4 images marking up the hotspots and giving them unique channel numbers and names. You can all send it in a folder or via email. In response, we'll deliver a demo project to you that consists of a:
- full-mod HUD script (you guarantee that any 3rd party only has COPY rights (no-mod, no-transfer)
- full-mod clothing/object script (you guarantee that any 3rd party only has COPY rights (no-mod, no-transfer)
- current version of the "QQ Touch Panel Controller" script (no-mod, copy, transfer) ... full distribution rights
- a 8-sided mesh object (used for caching the textures for instant recall) (full mod) ... no-transfer distribution rights)
- The object can also be used for saving and loading user presets.
We authorize you to use the system in a production HUD, so that you aren't wasting time producing another version of the same HUD if you like our platform.
One area you'll notice a significant decrease in time is the production of the HUD itself, in other systems you have to create prim heavy HUDs, and this setup can be time somewhat time consuming.