问题标签 [hololens]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-c++ - 使用 DirectX 更新帧缓冲区纹理数据
我正在尝试在 VC++ 中使用 VS 2015 中的 Direct X 11 模板。我正在使用: D3D11_MAPPED_SUBRESOURCE资源和 MAP 和 UNMAP 来更新纹理。现在我的项目中有一个单独的文件,我正在读取像素并需要将其上传到此纹理。
我正在使用一个结构来保存纹理数据:
想知道如何使用来自单独文件的这个结构将纹理数据上传到基于 Direct X 的 Spinning Cube 文件中。
c# - 将自定义 dll 集成到 HoloLens 项目中
我有一个带有源代码的自定义库,可以成功编译并生成 .dll 文件。
问题:考虑到以下错误,将此 dll 包含在 HoloLens 项目中的最佳方法是什么?
我的方法
独立库的project.json
文件如下:
或者我也有机会将其添加为 NuGet 包,具体取决于:
- Microsoft.NETCore.UniversalWindowsPlatform (>= 5.2.2)
- Newtonsoft.Json (>= 9.0.1)
- Microsoft.EntityFrameworkCore.Tools (>= 1.0 .0-preview2-final)
- Microsoft.EntityFrameworkCore.Sqlite (>= 1.0.1)
然后我需要将此库包含在 Unity 为 Hololens 制作的另一个 VS2015 解决方案中。Unity 自动构建的解决方案由 3 个项目组成:1)Assembly-CSharp
包含 HoloToolkit 文件夹,2)Assembly-CSharp firstpass
和 3) Origami
我从HoloToolkit for Unity文件夹中获取了一个脚本,并将其应用于GameObject
. 当一个事件被触发时——并且它成功发生——我想调用这个自定义库提供的一些函数来从同一个脚本中处理它,比如说GazeManager.cs
。项目project.json
1) 如下
我尝试了两种方式:
- 在
GazeManager.cs
我添加using MyLibrary
了代码并将其添加为 ReferenceManager 中的引用。该库被正确识别,但随后仅声明一个变量,例如public MyLibrary objectInMyLibrary
使从正确编译的程序切换到具有以下错误的程序:
命令 ""C:\Users\Antonino\Documents\UnityToVS2015Projects\HoloAcademy101 - Origami\Origami\App\Unity\Tools\AssemblyConverter.exe" -platform=uap -lock="C:\Users\lakeb\Documents\UnityToVS2015Projects\ HoloAcademy101 - Origami\Origami\App\Origami\project.lock.json" -bits=32 -configuration=Debug -removeDebuggableAttribute=False -path="." -path="..\Players\UAP\x86\Debug" " C:\Users\lakeb\Documents\UnityToVS2015Projects\HoloAcademy101 - Origami\Origami\App\Origami\Assembly-CSharp.dll" "C:\Users\lakeb\Documents\UnityToVS2015Projects\HoloAcademy101 - Origami\Origami\App\Origami\Assembly -CSharp-firstpass.dll" "C:\Users\lakeb\Documents\UnityToVS2015Projects\HoloAcademy101 - Origami\Origami\App\Origami\UnityEngine.dll" "C:\Users\lakeb\Documents\UnityToVS2015Projects\HoloAcademy101 - Origami\Origami\App\Origami\UnityEngine.UI.dll" "C:\Users\lakeb\Documents\UnityToVS2015Projects\HoloAcademy101 - Origami\Origami\App\Origami\UnityEngine.HoloLens .dll" "C:\Users\lakeb\Documents\UnityToVS2015Projects\HoloAcademy101 - Origami\Origami\App\Origami\UnityEngine.Networking.dll" "C:\Users\lakeb\Documents\UnityToVS2015Projects\HoloAcademy101 - Origami\Origami\App \Origami\UnityEngine.VR.dll"" 以代码 1 退出。\Users\lakeb\Documents\UnityToVS2015Projects\HoloAcademy101 - Origami\Origami\App\Origami\UnityEngine.VR.dll"" 以代码 1 退出。\Users\lakeb\Documents\UnityToVS2015Projects\HoloAcademy101 - Origami\Origami\App\Origami\UnityEngine.VR.dll"" 以代码 1 退出。
[取消前面的步骤再次编译折纸]我认为的第二种方法是通过在
project.json
文件中插入行来添加它“my.hololens.library”:“版本”
在这种情况下,我收到以下错误
有效负载包含两个或多个具有相同目标路径“System.Net.Sockets.dll”的文件。源文件:C:\Users\Antonino.nuget\packages\runtime.win.System.Net.Sockets\4.1.0\runtimes\win\lib\netcore50\System.Net.Sockets.dllC:\Users\Antonino.nuget \packages\System.Net.Sockets\4.0.0\lib\netcore50\System.Net.Sockets.dll Payload 包含两个或多个具有相同目标路径“System.Diagnostics.Tools.dll”的文件。源文件:C:\Users\Antonino.nuget\packages\runtime.any.System.Diagnostics.Tools\4.0.1\lib\netcore50\System.Diagnostics.Tools.dllC:\Users\Antonino.nuget\packages\System .Diagnostics.Tools\4.0.0\lib\netcore50\System.Diagnostics.Tools.dll 有效负载包含两个或多个具有相同目标路径“System.Threading.Timer.dll”的文件。源文件:C:\Users\Antonino.nuget\packages\runtime.any.System.Threading。Timer\4.0.1\lib\netcore50\System.Threading.Timer.dllC:\Users\Antonino.nuget\packages\System.Threading.Timer\4.0.0\lib\netcore50\System.Threading.Timer.dll 版本冲突检测到 System.Collections。折纸 (>= 1.0.0) -> Assembly-CSharp (>= 1.0.0) -> my.hololens.library (>= 版本) -> Microsoft.EntityFrameworkCore.Tools (>= 1.0.0-preview2-final) -> Microsoft.EntityFrameworkCore.Design (>= 1.0.0-preview2-final) -> Microsoft.EntityFrameworkCore.Design.Core (>= 1.0.0-preview2-final) -> Microsoft.AspNetCore.Hosting.Abstractions (>= 1.0.0) -> Microsoft.AspNetCore.Http.Abstractions (>= 1.0.0) -> System.Reflection.TypeExtensions (>= 4.1.0) -> System.Linq (>= 4.1.0) -> System.集合 (>= 4.0.11) 折纸 (>= 1.0.0) -> Microsoft.NETCore.UniversalWindowsPlatform (>= 5.0. 0) -> Microsoft.NETCore.Runtime (>= 1.0.0) -> Microsoft.NETCore.Runtime.CoreCLR-arm (>= 1.0.0) -> System.Collections (= 4.0.10)。一个或多个包与 UAP 不兼容,Version=v10.0 (win10-x86-aot)。一个或多个包与 UAP 不兼容,Version=v10.0 (win10-arm-aot)。System.Reflection.Emit.ILGeneration 4.0.1 为 UAP 上的 System.Reflection.Emit.ILGeneration 提供了编译时参考程序集,Version=v10.0,但没有与 win10-x86-aot 兼容的运行时程序集。System.Reflection.Emit.ILGeneration 4.0.1 为 UAP 上的 System.Reflection.Emit.ILGeneration 提供了编译时参考程序集,Version=v10.0,但没有与 win10-x64-aot 兼容的运行时程序集。System.Reflection.Emit.ILGeneration 4.0.1 为 System.Reflection.Emit 提供了编译时参考程序集。UAP 上的 ILGeneration,Version=v10.0,但没有与 win10-x86-aot 兼容的运行时程序集。System.Reflection.Emit.ILGeneration 4.0.1 为 UAP 上的 System.Reflection.Emit.ILGeneration 提供了编译时参考程序集,Version=v10.0,但没有与 win10-x64-aot 兼容的运行时程序集。一个或多个包与 UAP 不兼容,Version=v10.0 (win10-x64-aot)。检测到 System.Collections 的版本冲突。Assembly-CSharp (>= 1.0.0) -> my.hololens.library (>= 版本) -> Microsoft.EntityFrameworkCore.Tools (>= 1.0.0-preview2-final) -> Microsoft.EntityFrameworkCore.Design (>= 1.0.0-preview2-final)-> Microsoft.EntityFrameworkCore.Design.Core(>= 1.0.0-preview2-final)-> Microsoft.AspNetCore.Hosting.Abstractions(>= 1.0.0)-> Microsoft.AspNetCore。 Http.Abstractions (>= 1.0. 0) -> System.Reflection.TypeExtensions (>= 4.1.0) -> System.Linq (>= 4.1.0) -> System.Collections (>= 4.0.11) Assembly-CSharp (>= 1.0.0) -> Microsoft.NETCore.UniversalWindowsPlatform (>= 5.0.0) -> Microsoft.NETCore.Runtime (>= 1.0.0) -> Microsoft.NETCore.Runtime.CoreCLR-arm (>= 1.0.0) -> 系统。集合(= 4.0.10)。一个或多个包与 UAP 不兼容,Version=v10.0 (win10-x64-aot)。一个或多个包与 UAP 不兼容,Version=v10.0 (win10-x86-aot)。System.Reflection.Emit.ILGeneration 4.0.1 为 UAP 上的 System.Reflection.Emit.ILGeneration 提供了编译时参考程序集,Version=v10.0,但没有与 win10-arm-aot 兼容的运行时程序集。一个或多个包与 UAP 不兼容,Version=v10.0 (win10-arm-aot)。System.Reflection.Emit.ILGeneration 4.0。
我很困惑该怎么办。有人说要制作一个可移植的库,我也尝试在这里研究NETFramework、NETCore 和 NETStandard 之间的关系,但似乎比想象的要复杂。
unity3d - HoloLens BLE 通信(Windows 10)
我想要两个传感器,每只手一个,用于向 HoloLens Unity3D 应用程序提供位置值。这两个传感器暂时将成为 android 手机上的 android 原生应用程序,在 BLE 中发送一些随机值。
我只是想,既然 HoloLens 支持 BLE,holoLens 应该可以连接并接收传感器通告的值。但我在 Unity3D 资源商店中找不到任何适用于 Windows BLE 的插件。我需要知道是否有人在 Unity 中为 Windows BLE 实现了任何示例插件。
谢谢。
visual-studio - Unity3d 生成一个空的 .sln 文件
我正在学习 Microsoft 的Hololens Developer 100课程。一切顺利,直到我开始建造。我完全按照此处的说明进行操作,然后单击构建。它要求我选择一个文件夹,然后我创建一个名为“App”的文件夹(根据说明)并选择该文件夹。当我最终点击构建 Unity 时,它似乎工作正常,但随后出现了两件事:
1)生成的.sln文件不在App文件夹中,而是在父项目文件夹中。应用文件夹为空
2)当我打开 .sln 文件时,它是空的。该教程要求我编辑 Package.appxmanifes,但我不能,因为它似乎没有构建。
是否存在不正确的配置?也许 Unity 和 VS 没有正确地相互交谈?更重要的是,我该如何解决?
visual-c++ - 部署和加载图片以用作全息应用程序中的纹理
我在 Visual Studio 2015 中使用 C++/CX(或任何他们称之为带有帽子和 ref new 的花哨 C++ 的东西)创建了一个示例全息应用程序。它构建、部署和运行良好,渲染一个旋转的彩色立方体,就像它应该做的那样。现在我正在尝试添加一个 jpeg 图像并将其用作立方体上的纹理。问题是,我应该将图像放在哪里,如何将其添加到项目中,如何使 VS 将其与项目的其余部分一起部署,以及如何将其加载到我的应用程序中?
我对 DirectX 和 UWP 的体验几乎为零。我已经在我的桌面 Windows 10(一个常规的 C++ 应用程序,不是托管的,不是 UWP)上完成了这个关于纹理的教程,尽管他们在教程中将文件加载到纹理中的方式对我不起作用。经过一番谷歌搜索后,我下载了这个库,为桌面 Windows 10(DirectXTex_Desktop_2015_Win10.sln
)构建了它,并在我的项目中使用如下:
有效。现在,对于 Hololens,我构建了他们的DirectXTex_Windows10.sln
解决方案(假设另一个用于桌面,这个必须用于非桌面)并尝试(不成功)使用它,如下所示:
我也试过ms-appdata
代替ms-appx
. 在这两种情况下LoadFromWICFile
都不返回S_OK
。ERROR_INVALID_NAME: The filename, directory name or volume label syntax is incorrect.
至于它myimage.jpg
,我把它放到Assets
子文件夹中,并通过添加到解决方案中Add->Existing Item
。这足以让它部署到 Hololens 吗?如何检查它是否已部署?如果部署,它将位于设备上的哪个位置?
c# - 在 Unity 中使用 GestureRecogniser 双击 hololens
我正在尝试在 hololens 中实现轻敲和双击手势。每个单独的手势都有效,但是,当我双击时,它也会单击两次。我看到一些使用计时器来解决它,但我认为可能有更优雅的解决方案。
由于我使用的是 GestureRecogniser,所以我有一个回调方法:
我可以在这里做任何事情,还是我必须求助于一个单独的脚本来检查它的Update
功能?
谢谢!
unity5 - Microsoft HoloLens 教程,光标在自己的对象上
我开始为 Microsoft HoloLens 进行开发。为此,我制作了Hololens Academy的教程。这工作得很好。
现在我想用一个简单的 3D Sphere 代替 astroman 并从学院源代码中添加光标。我的问题是光标在球体上时不可见。有时我可以在球体的边界看到光标。
如果光标未指向球体,则它是可见的。就像在教程中一样,它是一颗星星。
重现步骤: 按照教程Holograms 210第一章。在“设置场景”步骤中,不要添加 AstroMan、SpaceAudioSource 和 SpaceBackground。在层次结构中单击创建 --> 3D 对象 --> 球体。然后将球体放在相机前面 X: 0, Y0, Z3。并将其缩放到 X=Y=Z=0.2。然后按照教程第 1 章进行到底。
我错了什么?我试图添加材料,选择触发器复选框......它不起作用。
非常感谢各种帮助。
光标不在球体中心:
以球体为中心的光标:
解决方案
感谢@Cameron Vetter 的回答,我发现了我的错误。
我的对撞机与网格渲染的大小完全相同。所以光标和网格在同一高度上。这就是为什么我看不到对象上的光标。
我删除了标准对撞机并添加了一个盒子对撞机。然后我将这个盒子碰撞器缩放到比每个轴的网格(1.05)大一点。现在它起作用了!
animation - HoloLens 上的 Unity 动画不起作用
我使用 Unity 3D 创建了一个 HoloLens 应用程序。在应用程序中,我想在单击按钮时显示带有一些动画的文本画布。我已经使用 Animator 控件和脚本完成了此操作,以便在单击按钮时打开动画状态。当我尝试 Unity Preview 时,这工作正常。但是,当我在 HoloLens 模拟器或设备上尝试相同的应用程序时,动画不起作用。经过一段时间的延迟后,画布没有任何动画就打开了(我认为动画延迟完成)。Unity 游戏预览并非如此。
请让我知道我们还做了哪些工作来支持在 HoloLens 上使用 Unity 制作的动画。
uwp - 如何在 Hololens UWP 应用中隐藏标题栏
我可以使用此答案中的代码操作/隐藏桌面 UWP 应用程序中的标题栏:
但它不适用于 Hololens 环境。我已经搜索了文档,但似乎找不到解决方法。这可能吗?
unity3d - 有没有一种方法可以使用 Hololens 扫描和导出具有所有纹理细节的真实世界对象?
我即将开发基于扫描现实世界对象的东西。但是我找不到用纹理扫描单个对象的方法。有没有解决办法。我听说 Kinect 可以与 Hololens 一起使用吗?