-
-
Notifications
You must be signed in to change notification settings - Fork 75
/
Copy pathexample_theme.json.txt
250 lines (222 loc) · 9.19 KB
/
example_theme.json.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
// This is an example theme file describing the available properties to create custom themes.
// Each property is preceded by a comment describing its function.
// ## Theme File Format
// A theme file must be properly formatted JSON, file extension .json or .jsonc, line comments are allowed.
// This example file is named .json.txt such that it is not mistaken for an actual theme file.
// ## File Paths
// Paths can be absolute or relative. Relative paths are interpreted relative to the theme file.
// Supported image formats: png, jpg
// Supported audio formats: ogg, mp3
// ## Example JSON
{
// Name of a theme that should be inherited.
// You only need to specify properties that you want to overwrite.
// Relative file paths in the parent theme are interpreted relative to the parent theme file.
"parentTheme": "vinyl",
// List of Unity Style Sheets (USS).
// See https://docs.unity3d.com/Manual/UIE-about-uss.html
// File references in these style sheets are not supported (e.g. referencing an image or font is not supported).
// Style sheets should be preferred because they are more stable and flexible than below styling options.
"styleSheets": [
"stylesheets/my-styles.uss"
]
// See below for the content of control style.
// Not all controls need to be specified.
// The defaultControl style will be used as fallback if needed.
"defaultControl": {...},
"transparentButton": {...},
"textOnlyButton": {...},
"dangerButton": {...},
"toggle": {...},
"staticPanel": {...},
"dynamicPanel": {...},
// Font (and icon) colors
"primaryFontColor": "#F0F0F0",
"secondaryFontColor": "#C0C0C0",
"warningFontColor": "#FEC84B",
"errorFontColor": "#F97066",
// Lyrics
"lyricsContainerGradient": "#000000, #1E232B",
"beforeLyricsIndicatorImage": "icons/usdx/[sing]lyricsHelpBar.png",
"lyricsShadow": true,
"lyricsColor": "#E1E1E1E5",
"nextLyricsColor": "#E1E1E1E5",
"lyricsOutlineColor": "#00000000",
"currentNoteLyricsColor": "#FF0000",
"previousNoteLyricsColor": "#00FF00",
"goldenColor": "FF00FF",
// Drop shadow to make elements without a background more readable.
"noBackgroundInHierarchyTextShadow": {
"color": "#a0a0a0",
"offset": {
"x": 1,
"y": 1
}
},
// This group defines the dynamic background parameters.
// The dynamic background can use
// - a (looping) video for its base
// - a (looping) video for additive lights
// - images for pattern, particle, and gradients that can be animated
"dynamicBackground": {
// Path to the video file.
"videoPath": "videos/cool-loop.mp4",
// Playback speed of the video where 1 is normal playback speed.
"videoPlaybackSpeed": 0.5,
// Path to the video file that should be used as additive light.
"lightVideoPath": "videos/cool-loop.mp4",
"lightVideoPlaybackSpeed": 0.5,
// A single-pixel high image that defines the color gradient to use.
"gradientRampFile": "gradients/green lime.png",
// The type of gradient to use, accepted values are:
// Linear, Radial, Reflected, Repeated, RadialRepeated
"gradientType": "Repeated",
// The scale of the gradient.
"gradientScale": 4.5,
// The smoothness of the gradient, i.e. 0 will result in a crisp line
// between the brightest and the darkest colors.
// The value can exceed 1.
"gradientSmoothness": 0.6,
// The angle of the gradient, which is relevant for non-radial types.
"gradientAngle": 200,
// Enables sine-based wavy animation on the background gradient.
"gradientAnimation": true,
// Speed of the sine animation.
"gradientAnimSpeed": 1.0,
// Amplitude of the sine animation.
"gradientAnimAmplitude": 0.2,
// The image to use for the background particles (preferably PNG with
// alpha). Leave empty to hide particles.
"particleFile": "",
// The opacity of the background particles.
"particleOpacity": 0.3
// The pattern file, i.e. a repeated image that will be displayed in the
// background. PNG with alpha will work, to leave parts of the gradient
// visible. Leave empty to hide pattern.
"patternFile": "",
// The scale of the pattern texture. Note that it is already corrected
// for the selected aspect ratio by default.
"patternScale": { "x": 2.0, "y": 2.0 },
// The scrolling speed of the pattern. Set to 0 for no scrolling.
"patternScrolling": { "x": 0.02, "y": 0.04 },
// The tint color of the pattern. Leave white to get the image's default
// colors. You can also just change the alpha to change the opacity.
"patternColor": "#FFFFFF",
// The opacity of the user interface drop shadow effect.
// Set to 0 to disable.
"uiShadowOpacity": 0.33,
// The offset coordinates for the drop shadow effect.
"uiShadowOffset": { "x": -16, "y": 10 }
},
// This group defines the parameters for a static background image. The image is placed on top of other background element such as videos.
"staticBackground": {
// Path to the image file.
"imagePath": "backgrounds/open-sign-1836961_1920.jpg",
// The scale mode defines how to scale the content to the screen. Can be one of 'StretchToFill', 'ScaleAndCrop', 'ScaleToFit'
"imageScaleMode": "ScaleAndCrop"
},
// Overwrite the default background for a specific scene.
// Available scene names can be found here: https://github.com/UltraStar-Deluxe/Play/blob/master/UltraStar%20Play/Assets/Common/Scene/EScene.cs
"sceneSpecificBackgrounds": {
"MainScene": {
"staticBackground": { ... },
"dynamicBackground": { ... },
}
},
// Defines the paths to custom icons for the song rating emojis.
// If not set, default icons will be used.
"songRatingIcons": {
"toneDeaf": "icons/theme name/rating_0.png",
"amateur": "icons/theme name/rating_1.png",
"wannabe": "icons/theme name/rating_2.png",
"hopeful": "icons/theme name/rating_3.png",
"risingStar": "icons/theme name/rating_4.png",
"leadSinger": "icons/theme name/rating_5.png",
"superstar": "icons/theme name/rating_6.png",
"ultrastar": "icons/theme name/rating_7.png"
},
// Custom background music.
"backgroundMusic": "music/my-background-music.mp3",
// Color for the video preview in song select (can also be used to make it transparent).
"videoPreviewColor": "#00FF0022",
// Defines the colors for the rating after each phrase.
"phraseRatingColors": {
"perfect": "#00FF00",
"great": "#006600",
"good": "#FF00FF",
"notBad": "#0000FF",
"bad": "#FF0000",
},
// Defines available colors for recording devices
"microphoneColors": [
"#FF0000",
"#00FF00",
"#0000FF",
],
// Defines colors for the song editor
"songEditorLayerColors": {
"P1": "#ccbbaa",
"P2": "#aabbff",
"MicRecording": "#FF0000",
"ButtonRecording": "#00FF00",
"CopyPaste": "#FF00FF",
"Import": "#FFFF00",
}
}
// Each control style (e.g. "defaultControl", "transparentButton") can contain
// the properties fontColor, backgroundColor or backgroundGradient or backgroundImage, borderColor
// for each of the states normal, hover, focus, active, disabled.
// Colors are in the form #RRGGBBAA where AA is optional
// Gradients are similar to CSS linear-gradient, namely <angle>, <start-color>, <end-color>
// where <angle> is optional.
{
"fontColor": "...",
"hoverFontColor": "...",
"focusFontColor": "...",
"activeFontColor": "...",
"hoverFocusFontColor": "...",
"hoverActiveFontColor": "...",
"disabledFontColor": "...",
"backgroundColor": "..."
"hoverBackgroundColor": "..."
"focusBackgroundColor": "..."
"activeBackgroundColor": "..."
"hoverFocusBackgroundColor": "..."
"hoverActiveBackgroundColor": "..."
"disabledBackgroundColor": "..."
"backgroundGradient": "45deg, #101828, #475467"
"hoverBackgroundGradient": "..."
"focusBackgroundGradient": "..."
"activeBackgroundGradient": "..."
"hoverFocusBackgroundGradient": "..."
"hoverActiveBackgroundGradient": "..."
"disabledBackgroundGradient": "..."
"borderColor": "..."
"hoverBorderColor": "..."
"focusBorderColor": "..."
"activeBorderColor": "..."
"hoverFocusBorderColor": "..."
"hoverActiveBorderColor": "..."
"disabledBorderColor": "..."
"backgroundImage": "..."
"hoverBackgroundImage": "..."
"focusBackgroundImage": "..."
"activeBackgroundImage": "..."
"hoverFocusBackgroundImage": "..."
"hoverActiveBackgroundImage": "..."
"disabledBackgroundImage": "..."
"textShadow": : {
"color": "#a0a0a0",
"offset": {
"x": 1,
"y": 1
},
"blurRadius": 0
}
"hoverTextShadow": "..."
"focusTextShadow": "..."
"activeTextShadow": "..."
"hoverFocusTextShadow": "..."
"hoverActiveTextShadow": "..."
"disabledTextShadow": "..."
}