-
-
Notifications
You must be signed in to change notification settings - Fork 5
Touch Screen Guide
Touch screen support is still experimental. There might be issues with either the module, or due to hardware limitations. Right now I cannot recommend that anyone buys a touch capable screen or IR touch frame for Material Plane, it is probably better to wait until this has been tested more extensively.
Touch screen functionality is currently broken in Foundry v11.
- A screen with capacitive touch capabilities or a normal TV with IR touch frame
- IR touch frame: it needs to be calibrated properly. Follow the instructions of the manufacturer
- Compatible minis: See below
Touch frames work by sending a beam of IR light across the surface of the TV. If this light is interrupted, the location is calculated and is sent to the module. There are 2 challenges related to this:
- The IR beam is located slightly above the surface of the TV (probably a few millimeters)
- Small objects might not be detected
This means that the touch frame might have trouble detecting certain minis. If the base of the mini is thin, it's possible that the IR beam is at the height of the legs of that mini, which might be undetectable.
The easiest way to solve this, would be to increase the height of the base, by, for example, glueing some object to the bottom of the base.
In simple terms, a capacitive screen works by sensing a change in capacitance caused by touch. For this to function for minis (or other objects), the mini must be conductive, or at least, there must be a conductive path from your finger to the touch screen. Below are 2 methods to achieve this.
-
Copper Tape
Buy copper (or other conductive) tape, cut of a piece (try around 3 or 4 cm), and place it on the bottom of the base in such a way that a part of the tape extends past the base. Fold the extending part up (towards the top of the mini). Optionally, you can fold the extending part of the tape double, so it sticks to itself, and not to the mini (or to your finger). When you want to move the mini, you will have to continuously touch the copper tape. -
Conductive Paint
I can't promise that this will work, but you can buy (transparent) conductive paint. Spray this across the whole mini, including the bottom of the base. You might need multiple coats to achieve a low enough resistance.
There are some limitations related to using a touch screen:
- During movement, the mini must always stay in contact (or very close to) the TV, otherwise the touch frame cannot detect it.
- There is a limited amount of touch points, usually 10. This means that you are not able to place more than that number of minis on the TV. For big parties or big battles, this might mean that you can only place minis for the PCs, and not for NPCs.
- Touch points are not completely independent. This means that if you move a mini at one point, it might interfere with the detected location of another mini (this is mostly solved through software).
- Because of the way the touch frame works, one mini can cast a 'shade' over other minis, meaning that the minis in the shade cannot be detected. It is currently not clear how big of an issue this is, and will probably only be relevant if there are a lot of minis close to each other.
- During movement, the mini must always stay in contact the TV, otherwise the screen cannot detect it.
- There is a limited amount of touch points, usually 10. This does not limit the amount of minis you can have on the TV, but it does limit the amount of minis you can move at the same time. Since it's not common to move that many minis at the same time, this probably isn't a big problem.
The configuration for Material Plane is done through the configuration menu. This menu can be accessed in the 'Game Settings' sidebar tab.
The first thing you should do, is set 'Device' to 'Touch Screen' in the 'General' tab. This will configure the configuration menu to only display settings relevant to touch screens.
There are 2 tabs:
-
General: General settings for the module
-
Touch: Settings related to the touch screen
The general settings cover settings that are relevant for all Material Plane users. It configures how the module behaves.
In these settings, terms like 'dropping the mini' are used. What's meant with this, is that when movement is no longer detected, the token stops being controlled/active.
- Target User: Here you configure which user has the TV connected to it. This user will be used by all the players and will handle all the interactions with the touch screen. Changing this setting will refresh the browser after closing the configuration menu
- Device: Configure what device is used to track minis. Since you're in the 'Touch Screen Guide', you should set this to 'Touch Screen' (or 'IR Touch Frame'). Changing this setting will refresh the browser after closing the configuration menu
-
Movement Method: With this setting you can configure how movement and vision is updated. There are 3 settings:
- Default: This is similar to the default Foundry behavior. Moving a mini will move the corresponding token, but vision is only updated after the token is dropped. This option is the least performance intensive
- Step-By-Step: When a mini is moved to the next grid space, the corresponding token's position and is immediately updated to that position. This means that the token will move in steps, where each new grid space forms a step
- Live: When is mini is moved, the corresponding token's vision is updated live. This is the most resource intensive option, but is much more fluid and realistic than the others
- Deselect Token After Drop: When a mini is moved, its corresponding token is automatically selected. With this option disabled, the token will stay selected until deselected through other means. This means that multiple tokens can be selected, so their vision is shared. With this option enabled, the token will be deselected once the mini is dropped. This means that when moving a mini, only the vision of that token is displayed
- Draw Movement Marker: Enabling this will draw a green or red square on the grid space where the token would land if it is dropped. A green square means that the token is allowed to be moved there, while a red square means it isn't allowed to, probably due to a wall collision
- Non-Owned Movement: With this setting disabled, only tokens that are owned by the target user can be controlled. With this setting enabled, all tokens can be controlled. This can be useful if NPC minis are used, and are being tracked with Material Plane. Non-owned tokens are allowed to pass through walls, and their vision is not shared
- Token Collision Prevention: (Experimental) When enabled, Material Plane will try to prevent token collisions. If one token ends up in an occupied grid space, an invisible straight line between the starting and ending position of the movement is drawn. Instead of moving onto the occupied space, the token will be placed on the nearest allowable space along the line
- Hide Display Elements: Hides all the display (UI) elements for the target player (if the target player is not a GM). This will give a cleaner look, and the elements are mostly unused anyway when using Material Plane. The elements can be toggled on or of using the 'Ctrl' button. Changing this setting will refresh the browser after closing the configuration menu
- Block Interactions: Blocks all canvas interactions if the configuration menu is open. This means that tokens cannot be moved if this setting is enabled. This can be useful during configuration, so you don't accidentally move tokens. This setting resets to enabled after a refresh
The touch settings cover settings that configure how touches are handled.
- Tap Mode: You can tap the screen in order to interact with some canvas elements, such as opening doors. Here you can configure how taps are detected. More info on tapping here
- Token Drop Timeout: Every time that a token is moved, a timer starts (or is reset). Once that timer has reached this value in milliseconds, it will drop the token. So if configured to 500ms and a mini hasn't been moved for 500ms, that mini will be dropped
- Tap Timeout: Sets the timeout to detect a tap, move info here
To move a mini, you must first raise the mini from the screen, then after lowering it again on the screen, you can move it around.
This lift-to-activate procedure is implemented to counter some of the issues related to touch frames: In certain situations, movement of a mini can influence the detected location of another mini. Since that other mini is probably not activated when this issue occurs, it should no longer be influenced by the movement of the first mini.
The token that is nearest to the mini will be activated (within approximately 1 grid space). So if there are 2 tokens next to each other, you have to make sure that you place the mini exactly on the correct token.
Once a token has been activated, it will be selected and follow the mini. The exact movement and vision behavior is determined by the 'Movement Method'. The token will be dropped once no movement is detected for a certain period of time (determined by 'Token Drop Timeout'), so to ensure that a mini isn't accidentally dropped, you might want to keep moving it.
If the mini is at its desired location, you simply place it down, and it will be dropped after some time (determined by 'Token Drop Timeout'). If 'Deselect Token After Drop' is enabled the token will be deselected, which will cause Foundry to display the vision of all owned tokens, otherwise the token will stay selected until deselected through some other means.
Besides moving minis, the touch frame or touch screen can be used to interact with other objects on the canvas. Some display elements (such as the control buttons) can be accessed, and you can open or close a door by tapping the door icon.
In order for this to work, 'Tap Mode' and 'Tap Timeout' must be configured in the Touch Settings tab of the configuration menu.
There are currently 2 modes, mainly for testing purposes. In the end, the best one will be implemented. Please give them both a try, and let me know which you prefer.
Note that tapping takes up 1 touch point. So for a standard touch screen with 10 touch points, you'll be limited to using 9 minis.
Besides disabling tapping, there are 2 modes. The mode determines how Material Plane distinguishes minis from taps.
- Disable: Disables tapping functionality
- Tap Timeout: When a new touch is detected, a timer will start. If the touch is removed before the timer counts up to 'Tap Timeout', it will assume that the screen was tapped, otherwise it will assume that a mini was placed. So if 'Tap Timeout' is set to 500ms, and you want to tap, you must touch the screen and remove your finger in half a second. This also means that when you want to move a mini, there is a half a second delay before the token actually moves
- Raise Mini: When a new touch is detected, Material Plane will check if a touch has recently (within the last 'Tap Timeout' ms) ended near the new touch. If that's the case, Material Plane will assume that a mini is being moved, otherwise it'll assume it's a tap. So if 'Tap Timeout' is set to 1000ms, and you want to move a mini, you must raise that mini, and place it back down before you can move (which you already have to do, anyway) within 1 second. Taps are detected immediately anywhere on the screen, except when you've recently (within 1 second, in this case) raised a mini close to the place you want to tap