前言

最近有新成员加入本团队,为了方便其开发HoloLens1 / HoloLens2,将不定时更新HoloLens相关开发相关内容。

软件需求:

HoloLens 1:VS2017 + Unity2017;HoloLens 2:VS2019 + Unity2019;

1.安装VS2017 / VS2019,HoloLens 1安装Win10 SDK 17134或者17763,HoloLens2要求至少18362;相关安装与配置请参考博文.

2.Unity2017 / Unity2019,安装UWP平台;

注:如果使用的软件为VS2019和Unity2019来开发HoloLens1,可参考HoloLens2的开发过程,修改MRTK的配置文件为HoloLens1即可!可参考博文1,博文2.


一、Trilib是什么?

Trilib插件为Unity-Asset Store的付费插件,可实现Unity程序运行状态下,从程序外部动态加载数模。支持FBX, OBJ, GLTF2, STL, PLY, 3MF以及ZIP等文件,平台更是广泛支持Windows, Mac, Linux, UWP, Android, WebGL和iOS,以下为Trilib在Asset Store,尤其对HoloLens有较好支持.

目前官网Trilib插件已更新至2.0版本,笔者使用的为1.9版本,可适配HoloLens1。

HoloLens2的开发存在第三方库的问题,根据2.0相关评论,其不再依赖于第三方库,并且适配于HoloLens2,有意者可自行购买。

二、Trilib示例工程初识

如上所述,Trilib插件的亮点为实现Unity程序运行状态下,从程序外部动态加载数模(Loading the Models at the running times), 尤其适合数模可变,需要使用者自定义的个性化程序中使用。

1.添加Trilib插件至Unity工程

将Trilib压缩包解压到Unity工程Assets文件夹下,返回工程等待加载,完成后即可在工程目录下看到Trilib目录,包含脚本以及各类License。

Trilib插件包含了示例场景,我们的工程就从示例1入手。

2.Sence1在PC动态加载FBX

1.示例程序点击运行,可看到如下界面,选择FBX所在文件夹,选择对应FBX,模型则自动导入。


同时,在面板中多了名为“RootNode”的物体,该物体即为刚刚选择模型。可以尝试此刻重新选择一个FBX,发现模型替换,但是RootNode物体只有一个,说明第一个加载的FBX被第二个FBX替换了。
读者可以尝试修改RootNode为其他名称,点击重新加载其他FBX,仍然替换被改名的物体,且重新命名为“RootNode”.

2.Scene1的主要功能组件有三个,如图所示,读者可以试着自己阅读其内容,我们将在使用时详细介绍

1)ForegroundCanvas-AssetLoader-AssetLoaderWindow组件

2)ForegroundCanvas-AssetLoader-AssetDownloader组件

3)ForegroundCanvas-FileLoader-FileOpenDialog组件

3.下一节

综合开发-Part2-Trilib插件在HoloLens中的简单使用.


总结

以上为HoloLens+Trilib插件综合开发-Part1,简单介绍了Trilib插件及示例工程。欢迎批评指正!

你逆光而来,配得上这世间所有的好 .HDarker

HoloLens1开发(三):Trilib插件动态加载模型-Part1相关推荐

  1. HoloLens1开发(三):Trilib插件动态加载模型-Part2

    前言 最近有新成员加入本团队,为了方便其开发HoloLens1 / HoloLens2,将不定时更新HoloLens相关开发相关内容. 软件需求: HoloLens 1:VS2017 + Unity2 ...

  2. Unity3D的uniSWF插件动态加载SWF UI资源

    uniSWF能把Flash的素材像用AS3编程类似,只不过环境要在C#或者JS中编程.要是想创建一个类似Menu菜单或者像导航一样的菜单,在Unity中首先要选择摄像机,给摄像机添加MovieClip ...

  3. EntityFramework Core动态加载模型,我们要知道些什么呢?

    这篇文章源于一位问我的童鞋:在EntityFramework Core中如何动态加载模型呢?在学习EntityFramwork时关于这个问题已有对应童鞋给出答案,故没有过多研究,虽然最后解决了这位童鞋 ...

  4. 从零开始实现ASP.NET Core MVC的插件式开发(一) - 使用ApplicationPart动态加载控制器和视图

    目录 前言 什么是ApplicationPart? 创建项目 添加控制器和视图 如何动态加载插件中的控制器?# 如何加载组件的预编译Razor视图? 最终效果 总结 源代码:https://githu ...

  5. 在线客服系统源码开发实战总结:动态加载js文件实现粘贴一段js的sdk代码,直接引入插件效果...

    常见的在线客服系统中,或者是统计代码中,粘贴一段js代码,就能引入某个插件的效果.这个是怎么实现的呢? 原理非常的简单: 对于不同的加载文件类型创建不同的节点,然后添加各自的属性,最后扔到head 标 ...

  6. Android热修复技术初探(三):动态加载外部资源

    前面已经介绍了Android平台上的几种ClassLoader,这几种ClassLoader都有各自的使用场景,有了这些基础知识之后,才能更好地理解以及探究Android热修复技术.首先我们来探究怎么 ...

  7. 【jquery】Chosen.jquery.js 插件动态加载数据问题

    Chosen.jquery.js目前版本v1.6.2,官方文档链接https://harvesthq.github.io/chosen/ 插件有一个css文件和一个js文件,都命名为Chosen,引入 ...

  8. js插件动态加载js、css解决方案

    最近因为工作需要做了一个js自动导入的插件,一开始很天真的以为动态创建个script添加到head中就ok了,试了之后才发现了问题,就是如果同时引入了多个js文件,而且后一个文件中用到了前一个文件中的 ...

  9. 第十二章 软件壳(三)(动态加载型壳)

    文章目录 动态加载型壳 缓存脱壳法 内存 Dump 脱壳法 动态调试脱壳法 总结 Hook 脱壳法 系统定制脱壳法 动态加载型壳 即第一代壳 其发展时期正是从 Android 4.4 向 Androi ...

最新文章

  1. Openwrt 刷机后配置WAN口,安装luci和设置中文、安装挂载USB存储。
  2. 小猿圈解析vue数据双向绑定的缺点
  3. 网络推广外包专员浅析货拉拉坠车事件后宣布整改增加录音录像功能
  4. 内核对象用于线程同步
  5. OpenCV 自动调取摄像头并显示屏幕
  6. Struts2-day1总结
  7. http://www.vpython.org/index-ch.html
  8. 从零开始玩转JMX(四)——Apache Commons Modeler Dynamic MBean
  9. vue axios POST请求中参数以form data和request payload形式的原因
  10. JavaFX 2中的PopupMenu
  11. python redis 性能测试台_Redis性能测试
  12. K-means聚类 —— matlab
  13. python fromhex_Python hexstring-list-str之间的转换方法
  14. 当汽车工业遇见 AI,开发者的时代到来
  15. 【操作系统】Unix文件类型有哪些
  16. linux 禁 ip 分片,Linux iptables 设置允许(禁止)IP范围
  17. linux入门命令菜鸟,经典:Linux菜鸟入门级命令大全
  18. Access键盘快捷键大全(一)
  19. 阿里云短信服务 手机验证码
  20. 【软件工程】软工视频总结

热门文章

  1. nginx代理tomcat,https
  2. 1 二进制(glibc版)安装MySQL实现主从复制(亲测)
  3. CentOS中恢复rm命令误删文件
  4. shell脚本中$* 和 $@ 区别
  5. 【MySQL】源码安装MySQL
  6. 使用celery出现async的报错的解决方法
  7. Mac下新安装的MySQL无法登陆root用户解决方法
  8. js的异常处理 try catch
  9. 解决IE、firefox浏览器下JS的new Date()的值为Invalid Date、NaN-NaN的问题
  10. mac上安装webpack报错解决方法Hit error EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/webpack