MRTK Unity
26 TopicsIntegrating Mixed Reality MR
How Can Mixed Reality Celebrate Local Culture in Gaming? Gaming is a powerful way to share stories and traditions with a global audience. With our game "92PKR," . By integrating Mixed Reality (MR), we created an immersive experience that brings players closer to the vibrant festivals, iconic landmarks, and traditional music of the region. This blend of MR technology and cultural storytelling not only makes the game engaging but also highlights how gaming can preserve and celebrate heritage in new and exciting ways. We’d love to hear your thoughts: How do you think Mixed Reality can enhance cultural storytelling in games? Have you come across games that successfully integrate local culture and traditions? What features would you like to see in MR-based cultural games?54Views0likes0CommentsMRTK 3 Pinch Recognition On HoloLens 2
Hi everyone, this is my first time posting here. Please let me know if I messed up something in this post. I am optimizing a HoloLens 2 application developed with MRTK 3 in Unity, and I have been trying to improve the sensitivity of pinch recognition. In other words, what I wish to achieve is that the object manipulators in the application are only activated by pinching when the user’s thumb-forefinger distance becomes 0 (or at the least very close to 0). I set the pinch open threshold and the pinch closed threshold of the hands aggregator subsystem of MRTK 3 to 0.08 and 0.03, hoping that MRTK 3 will only recognize pinch in the more sensitive way mentioned above. However, the object manipulators are still activated by pinching even when the user’s thumb and forefinger are quite far away (about one half of the length of the user’s forefinger) from each other. Is this because of the hardware limitation of HoloLens 2? Is there any possibility that I can improve the pinch recognition on HoloLens 2? Big thanks in advance!99Views0likes0CommentsThe Growing Potential of Mixed Reality in the Tech Community
Mixed Reality (MR) is rapidly becoming one of the most exciting and transformative technologies in the tech community, blending the physical and digital worlds to create immersive, interactive experiences. As MR technology continues to evolve, it is unlocking new possibilities across various industries, from gaming and entertainment to education, healthcare, and beyond. One of the most significant impacts of Mixed Reality is its ability to enhance user interaction with digital content. Unlike Virtual Reality (VR), which immerses users in a completely virtual environment, or Augmented Reality (AR), which overlays digital information onto the physical world, MR allows users to interact with digital objects as if they were part of the real world. This seamless integration creates opportunities for more intuitive and natural user experiences, whether it’s manipulating 3D models in real-time, collaborating with remote colleagues using holograms, or visualizing complex data in a more meaningful way. The tech community is already seeing the potential of MR in areas such as training and simulation. For example, in healthcare, MR can be used to simulate surgeries, allowing medical professionals to practice procedures in a risk-free environment. In education, students can explore historical sites or complex scientific concepts through interactive, lifelike simulations, making learning more engaging and effective. The ability to create such immersive experiences is transforming how we approach problem-solving, learning, and skill development across various fields. Moreover, Mixed Reality is opening new doors for creativity and innovation in design and entertainment. Designers and artists can use MR to create and interact with 3D content in ways that were previously impossible, allowing for more dynamic and collaborative creation processes. In the entertainment industry, MR is pushing the boundaries of storytelling, enabling audiences to step into their favorite stories and interact with characters and environments in ways that were once the stuff of science fiction. As the technology behind Mixed Reality continues to advance, with improvements in hardware, software, and connectivity, the barriers to entry are gradually being lowered. This democratization of MR technology means that more developers, creators, and businesses can experiment with and adopt MR solutions, driving further innovation and expanding the ecosystem. The tech community plays a crucial role in this evolution, as developers and engineers work together to create new tools, frameworks, and platforms that make MR more accessible and scalable. However, the rise of Mixed Reality also presents new challenges, particularly in terms of content creation, user experience design, and ethical considerations. How do we ensure that MR experiences are accessible and inclusive? What are the implications for privacy and security as MR becomes more integrated into our daily lives? These are critical questions that the tech community will need to address as Mixed Reality becomes more pervasive. In conclusion, Mixed Reality represents a significant leap forward in how we interact with digital content and the physical world. Its potential to revolutionize industries and enhance human experiences is vast, and as the tech community continues to explore and develop this technology, we can expect to see even more groundbreaking applications emerge. Whether you're a developer, designer, or enthusiast, the Mixed Reality space offers endless opportunities to innovate and shape the future. Click Here354Views0likes2CommentsFrequent Interruptions in Windows 10 - Need Assistance
Hello everyone, I'm encountering a recurring issue with Windows 10 where the system frequently interrupts or crashes unexpectedly. Here are the details: Issue: The system randomly interrupts my workflow by crashing or freezing. This typically happens when I’m [mention the specific actions, such as "browsing the internet," "using a specific application," or "working with multiple applications simultaneously. Steps Taken: I’ve tried restarting my computer, but the issue reappears after some time. I’ve checked for Windows updates and installed the latest patches. I’ve run a system scan using Windows Defender, but no threats were detected. I’ve also tried updating my drivers through the Device Manager. Error Messages: Sometimes, I receive the following error message: If applicable, include the exact error message. If there’s no error message, mention that as well. System Details: Operating System: Windows 10 Home/Pro (version number, if known) Processor: e.g., Intel Core i5, AMD Ryzen 7, etc. RAM: e.g., 8 GB, 16 GB, etc. Storage: e.g., 256 GB SSD, 1 TB HDD, etc.] Graphics Card: e.g., NVIDIA GTX 1050, Intel UHD Graphics, etc. Any additional relevant hardware or software details (optional): [e.g., external devices connected, specific software running during the interruption]. I’m looking for advice on how to resolve these interruptions and restore the stability of my system. Any help or suggestions would be greatly appreciated! Please visit https://aramtecblue.com/ for more informaton. Thank you in advance for your assistance. Best regards,346Views2likes2CommentsHoloLens 1: Gestures not recognized in Unity 2019.4 with MRTK 2.8.3
I own an HoloLens 1 and so far I have developed some AR projects with Unity 2018.4.23f1 using the HoloToolkit (the version available in 2018). Now I want to develop a new project for HoloLens 1 with Unity 2019.440f1 LTS and use MRTK 2.8. I also use Visual Studio 2017. I created a new project and followed Microsoft's instructions on how to install and configure MRTK 2.8.3 (for example, I followed Microsoft manual "Set up a mixed reality project in Unity with the Mixed Reality Toolkit"). I added the MixedRealityToolkit to the new scene I created. For the MRTK Profile configuration, I selected the DefaultHololens1ConfigurationProfile. In the Input section, I activated the InputSystem and selected the DefaultHoloLens1InputSystemProfile. To verify that everything was correctly configured, I added to the scene a 3D cube, and, following Microsoft suggestions, I added the ObjectManipulator and NearInteractionGrabbable components to the cube. When I connect the HoloLens 1 to Unity through Holographic, I correctly see in the Hololens 1 the cube in the scene. Also, if I move the pointer over the cube, it correctly detects the presence of the cube. However, no gestures are recognized and therefore I cannot have any type of interaction with the cube. Even adding a bounding box with handles doesn't change the situation. The handles are recognized (their icons change) by the pointer, but then gestures are not identified and the presence of my hands in the FOV is not detected. I tried creating a new project several times starting from scratch, changing profiles and configurations, but the result is always the same. Is there something I'm doing wrong or missing? thank you for your help1.4KViews1like3CommentsWeb navigation using WebView 2 in Hololens 2 + Unity (MRTK2)
Hi! I am trying out WebView2 Preview on HoloLens 2 using Unity 2022 and MRTK 2.8. Everything works great but I am not able to click on web's buttons, do scroll, etc. I have found this section of the documentation -> https://learn.microsoft.com/en-gb/microsoft-edge/webview2/get-started/hololens2#input which seems to point to web navigation, but I am not able to get it working. Any ideas? Thanks!894Views0likes1CommentHoloLens 2 + Mixed Reality Applications | Technical Datasheet
Click below to download HoloLens 2 Technical Datasheet Microsoft HoloLens 2 is an untethered, self-contained holographic device that allows users to leverage enterprise ready mixed reality (MR) solutions and Azure 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 third-party partners for maximum ROI and productivity impact.867Views2likes0CommentsEstablishing an absolute world coordinate system
I am currently working on a project using the HoloLens 2, where I create a primitive that offsets a spatial anchor in a certain direction and distance received from a client socket I have in my scene. However, I am having problems with the coordinate system. Each time I open the application on the HoloLens, the coordinate system changes based on the direction I am standing since the headset is always taken as the origin. I am struggling to figure out how to establish an absolute coordinate system that I can use and stay consistent inbetween scenes. I was looking at the MRTK documentation and found the World Locking Tool (WLT), and I am curious if this may be my solution. I was curious if anyone else has experience with WLT, especially for this type of application, or knows another possible way to establish an absolute coordinate system between sessions. This is where I was looking for the WLT - https://learn.microsoft.com/en-us/windows/mixed-reality/develop/unity/spatial-anchors-in-unity?tabs=wlt364Views0likes0Comments3d model quality different in unity and hololens
Hello I'm developing an application for Hololens 2 and I'm having a problem with the quality of the 3d model when I run it on Hololens 2. In Unity, the quality of the clothing animation is good (image on the left) but when I export it to hololens (image on the right) the quality decreases a lot. Could anyone help me with this problem?327Views0likes0CommentsOpen 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 this link 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.612Views1like0Comments