Unity
19 TopicsHoloLens 2 + Mixed Reality Applications | Technical Datasheet
Click below to download HoloLens 2 Technical Datasheet https://www.microsoft.com/en-us/hololens/ is an untethered, self-contained holographic device that allows users to leverage enterprise ready https://www.microsoft.com/en-us/hololens/apps and https://azure.microsoft.com/en-us/solutions/mixed-reality/ while working heads-up and hands-free. By merging the real world with the digital world, MR users across industries can benefit from enriched remote collaboration, increased precision of work, minimized human error, fewer resource gaps, better knowledge retention, and more. Pair HoloLens 2 with a comprehensive ecosystem of apps and services from Microsoft and https://www.microsoft.com/en-us/hololens/mixed-reality-partners for https://tools.totaleconomicimpact.com/go/microsoft/HoloLens2MRApps/ impact.894Views2likes0CommentsOpen PDF Document in Hololens 2 from the file browser
I am trying to open a pdf document located in the persistent data path, in the file explorer, in the hololens 2 device but when trying to open it by c# code in Unity, nothing happens. I've tried with the code provided in the question locted in https://stackoverflow.com/questions/71382025/open-pdf-in-hololens-unity and it appear to happen an exception that sais this: "Exception of type 'System.Exception' was thrown". Does anyone know what is happening and how can I fix it? This is the code I've used to do it: using UnityEngine; using UnityEngine.Networking; using System; using System.IO; using System.Collections; using System.Diagnostics; using TMPro; using System.Threading.Tasks; #if !UNITY_EDITOR && UNITY_WSA using System; using System.Threading.Tasks; using Windows.System; using Windows.Storage; using Windows.Storage.Streams; using Windows.Data.Pdf; #endif public class PdfDownloader : MonoBehaviour { public string pdfUrl = "https://grados.ugr.es/primaria/pages/infoacademica/archivos/ejemplostfg/!"; public string destinationPath = "my-file.pdf"; int pg = 0; // Definir e inicializar la variable pg [SerializeField] private GameObject PDFPlane = null; [SerializeField] private TextMeshProUGUI text = null; #if !UNITY_EDITOR && UNITY_WSA PdfDocument pdfDocument; #endif public void download() { StartCoroutine(DownloadPdf()); } IEnumerator DownloadPdf() { UnityWebRequest www = UnityWebRequest.Get(pdfUrl); yield return www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { UnityEngine.Debug.LogError("Error al descargar el archivo PDF: " + www.error); } else { string filePath = Path.Combine(Application.persistentDataPath, destinationPath); SaveFile(filePath, www.downloadHandler.data); UnityEngine.Debug.Log("Archivo PDF descargado correctamente en: " + filePath); text.text += "Archivo PDF descargado correctamente en: " + filePath+ "\n"; // Abrir el archivo PDF LoadAsync(); text.text += "Abierto" + "\n"; } } void SaveFile(string path, byte[] data) { try { // Crear el directorio si no existe string directory = Path.GetDirectoryName(path); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); text.text += "Creado" + "\n"; } // Escribir los datos del archivo en el archivo especificado File.WriteAllBytes(path, data); text.text += "Escrito" + "\n"; } catch (Exception e) { UnityEngine.Debug.LogError("Error al guardar el archivo: " + e.Message); text.text += "Error al guardar el archivo: " + e.Message+ "\n"; } } public async void LoadAsync() { string path = Application.persistentDataPath; #if !UNITY_EDITOR && UNITY_WSA text.text += "Empiezo "+ "\n"; try { StorageFolder storageFolder = await StorageFolder.GetFolderFromPathAsync(path); /*StorageFolder storageFolder = KnownFolders.CameraRoll;*/ text.text += "Empiezo 2 "+ "\n"; StorageFile sampleFile = await storageFolder.GetFileAsync("my-file.pdf"); text.text += "Empiezo 3 "+ "\n"; //pdfDocument is an instanced object of type PdfDocument pdfDocument = await PdfDocument.LoadFromFileAsync(sampleFile); text.text += "Folder path 2: " + storageFolder + "\n"; } catch (Exception e) { text.text += "1: " + e.Message; } text.text += "listo"; #endif } public async void ChangePageAsync() { text.text += "Voy" + "\n"; #if !UNITY_EDITOR && UNITY_WSA text.text += "Empiezo "+ "\n"; //pg is the page to load using (PdfPage firstPage = pdfDocument.GetPage((uint)pg)) { InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream(); await firstPage.RenderToStreamAsync(stream); MemoryStream tempStream = new MemoryStream(); await stream.AsStream().CopyToAsync(tempStream); byte[] imgBytes = new byte[16 * 1024]; imgBytes = tempStream.ToArray(); Texture2D imgTex = new Texture2D(2048, 2048, TextureFormat.BC7, false); imgTex.LoadImage(imgBytes); imgTex.filterMode = FilterMode.Bilinear; imgTex.wrapMode = TextureWrapMode.Clamp; MeshRenderer meshRenderer = PDFPlane.GetComponent<MeshRenderer>(); Material mat = meshRenderer.material; mat.SetTexture("_MainTex", imgTex); mat.mainTextureScale = new Vector2(1, 1); text.text += "pg: " + pg + "\n"; } #endif } } In the code, I first download it and then try open it. The text.text are debugging lines I've added. The pdf URL is an example pdf obtained from google. I want to show using an Unity app a pdf that has been downloaded before a pdf, avoiding the limitations tah hololens 2 has when opening a local file.639Views1like0CommentsUWP app network connection blocked by hololens 2 windows firewall
Hello, my UWP app, which was installed on the HoloLens, has encountered an issue and is now unable to connect to the internet.I checked the hololens diagnostic log and it stated the following event: "Windows Defender Firewall was unable to notify the user that it blocked an application from accepting incoming connections on the network. Reason: The application is non interactive Application Path:.....". My development setup includes Unity 2018.4.11f1 and Visual Studio 2019. The capability setting in AppxManifest file is: <Capabilities> <Capability Name="internetClient" /> <Capability Name="internetClientServer" /> <Capability Name="privateNetworkClientServer"/> <uap:Capability Name="documentsLibrary" /> <uap2:Capability Name="spatialPerception" /> <DeviceCapability Name="webcam" /> <DeviceCapability Name="microphone" /> </Capabilities> The application tested all OK in unity editor but when loaded to hololens it failed to establish a network connection. Does anyone has any idea why the app has been blocked by hololens firewall? Thanks990Views1like5CommentsHololens 2 QRCode Sample in MRTK3
Hello. For an application we built in our laboratory, we used MRTK 2.7.2 and this sample https://github.com/microsoft/MixedReality-QRCode-Sample , with unity 2021.1.22. The sample works really well in our case. Now, we are creating a new application with latest version of MRTK3 and Unity 2021.3.19, but seems that the sample doesn't work with MRTK3. Is there a way to let it work with MRTK3? Thank you, Nicolas.726Views1like0Comments