ThomasSimonini HF staff commited on
Commit
469858b
1 Parent(s): 12be507

Add webgl version with Hugging Face Template

Browse files
Build/Jammo Robot WEBGL.data CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:0a1be90fda6fa6d581ef12cc50ec51238fd8335ebf3f0876a0457206f8cb2fe7
3
- size 26324385
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bca284065fbf5fdd350e00fe83c7ffdd86cb93f7ada7c15d7c6ce864310b0f1f
3
+ size 26324384
TemplateData/favicon.ico CHANGED
TemplateData/style.css CHANGED
@@ -1,16 +1,105 @@
1
- body { padding: 0; margin: 0 }
2
- #unity-container { position: absolute }
3
- #unity-container.unity-desktop { left: 50%; top: 50%; transform: translate(-50%, -50%) }
4
- #unity-container.unity-mobile { width: 100%; height: 100% }
5
- #unity-canvas { background: #231F20 }
6
- .unity-mobile #unity-canvas { width: 100%; height: 100% }
7
- #unity-loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none }
8
- #unity-logo { width: 154px; height: 130px; background: url('unity-logo-dark.png') no-repeat center }
9
- #unity-progress-bar-empty { width: 141px; height: 18px; margin-top: 10px; margin-left: 6.5px; background: url('progress-bar-empty-dark.png') no-repeat center }
10
- #unity-progress-bar-full { width: 0%; height: 18px; margin-top: 10px; background: url('progress-bar-full-dark.png') no-repeat center }
11
- #unity-footer { position: relative }
12
- .unity-mobile #unity-footer { display: none }
13
- #unity-webgl-logo { float:left; width: 204px; height: 38px; background: url('webgl-logo.png') no-repeat center }
14
- #unity-build-title { float: right; margin-right: 10px; line-height: 38px; font-family: arial; font-size: 18px }
15
- #unity-fullscreen-button { float: right; width: 38px; height: 38px; background: url('fullscreen-button.png') no-repeat center }
16
- #unity-warning { position: absolute; left: 50%; top: 5%; transform: translate(-50%); background: white; padding: 10px; display: none }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ html {
2
+ box-sizing: border-box;
3
+ }
4
+ *, *:before, *:after {
5
+ box-sizing: inherit;
6
+ }
7
+ html, body {
8
+ height: 100%;
9
+ }
10
+ canvas {
11
+ display: block;
12
+ }
13
+ body {
14
+ margin: 0;
15
+ }
16
+ #unity-container {
17
+ width: 100%;
18
+ height: 100%;
19
+ }
20
+ #unity-canvas {
21
+ width: 100%;
22
+ height: 100%;
23
+ background: #231F20;
24
+ }
25
+ #loading-cover {
26
+ position: absolute;
27
+ top: 0;
28
+ left: 0;
29
+ width: 100%;
30
+ height: 100%;
31
+ display: flex;
32
+ justify-content: center;
33
+ align-items: center;
34
+ }
35
+ #unity-loading-bar {
36
+ flex: 1 1 auto;
37
+ display: flex;
38
+ flex-direction: column;
39
+ justify-content: center;
40
+ align-items: center;
41
+ }
42
+ #unity-logo {
43
+ text-align: center;
44
+ }
45
+ #unity-logo img {
46
+ max-width: 80%;
47
+ }
48
+ #unity-progress-bar-empty {
49
+ width: 80%;
50
+ height: 24px;
51
+ margin: 10px 20px 20px 10px;
52
+ text-align: left;
53
+ border: 1px solid white;
54
+ padding: 2px;
55
+ }
56
+ #unity-progress-bar-full {
57
+ width: 0%;
58
+ height: 100%;
59
+ background: #ffd21e;
60
+ }
61
+ .light #unity-progress-bar-empty {
62
+ border-color: black;
63
+ }
64
+ .light #unity-progress-bar-full {
65
+ background: black;
66
+ }
67
+
68
+ #unity-fullscreen-button {
69
+ position: absolute;
70
+ right: 10px;
71
+ bottom: 10px;
72
+ width: 38px;
73
+ height: 38px;
74
+ background: url('fullscreen-button.png') no-repeat center;
75
+ background-size: contain;
76
+ }
77
+
78
+ .spinner,
79
+ .spinner:after {
80
+ border-radius: 50%;
81
+ width: 5em;
82
+ height: 5em;
83
+ }
84
+ .spinner {
85
+ margin: 10px;
86
+ font-size: 10px;
87
+ position: relative;
88
+ text-indent: -9999em;
89
+ border-top: 1.1em solid rgba(255, 255, 255, 0.2);
90
+ border-right: 1.1em solid rgba(255, 255, 255, 0.2);
91
+ border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
92
+ border-left: 1.1em solid #ffffff;
93
+ transform: translateZ(0);
94
+ animation: spinner-spin 1.1s infinite linear;
95
+ }
96
+ @keyframes spinner-spin {
97
+ 0% {
98
+ transform: rotate(0deg);
99
+ }
100
+ 100% {
101
+ transform: rotate(360deg);
102
+ }
103
+ }
104
+
105
+
index.html CHANGED
@@ -3,38 +3,90 @@
3
  <head>
4
  <meta charset="utf-8">
5
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6
- <title>Unity WebGL Player | Jammot</title>
 
 
 
7
  </head>
8
- <body style="text-align: center; padding: 0; border: 0; margin: 0;">
9
- <canvas id="unity-canvas" width=960 height=600 style="width: 960px; height: 600px; background: #231F20"></canvas>
10
- <script src="Build/Jammo Robot WEBGL.loader.js"></script>
 
 
 
 
 
 
 
 
 
 
 
11
  <script>
12
- if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
13
- // Mobile device style: fill the whole browser client area with the game canvas:
14
- var meta = document.createElement('meta');
15
- meta.name = 'viewport';
16
- meta.content = 'width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, shrink-to-fit=yes';
17
- document.getElementsByTagName('head')[0].appendChild(meta);
18
-
19
- var canvas = document.querySelector("#unity-canvas");
20
- canvas.style.width = "100%";
21
- canvas.style.height = "100%";
22
- canvas.style.position = "fixed";
23
-
24
- document.body.style.textAlign = "left";
25
- }
26
-
27
- createUnityInstance(document.querySelector("#unity-canvas"), {
28
- dataUrl: "Build/Jammo Robot WEBGL.data",
29
- frameworkUrl: "Build/Jammo Robot WEBGL.framework.js",
30
- codeUrl: "Build/Jammo Robot WEBGL.wasm",
31
  streamingAssetsUrl: "StreamingAssets",
32
  companyName: "DefaultCompany",
33
  productName: "Jammot",
34
  productVersion: "0.1",
35
- // matchWebGLToCanvasSize: false, // Uncomment this to separately control WebGL canvas render size and DOM element size.
36
- // devicePixelRatio: 1, // Uncomment this to override low DPI rendering on high DPI displays.
37
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  </script>
39
  </body>
40
  </html>
 
3
  <head>
4
  <meta charset="utf-8">
5
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
7
+ <title>Jammot</title>
8
+ <link rel="shortcut icon" href="TemplateData/favicon.ico">
9
+ <link rel="stylesheet" href="TemplateData/style.css">
10
  </head>
11
+ <body class="dark">
12
+ <div id="unity-container" class="unity-desktop">
13
+ <canvas id="unity-canvas"></canvas>
14
+ </div>
15
+ <div id="loading-cover" style="display:none;">
16
+ <div id="unity-loading-bar">
17
+ <div id="unity-logo"><img src="logo.png"></div>
18
+ <div id="unity-progress-bar-empty" style="display: none;">
19
+ <div id="unity-progress-bar-full"></div>
20
+ </div>
21
+ <div class="spinner"></div>
22
+ </div>
23
+ </div>
24
+ <div id="unity-fullscreen-button" style="display: none;"></div>
25
  <script>
26
+ const hideFullScreenButton = "";
27
+ const buildUrl = "Build";
28
+ const loaderUrl = buildUrl + "/Jammo Robot WEBGL.loader.js";
29
+ const config = {
30
+ dataUrl: buildUrl + "/Jammo Robot WEBGL.data",
31
+ frameworkUrl: buildUrl + "/Jammo Robot WEBGL.framework.js",
32
+ codeUrl: buildUrl + "/Jammo Robot WEBGL.wasm",
 
 
 
 
 
 
 
 
 
 
 
 
33
  streamingAssetsUrl: "StreamingAssets",
34
  companyName: "DefaultCompany",
35
  productName: "Jammot",
36
  productVersion: "0.1",
37
+ };
38
+
39
+ const container = document.querySelector("#unity-container");
40
+ const canvas = document.querySelector("#unity-canvas");
41
+ const loadingCover = document.querySelector("#loading-cover");
42
+ const progressBarEmpty = document.querySelector("#unity-progress-bar-empty");
43
+ const progressBarFull = document.querySelector("#unity-progress-bar-full");
44
+ const fullscreenButton = document.querySelector("#unity-fullscreen-button");
45
+ const spinner = document.querySelector('.spinner');
46
+
47
+ const canFullscreen = (function() {
48
+ for (const key of [
49
+ 'exitFullscreen',
50
+ 'webkitExitFullscreen',
51
+ 'webkitCancelFullScreen',
52
+ 'mozCancelFullScreen',
53
+ 'msExitFullscreen',
54
+ ]) {
55
+ if (key in document) {
56
+ return true;
57
+ }
58
+ }
59
+ return false;
60
+ }());
61
+
62
+ if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
63
+ container.className = "unity-mobile";
64
+ config.devicePixelRatio = 1;
65
+ }
66
+ loadingCover.style.display = "";
67
+
68
+ const script = document.createElement("script");
69
+ script.src = loaderUrl;
70
+ script.onload = () => {
71
+ createUnityInstance(canvas, config, (progress) => {
72
+ spinner.style.display = "none";
73
+ progressBarEmpty.style.display = "";
74
+ progressBarFull.style.width = `${100 * progress}%`;
75
+ }).then((unityInstance) => {
76
+ loadingCover.style.display = "none";
77
+ if (canFullscreen) {
78
+ if (!hideFullScreenButton) {
79
+ fullscreenButton.style.display = "";
80
+ }
81
+ fullscreenButton.onclick = () => {
82
+ unityInstance.SetFullscreen(1);
83
+ };
84
+ }
85
+ }).catch((message) => {
86
+ alert(message);
87
+ });
88
+ };
89
+ document.body.appendChild(script);
90
  </script>
91
  </body>
92
  </html>
logo.png ADDED