微软MR开发技术笔记之3D APP Launchers UWP 3D图标制作

2023-10-19 21:40

本文主要是介绍微软MR开发技术笔记之3D APP Launchers UWP 3D图标制作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这个笔记是2017年11、12月份我跟着Lei哥一起应邀到上海参与微软的MR混合现实UWP应用开发培训,所进行的一些技术探究。

当时总共整理记录了几篇技术总结,不经意间看到,想分享出来。心想当时也浪费了不少时间研究,技术也总是往前发展的,可能当时用的技术手段已经过时了,但还是希望能对有缘的开发者提供一些帮助。

 

一、gltf 以及glb格式的文件如果按官方推荐,使用Blender软件安装gltf插件,导出的gltf以及glb文件不带贴图。

二、研究官方提供的GLTF文件发现是用Unity导出的,因此后面采取用官方提供的UnityGLTF插件,实现Gltf文件的转换。将模型文件用UnityGLTF工具导出Gltf文件

插件链接: 

 https://github.com/KhronosGroup/UnityGLTF

Unity GLTF工具使用步骤:

步骤1:Unity中新建GLTF工程后,导入自己制作的FBX或者其它格式的模型文件,以及模型使用到的相关贴图文件。

步骤2:经测试,3D launchers 实现PBR材质(带凹凸,高光等)效果,目前需使用特定的PBR材质。

上面红框标明的Shader可以正常导出所有PBR的贴图,下面的Pbr Shader在导出Gltf格式后则缺少BaceColor贴图,因此推荐使用 PbrMetallicRoughness 材质,在Unity中调整好3D Launcher模型材质效果。

 

步骤3:在Unity菜单中选择模型,选择路径,导出GLTF文件。

三、使用 makeglb 工具将Gltf格式文件转换成Glb文件。

工具链接:https://github.com/sbtron/makeglb  

工具使用方法:使用Chrome浏览器打开Index,把所有的Gltf文件相关联的文件(包括Gltf、贴图,以及bin文件)拖放到显示的框内,即可自动下载3D Launcher使用到的Glb文件

经测试微软提供的 WindowsMRAssetConverter 

链接:https://github.com/Microsoft/glTF-Toolkit/releases 

工 具不用也是可以的,如果使用他转换,GLB文件反而体积变大了。但是模型带LOD细节级别则必须要使用 WindowsMRAssetConverter 转换工具。

四、将Glb文件复制到UWP项目的资源文件夹下面,并将其内容改为True。

动画的添加

技术参考链接:

https://docs.microsoft.com/zh-cn/windows/mixed-reality/creating-3d-models-for-use-in-the-windows-mixed-reality-home#animation-guidelines

 

3D launcher动画添加步骤:

1、从3D软件中制作好模型,指定好相关的材质与贴图,如果模型需要凹凸、反射、高光等效果,需要按照PBR材质的制作流程(PBR流程贴图最终输出为Albedo,Normal,Metalness,Roughness(以金属度,粗糙度流程为例))。导出带动画的FBX文件。

2、https://github.com/KhronosGroup/glTF#editors-and-modeling-tools 从此链接下载FBX转换GLTF文件工具-FBX2glTF-windows-x64.exe

用命令符把FBX文件转换成为GLTF格式的文件。

3、在电脑上下载安装Visual Studio Code,glTF Tools for Visual Studio Code ,VS Code很方便打开和编辑预览GLTF文件,并且可以导出GLB格式的文件。

4、将FBX转换好的GLTF文件用VS Code打开,在最末尾加上:图示的这一段语句。将动画触发器添加到GLTF模型JSON中。

5、保存文件,在VS Code编辑器标题栏右键选择导出GBL文件。

6、把GBL文件复制到UWP项目的资源文件夹下面,并生成操作为内容。

7、配置3Dlaundher 的指定路径。

8、在混合现实门户中选择生成的UWP应用,创建3DLauncher。用户接近3Dlauncher,触发动画。

 

重点注意:

经测试,目前带动画模型超过32个网格数量时,混合现实门户识别不出来,显示无法放置。如果超过32个网格数量的模型需要优化模型。

不支持透明贴图

动画持续时间:不超过20分钟

变形动画顶点:不超过8192

动画帧数:不超过36,000

支持多个动画导出及使用,

使用Maya2glTF插件:https://github.com/WonderMediaProductions/Maya2glTF
 

文中的一些技术笔记、工具、链接可能已经过时失效,我暂时也没有精力验证和更新,也不知是否有必要?所以还请谅解。

 

至此本文完!

这篇关于微软MR开发技术笔记之3D APP Launchers UWP 3D图标制作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/242534

相关文章

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Python使用PIL库将PNG图片转换为ICO图标的示例代码

《Python使用PIL库将PNG图片转换为ICO图标的示例代码》在软件开发和网站设计中,ICO图标是一种常用的图像格式,特别适用于应用程序图标、网页收藏夹图标等场景,本文将介绍如何使用Python的... 目录引言准备工作代码解析实践操作结果展示结语引言在软件开发和网站设计中,ICO图标是一种常用的图像

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密