问题标签 [usdz]

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.

0 投票
1 回答
214 浏览

swift - 重建失败 HelloPhotogrammetry 错误

我正在尝试使用 Apple Creating 3D Objects from Photos 的教程创建一个 USDZ 对象。我在这个示例项目中使用了新的摄影测量会话:摄影测量命令行应用程序

那是代码:

我收到以下错误:

我正在使用带有 macOS Monterey 12.0 Beta (21A5248p) 和 Xcode 13.0 beta (13A5154h) 的 M1 iMac。

0 投票
0 回答
45 浏览

ios - 具有 USDZ 和模型 I/O 的多个场景

如果使用 Reality Composer 创建一个由两个简单场景组成的 USDZ,它们之间有一个基本的过渡(点击或场景开始或其他),模型 I/O 似乎无法识别第二个场景。如果您查看 USDZ 的 MDLAsset 层次结构,则会省略第二个场景(AR Quick Look 工作正常,正如您所期望的那样)。我相信这可能是由于场景定义中使用了“over”prim 说明符。当您检查 ascii USDA 文件时,第一个场景定义如下:

第二个场景带有“over”说明符

我在 Pixar USD 文档中注意到,以“over”开头的 prims 被跳过:https ://graphics.pixar.com/usd/docs/USD-Frequently-Asked-Questions.html#USDFrequentlyAskedQuestions-What'sthedifferencebetweenan% 22over%22anda%22typelessdef%22?

“这种区别实际上在 Usd 核心中用于定义,例如,默认阶段遍历行为,因为 UsdPrim::GetChildren() 仅迭代 prim 的已定义子项(无论它们是否在阶段的当前视图中拥有类型),跳过刚刚结束的 prims。”

有谁知道我该如何解决这个问题?有没有办法让模型 I/O 不忽略这个场景,或者我可以更改 USDA 以便 MDLAsset 拥有该场景,我尝试在 USDA 中将“over”更改为“def”,但创建的 USDZ 没有不能在 AR Quick Look 中工作(它需要)。

任何帮助、想法或指示将不胜感激。

0 投票
0 回答
51 浏览

c++ - 构建 C++ 本机库时安装 ZLIB 时出错 - google usd_from_gltf

我正在尝试从 Windows 10 上的源代码构建https://github.com/google/usd_from_gltf。我有美元,它的依赖关系已经构建并正在运行。

第一步成功,直到我在尝试安装 ZLIB 时遇到错误,这给了我以下错误消息。谁能告诉我这里可能出了什么问题?我不清楚找不到的文件是 msbuild 还是其他东西(zlib.sln 确实存在)。

输出:

0 投票
1 回答
535 浏览

ios - 在 Scenekit 视图中从网络加载 3d usdz 模型不起作用?

我正在尝试在我的场景套件视图中从网络加载 3d 使用过的模型。模型已正确下载并保存在文件中,但未显示在场景套件视图中。这是我的代码。我没有收到任何错误。不确定到底是什么问题

0 投票
0 回答
95 浏览

gltf - 将usd.a usd.z等转换成gltf?

我一直在寻找一种使用命令行、python、节点等将 usdc / usda / usdz 文件转换为 gltf 的方法。到目前为止,一直在查看每个解决方案,可以找到一些 gltf 到 usd 的转换器,但没有找到 usd 到 gltf。

有人知道吗?

0 投票
1 回答
185 浏览

ios - RealityKit - 隐藏和显示 usdz 模型的部分(网格)

我需要一个建议。我正在使用 RealityKit 来展示栅栏模型。我的模型有几个不应该一次显示的网格。例如填充围栏。有不同的选择,我的模型中都有:

Xcode 中显示的 3D usdz 模型

我想每次都展示一个。我怎样才能做到这一点?我不能在运行时编辑网格,可以吗?我正在考虑为每个网格更改材质,但是当我尝试使用 SimpleMaterial 设置清晰的颜色时,它显示为黑色的网格,当我尝试 OcclusionMateril 时,我得到了这个结果:

在实际应用中应用 OcclusionMaterial

示例我如何尝试使用 SimpleMaterial 隐藏材料:

或者使用 OcclusionMaterial(在上面应用程序的屏幕截图中):

是否有可能以某种方式隐藏 3D 模型的某些部分?或者我是否必须使用多个模型,例如当我想更改填充时,我必须更改整个模型?或者我应该以某种方式从多个模型中合成一个对象(例如填充和其余的围栏)?感谢您的任何建议。

0 投票
0 回答
76 浏览

augmented-reality - RealityKit - 基于 LiDAR 扫描(不是摄影测量)映射真实世界的纹理

我想构建一个应用程序,让带有 LiDAR 扫描仪的设备扫描他们的环境并相互共享他们的扫描结果。到目前为止,我可以使用 LiDAR 扫描仪创建网格并将其导出为 OBJ 文件。

但是,我希望能够将纹理和颜色映射到此模型上。如何继续获得真实世界的纹理并将其放置到 OBJ 模型上?

需要明确的是:我不是指 RealityKit 2.0 中的摄影测量,因为它依赖于 macOS 设备。我想实现 Polycam 和 Scaniverse 等应用程序能够实现的目标

谢谢!

0 投票
0 回答
21 浏览

augmented-reality - USDZ 水平面位置错误

我正在将一个对象从 Blender 导出到一个 FBX(或 GLTF/GLB)文件,然后在 Reality Converter 中进行转换。

在那里,一切看起来都很好,所有动画都正常工作,并且对象位于 0 0 0,但是当我在带有激光雷达的 iPhone 上的 Safari 中查看导出的 USDZ 文件时,对象没有与水平面对齐,而是漂浮在空中,但在 Reality Composer 中,对象与地板完美对齐。

如何在 Blender、Reality Composer 或 Reality Converter 中为对象设置正确的对齐位置?

0 投票
0 回答
64 浏览

swiftui - SwiftUI - .fileImporter 修饰符来加载美元文件

目标:使用 SwiftUI .fileImporter 修饰符加载 USD 文件。

根据 Apple 文档,USD 是带有 .fileImporter 修饰符的受支持的 uttype。 https://developer.apple.com/documentation/uniformtypeidentifiers/uttypehttps://developer.apple.com/documentation/uniformtypeidentifiers/uttype/3551587-usd

我尝试了下面的代码,但它不起作用。有人设法让这个工作吗?

0 投票
0 回答
376 浏览

ios - Swift IOS Display AR QuickLook预览下载的usdz模型

这是我第一次尝试将 AR 预览添加到应用程序中(也是我第一次使用文件系统)。我一直在尝试实施类似于此处解释的解决方案https://developer.apple.com/forums/thread/126377但是一个关键区别是我的 usdz 模型不在我的主包中,因为它是从生成和下载的运行时的外部源。我想知道是否可以显示存储在应用程序文档或缓存目录中的文件以及它是如何完成的。

该文件被下载并存储在缓存目录中,如下所示:

然后我尝试使用 ARQuicklookPreview 显示模型,如下所示:

但是,我在控制台中收到错误“Unhandled item type 13: contentType is: (null) #PreviewItem”,在 UI 中它读取不支持的文件类型,我已执行测试以确保文件位于 URL 的位置我什至可以在我的 Mac 上预览打开它,所以它不像文件格式或位置是错误的。

从主包以外的位置显示模型的任何帮助都会有所帮助,或者可能是首先移动文件然后显示它的解决方法。

编辑:将预览控制器功能更改为

现在在 UI 中它只是说“模型通用场景描述包”

在控制台中,我仍然收到错误消息,但现在显示为:未处理的项目类型 13:contentType 是:com.pixar.universal-scene-description-mobile #PreviewItem

这没有意义,因为它是它支持的唯一类型之一

谢谢,

路易斯