This repository was archived by the owner on Jul 24, 2023. It is now read-only.

Repository files navigation

DEPRECATED - This repo is no longer maintained


SolARUnityClientHololens2

License

Presentation

SolARUnityClientHololens2 is a Unity client to use SolAR Services containing the following elements:

  • A Unity prefab that encapsulates all the logic responsible for fetching from the Hololens 2 all the data required by the SolAR relocalization and mapping service as well as the logic to call those services.
  • 2 sample scenes that demontrate how to use this prefab to create AR application that rely on SolAR cloud services. One debug scene, which can display the data retrieved from the sensors, and one sample scene which offer a much cleaner and simple interface. Only the latter is meant to be shipped in project releases.

Currently, the SolAR cloud service version supported is: v1.0.0.

Architecture overview

This client is based on a SolAR Unity native plugin which is responsible of getting the sensor data from the device. This plugin also provides a C# binding that enables it to be used from a Unity app scripts.

Once these data are retrieved, the SolAR services are called. The communication relies on gRPC.

Architecture

More information about the communication layer can be found in the doc directory.

How to use the client

Install the prebuilt sample

SampleApp

An app bundle for the sample app can be found in the release section. More details on how to install it are described here

Import the client in your own app

A Unity package can be found in the release section. With it, you will be able to easily import the client as a prefab in your application.

How to do it and how to configure the client is explained in details here

The following picture illustrates how the Sample scene imported the prefab in its scene hierearchy.

SampleAppUsingClient

About

DEPRECATED - Unity client to use SolAR Services

Topics

Resources

Stars

0 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Jul 24, 2023. It is now read-only.

Repository files navigation

DEPRECATED - This repo is no longer maintained


SolARUnityClientHololens2

License

Presentation

SolARUnityClientHololens2 is a Unity client to use SolAR Services containing the following elements:

  • A Unity prefab that encapsulates all the logic responsible for fetching from the Hololens 2 all the data required by the SolAR relocalization and mapping service as well as the logic to call those services.
  • 2 sample scenes that demontrate how to use this prefab to create AR application that rely on SolAR cloud services. One debug scene, which can display the data retrieved from the sensors, and one sample scene which offer a much cleaner and simple interface. Only the latter is meant to be shipped in project releases.

Currently, the SolAR cloud service version supported is: v1.0.0.

Architecture overview

This client is based on a SolAR Unity native plugin which is responsible of getting the sensor data from the device. This plugin also provides a C# binding that enables it to be used from a Unity app scripts.

Once these data are retrieved, the SolAR services are called. The communication relies on gRPC.

Architecture

More information about the communication layer can be found in the doc directory.

How to use the client

Install the prebuilt sample

SampleApp

An app bundle for the sample app can be found in the release section. More details on how to install it are described here

Import the client in your own app

A Unity package can be found in the release section. With it, you will be able to easily import the client as a prefab in your application.

How to do it and how to configure the client is explained in details here

The following picture illustrates how the Sample scene imported the prefab in its scene hierearchy.

SampleAppUsingClient

About

DEPRECATED - Unity client to use SolAR Services

Topics

Resources

Stars

0 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Jul 24, 2023. It is now read-only.

Repository files navigation

DEPRECATED - This repo is no longer maintained


SolARUnityClientHololens2

License

Presentation

SolARUnityClientHololens2 is a Unity client to use SolAR Services containing the following elements:

  • A Unity prefab that encapsulates all the logic responsible for fetching from the Hololens 2 all the data required by the SolAR relocalization and mapping service as well as the logic to call those services.
  • 2 sample scenes that demontrate how to use this prefab to create AR application that rely on SolAR cloud services. One debug scene, which can display the data retrieved from the sensors, and one sample scene which offer a much cleaner and simple interface. Only the latter is meant to be shipped in project releases.

Currently, the SolAR cloud service version supported is: v1.0.0.

Architecture overview

This client is based on a SolAR Unity native plugin which is responsible of getting the sensor data from the device. This plugin also provides a C# binding that enables it to be used from a Unity app scripts.

Once these data are retrieved, the SolAR services are called. The communication relies on gRPC.

Architecture

More information about the communication layer can be found in the doc directory.

How to use the client

Install the prebuilt sample

SampleApp

An app bundle for the sample app can be found in the release section. More details on how to install it are described here

Import the client in your own app

A Unity package can be found in the release section. With it, you will be able to easily import the client as a prefab in your application.

How to do it and how to configure the client is explained in details here

The following picture illustrates how the Sample scene imported the prefab in its scene hierearchy.

SampleAppUsingClient

About

DEPRECATED - Unity client to use SolAR Services

Topics

Resources

Stars

0 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Jul 24, 2023. It is now read-only.

Repository files navigation

DEPRECATED - This repo is no longer maintained


SolARUnityClientHololens2

License

Presentation

SolARUnityClientHololens2 is a Unity client to use SolAR Services containing the following elements:

  • A Unity prefab that encapsulates all the logic responsible for fetching from the Hololens 2 all the data required by the SolAR relocalization and mapping service as well as the logic to call those services.
  • 2 sample scenes that demontrate how to use this prefab to create AR application that rely on SolAR cloud services. One debug scene, which can display the data retrieved from the sensors, and one sample scene which offer a much cleaner and simple interface. Only the latter is meant to be shipped in project releases.

Currently, the SolAR cloud service version supported is: v1.0.0.

Architecture overview

This client is based on a SolAR Unity native plugin which is responsible of getting the sensor data from the device. This plugin also provides a C# binding that enables it to be used from a Unity app scripts.

Once these data are retrieved, the SolAR services are called. The communication relies on gRPC.

Architecture

More information about the communication layer can be found in the doc directory.

How to use the client

Install the prebuilt sample

SampleApp

An app bundle for the sample app can be found in the release section. More details on how to install it are described here

Import the client in your own app

A Unity package can be found in the release section. With it, you will be able to easily import the client as a prefab in your application.

How to do it and how to configure the client is explained in details here

The following picture illustrates how the Sample scene imported the prefab in its scene hierearchy.

SampleAppUsingClient

About

DEPRECATED - Unity client to use SolAR Services

Topics

Resources

Stars

0 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Jul 24, 2023. It is now read-only.

Repository files navigation

DEPRECATED - This repo is no longer maintained


SolARUnityClientHololens2

License

Presentation

SolARUnityClientHololens2 is a Unity client to use SolAR Services containing the following elements:

  • A Unity prefab that encapsulates all the logic responsible for fetching from the Hololens 2 all the data required by the SolAR relocalization and mapping service as well as the logic to call those services.
  • 2 sample scenes that demontrate how to use this prefab to create AR application that rely on SolAR cloud services. One debug scene, which can display the data retrieved from the sensors, and one sample scene which offer a much cleaner and simple interface. Only the latter is meant to be shipped in project releases.

Currently, the SolAR cloud service version supported is: v1.0.0.

Architecture overview

This client is based on a SolAR Unity native plugin which is responsible of getting the sensor data from the device. This plugin also provides a C# binding that enables it to be used from a Unity app scripts.

Once these data are retrieved, the SolAR services are called. The communication relies on gRPC.

Architecture

More information about the communication layer can be found in the doc directory.

How to use the client

Install the prebuilt sample

SampleApp

An app bundle for the sample app can be found in the release section. More details on how to install it are described here

Import the client in your own app

A Unity package can be found in the release section. With it, you will be able to easily import the client as a prefab in your application.

How to do it and how to configure the client is explained in details here

The following picture illustrates how the Sample scene imported the prefab in its scene hierearchy.

SampleAppUsingClient

About

DEPRECATED - Unity client to use SolAR Services

Topics

Resources

Stars

0 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Jul 24, 2023. It is now read-only.

Repository files navigation

DEPRECATED - This repo is no longer maintained


SolARUnityClientHololens2

License

Presentation

SolARUnityClientHololens2 is a Unity client to use SolAR Services containing the following elements:

  • A Unity prefab that encapsulates all the logic responsible for fetching from the Hololens 2 all the data required by the SolAR relocalization and mapping service as well as the logic to call those services.
  • 2 sample scenes that demontrate how to use this prefab to create AR application that rely on SolAR cloud services. One debug scene, which can display the data retrieved from the sensors, and one sample scene which offer a much cleaner and simple interface. Only the latter is meant to be shipped in project releases.

Currently, the SolAR cloud service version supported is: v1.0.0.

Architecture overview

This client is based on a SolAR Unity native plugin which is responsible of getting the sensor data from the device. This plugin also provides a C# binding that enables it to be used from a Unity app scripts.

Once these data are retrieved, the SolAR services are called. The communication relies on gRPC.

Architecture

More information about the communication layer can be found in the doc directory.

How to use the client

Install the prebuilt sample

SampleApp

An app bundle for the sample app can be found in the release section. More details on how to install it are described here

Import the client in your own app

A Unity package can be found in the release section. With it, you will be able to easily import the client as a prefab in your application.

How to do it and how to configure the client is explained in details here

The following picture illustrates how the Sample scene imported the prefab in its scene hierearchy.

SampleAppUsingClient

About

DEPRECATED - Unity client to use SolAR Services

Topics

Resources

Stars

0 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Jul 24, 2023. It is now read-only.

Repository files navigation

DEPRECATED - This repo is no longer maintained


SolARUnityClientHololens2

License

Presentation

SolARUnityClientHololens2 is a Unity client to use SolAR Services containing the following elements:

  • A Unity prefab that encapsulates all the logic responsible for fetching from the Hololens 2 all the data required by the SolAR relocalization and mapping service as well as the logic to call those services.
  • 2 sample scenes that demontrate how to use this prefab to create AR application that rely on SolAR cloud services. One debug scene, which can display the data retrieved from the sensors, and one sample scene which offer a much cleaner and simple interface. Only the latter is meant to be shipped in project releases.

Currently, the SolAR cloud service version supported is: v1.0.0.

Architecture overview

This client is based on a SolAR Unity native plugin which is responsible of getting the sensor data from the device. This plugin also provides a C# binding that enables it to be used from a Unity app scripts.

Once these data are retrieved, the SolAR services are called. The communication relies on gRPC.

Architecture

More information about the communication layer can be found in the doc directory.

How to use the client

Install the prebuilt sample

SampleApp

An app bundle for the sample app can be found in the release section. More details on how to install it are described here

Import the client in your own app

A Unity package can be found in the release section. With it, you will be able to easily import the client as a prefab in your application.

How to do it and how to configure the client is explained in details here

The following picture illustrates how the Sample scene imported the prefab in its scene hierearchy.

SampleAppUsingClient

About

DEPRECATED - Unity client to use SolAR Services

Topics

Resources

Stars

0 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Jul 24, 2023. It is now read-only.

Repository files navigation

DEPRECATED - This repo is no longer maintained


SolARUnityClientHololens2

License

Presentation

SolARUnityClientHololens2 is a Unity client to use SolAR Services containing the following elements:

  • A Unity prefab that encapsulates all the logic responsible for fetching from the Hololens 2 all the data required by the SolAR relocalization and mapping service as well as the logic to call those services.
  • 2 sample scenes that demontrate how to use this prefab to create AR application that rely on SolAR cloud services. One debug scene, which can display the data retrieved from the sensors, and one sample scene which offer a much cleaner and simple interface. Only the latter is meant to be shipped in project releases.

Currently, the SolAR cloud service version supported is: v1.0.0.

Architecture overview

This client is based on a SolAR Unity native plugin which is responsible of getting the sensor data from the device. This plugin also provides a C# binding that enables it to be used from a Unity app scripts.

Once these data are retrieved, the SolAR services are called. The communication relies on gRPC.

Architecture

More information about the communication layer can be found in the doc directory.

How to use the client

Install the prebuilt sample

SampleApp

An app bundle for the sample app can be found in the release section. More details on how to install it are described here

Import the client in your own app

A Unity package can be found in the release section. With it, you will be able to easily import the client as a prefab in your application.

How to do it and how to configure the client is explained in details here

The following picture illustrates how the Sample scene imported the prefab in its scene hierearchy.

SampleAppUsingClient

About

DEPRECATED - Unity client to use SolAR Services

Topics

Resources

Stars

0 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages