- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在 2018 WWDC Apple announced引入新的 USDZ 文件格式。
关于创建 USDZ 文件的内容如下:
要创建您自己的 usdz 文件,usdz_converter 已作为 Xcode 10 beta 的一部分捆绑在一起。它是一个命令行工具,用于从 OBJ 文件、单帧 Alembic (ABC) 文件、USD 文件(.usda 或 usd.c)创建 usdz 文件
基本的命令行是
xcrun usdz_converter myFile.obj myFile.usdz
我已经安装了 Xcode 10 beta,但无法运行,甚至无法在 2018 年 6 月 4 日提供的 Xcode 10 beta bundle (内部版本 10L176w)中找到 usdz_converter。
注意:我仍然在 macOS highSierra 上运行,我还没有安装 macOS Mojave 10.14 beta ......但我认为这不是原因。
有没有其他人能够让这个 xcrun usdz_converter 工作?
如果是,请分享步骤。
最佳答案
更新时间:2022 年 8 月 8 日。
Xcode 14、13、12、11 中的usdzconvert
命令In macOS Ventura, Monterey, Big Sur and Catalina
USDZ converter
has a rich set of commands and supports more input formats for conversion than previous version. But before using it you need to download USDZ Tools. And don't forget to setup a global variables for Python usdz tools. Here's how a new command looks like in Terminal:
usdzconvert ~/Desktop/file.gltf -diffuseColor albedo.png -metallic brass.jpg
如果您想使用USDPython
工具,您需要创建一个 Shell 资源文件 .zshrc
。
为此,在终端中使用 change directory
命令转到 Home 区域:
cd /Users/<UserName>
使用parent working directory
命令检查你是否在那里:
pwd
然后键入 ls
命令以列出
目录内容,包括隐藏文件:
ls -a
现在您已准备好创建一个隐藏的 .zshrc
文件:
touch ~/.zshrc
使用以下命令打开此文件:
open ~/.zshrc
现在您可以将这些行添加到 zsh 资源文件中:
export PATH="/Users/yourUserName/usdpython/USD:$PATH"
export PATH="/Users/yourUserName/usdpython/usdzconvert:$PATH"
export PYTHONPATH="/Users/yourUserName/usdpython/USD/lib/python:$PYTHONPATH"
echo "Now I can use USDPython commands here."
保存并重启终端。
usdzconvert
是一个 Python 脚本,可将以下 Assets 转换为 usdz
:
如果您需要使用FBX
格式转换,您必须下载并安装FBX Python SDK。
然后在.zshrc
文件中再添加一行:
export PYTHONPATH="/Applications/Autodesk/FBXPythonSDK/2020.0.1/lib/Python27_ub:$PYTHONPATH"
保存 .zshrc
文件并重新启动终端。
这是您可以在终端中看到的完整选项列表,键入 usdzconvert -h
:
# DO NOT USE usdzconvert 0.63 BECAUSE IT CAUSES ERRORS.
# USE usdzconvert 0.66, or usdzconvert 0.65, or usdzconvert 0.64
outputFile Output .usd/usda/usdc/usdz files.
-h, --help Show this help message and exit.
-f <file> Read arguments from <file>
-v Verbose output.
-url <url> Add URL metadata
-copyright "copyright message" Add copyright metadata
-copytextures Copy texture files (for .usd/usda/usdc) workflows
-metersPerUnit value Set metersPerUnit attribute with float value
-loop Set animation loop flag to 1
-no-loop Set animation loop flag to 0
-m materialName Subsequent material arguments apply to this material.
-iOS12 Make output file compatible with iOS 12 frameworks
-texCoordSet name The name of the texture coordinates to use for current material.
-diffuseColor r,g,b Set diffuseColor to constant color r,g,b with values in the range [0 .. 1]
-diffuseColor <file> fr,fg,fb Use <file> as texture for diffuseColor.
fr,fg,fb: (optional) constant fallback color, with values in the range [0..1].
-normal x,y,z Set normal to constant value x,y,z in tangent space [(-1, -1, -1), (1, 1, 1)].
-normal <file> fx,fy,fz Use <file> as texture for normal.
fx,fy,fz: (optional) constant fallback value, with values in the range [-1..1].
-emissiveColor r,g,b Set emissiveColor to constant color r,g,b with values in the range [0..1]
-emissiveColor <file> fr,fg,fb Use <file> as texture for emissiveColor.
fr,fg,fb: (optional) constant fallback color, with values in the range [0..1].
-metallic c Set metallic to constant c, in the range [0..1]
-metallic ch <file> fc Use <file> as texture for metallic.
ch: (optional) texture color channel (r, g, b or a).
fc: (optional) fallback constant in the range [0..1]
-roughness c Set roughness to constant c, in the range [0..1]
-roughness ch <file> fc Use <file> as texture for roughness.
ch: (optional) texture color channel (r, g, b or a).
fc: (optional) fallback constant in the range [0..1]
-occlusion c Set occlusion to constant c, in the range [0..1]
-occlusion ch <file> fc Use <file> as texture for occlusion.
ch: (optional) texture color channel (r, g, b or a).
fc: (optional) fallback constant in the range [0..1]
-opacity c Set opacity to constant c, in the range [0..1]
-opacity ch <file> fc Use <file> as texture for opacity.
ch: (optional) texture color channel (r, g, b or a).
fc: (optional) fallback constant in the range [0..1]
-clearcoat c Set clearcoat to constant c, in the range [0..1]
-clearcoat ch <file> fc Use <file> as texture for clearcoat.
ch: (optional) texture color channel (r, g, b or a).
fc: (optional) fallback constant in the range [0..1]
-clearcoatRoughness c Set clearcoat roughness to constant c, in the range [0..1]
-clearcoatRoughness ch <file> fc Use <file> as texture for clearcoat roughness.
ch: (optional) texture color channel (r, g, b or a).
fc: (optional) fallback constant in the range [0..1]
除了使用命令行转换工具 (CLI),您还可以使用 Reality Converter 应用程序(GUI)。这个 Beta 4 应用程序可以在 Mac 上轻松转换、查看和自定义 .usdz
对象。只需拖放常见的 3D 文件格式,例如 .obj
、.gltf
或 .fbx
,即可查看转换后的 .usdz
结果,使用您自己的纹理自定义 Material 属性,并编辑文件元数据。您甚至可以使用内置 IBL 选项在各种光照和环境条件下预览您的 .usdz
对象。
对于 .fbx
转换,您必须下载并安装 FBX C++ SDK .
需要的文件是FBX SDK 2020.2.1 Clang(通用二进制)。
USDZ Export
Reality Composer 中的命令In Reality Composer for Xcode 14/13/12 you can export a
usdz
model right from Reality Composer's UI. For that you just need to activate a USDZ export in RealityComposer – Preferences menu.
您也可以使用 AR USD Schemas ,当然还有 Autodesk Maya 2022 工作流程。
另一种生成 USDZ 文件的方法是使用 write(to:options:delegate:progressHandler:) 从 SceneKit 的场景转换它。实例方法。
让我们看一下代码:
import ARKit
import SceneKit
class ViewController: UIViewController {
@IBOutlet var sceneView: ARSCNView!
let scene = SCNScene(named: "art.scnassets/ship.scn")!
override func viewDidLoad() {
super.viewDidLoad()
sceneView.scene = scene
let path = FileManager.default.urls(for: .documentDirectory,
in: .userDomainMask)[0]
.appendingPathComponent("model.usdz")
scene.write(to: path, options: nil,
delegate: nil, progressHandler: nil)
print(path)
}
}
xcrun usdz_converter
命令In macOS Mojave 10.14 and Xcode 10
USDZ converter
has a slightly different set of arguments and flags. Here's how an old command looks like in Terminal:
xcrun usdz_converter file.obj file.usdz -color_map color.jpg -ao_map ao.png
这是您可以在终端中看到的完整选项列表,键入 xcrun usdz_converter -h
:
-g groupName [groupNames ...] Apply subsequent material properties to the named group(s).
-m materialName [materialNames ...] Apply subsequent material properties to the named material(s).
-h Display help.
-a Generate a .usda intermediate file. Default is .usdc.
-l Leave the intermediate .usd file in the source folder.
-v Verbose output.
-f filePath Read commands from a file.
-texCoordSet set The name of the texturemap coordinate set to use if multiple exist (no quotes).
-opacity o Floating point value 0.0...1.0
-color_default r g b a Floating point values 0.0...1.0
-normal_default r g b a Floating point values 0.0...1.0
-emissive_default r g b a Floating point values 0.0...1.0
-metallic_default r g b a Floating point values 0.0...1.0
-roughness_default r g b a Floating point values 0.0...1.0
-ao_default r g b a Floating point values 0.0...1.0
-color_map filePath
-normal_map filePath
-emissive_map filePath
-metallic_map filePath
-roughness_map filePath
-ao_map filePath
关于swift - 如何使用 Xcode 转换器创建 USDZ 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50846627/
我正在观看来自 iTunes U. 的视频讲座,其中讲师展示了如何使用 Xcode 的调试器部分并能够将该窗口从主窗口拉开。 不幸的是,视频显示了如何在 Xcode3 中执行此操作的说明。如何在 Xc
现在我正在开发一个使用 Markdown 的静态网站。我不想在 SublimeText 中编辑文件,而是想在 Xcode 中编辑它们。我可以在 Xcode 中打开各个文件,但我想打开整个静态站点目录并
现在我正在开发一个使用 Markdown 的静态网站。我不想在 SublimeText 中编辑文件,而是想在 Xcode 中编辑它们。我可以在 Xcode 中打开各个文件,但我想打开整个静态站点目录并
我真的厌倦了其他用户的项目错误,因为 XCode 的默认类引用类型是“相对于 XCode 文件夹”。我知道您可以将其更改为“相对于封闭组”,这就是我们的项目,但是任何时候有人创建一个新的类文件并且忘记
我对 Xcode 一无所知,除了它是来自 Apple 的开发人员界面,它实际上来自 OSX CD,它也用于创建 iPhone 应用程序。 我也知道它有一个 Applications 文件夹,里面装满了
更新 Xcode(从 7.2 到 7.2.1)后,XcodeServer 无法运行 Xcode Service。当我选择更新的 Xcode 时,提示消息:Enable Accessibility ac
我很难找到有关新 XCode 布局的信息。如何查看源文件的反汇编,而不仅仅是 C++ 代码? 最佳答案 在 Xcode 4.2(和 Xcode 5)中,您可以通过以下方式查看文件的汇编或反汇编: 显示
我在 XCode 中为我的项目添加了一个文件夹并将其命名为 Themes,它将用于存储我的 iPad 应用程序的主题。在那下面我有红色、蓝色等等。 它们出现在 XCode 中。但是当我查看物理文件夹时
作为我之前 How can I create a reference cycle using dispatchQueues? 的后续: 对于强引用(会造成泄漏,但不是循环引用),例如Timer、Dis
我有一台 macbook air,我去商店安装 Xcode 7.3 并点击更新 App 按钮,然后出现了一个加载图标,但等待 30 分钟后什么也没发生。我从商店成功安装了 simple recorde
我的项目现在有一个project.xcworkspace/xcshareddata目录。 Xcode在project.xcworkspace/xcshareddata目录中存储什么? 最佳答案 xcs
我不经常使用 XCode 进行开发,最近 MacPorts 告诉我我需要获得 3.1 才能使包工作。我去了苹果,他们为我提供了最新版本,结果只适用于 OSX 6。因为我有 OSX 5,它对我没有任何帮
有谁知道如何强制 Xcode 停止运行。我更新到 6.2 但现在它不能正常工作。我需要退出 Xcode 才能完成更新或卸载并重新安装。菜单中的相当 Xcode 不可用。无法将其拖到垃圾箱,因为它说它仍
我最近从我的项目中删除了一些旧的测试类并删除了文件。正如预期的那样,文件被移到垃圾箱并在 git 中显示为已删除。 不幸的是,测试类和它们定义的测试用例继续出现在测试导航器中。我已经尝试过常见的疑点,
Xcode 中的场景编辑器显示大小但不显示单位。它是以英寸为单位的尺寸还是以米为单位的尺寸? 例如,当我选择一个节点时,例如一个盒子,当我在节点检查器中检查它的属性并在“边界框”旁边的“变换”部分检查
只想知道 xcode 项目中事件可执行文件的目的是什么? 谢谢 索拉布 最佳答案 自己找到了..希望它会帮助某人。 您可以在其中运行和测试软件产品的可执行环境。可执行环境定义了应该用来运行产品的程序。
刚回到我的办公 table ,Xcode 一直在文件中突出显示/强调空白区域。如果我输入一些东西它就会消失,但如果我切换标签并回来,它们会重新出现。 更新:这不是由“显示隐形”选项引起的。那看起来不一
我首先注意到这一点 Cmd-/偶尔拒绝为注释取消注释的代码行工作。但是现在(刚刚使用 XCode 4.1,虽然这可能无关)它发生在 Cmd-B建立。 我无法弄清楚我正在做什么导致这种情况,或者是否有任
我不太了解Xcode 4的工作区的实用程序。它们的用途是什么,它们如何帮助Xcode进行开发? 最佳答案 例如。您有一个在两个应用程序中使用的库。您很可能为此库拥有一个自己的项目,对吗?现在,您可以自
我正在关注一个应用程序教程,它说: “接下来,在 Xcode 应用程序项目目录的根目录下创建一个空文件,并调用该文件 Podfile。使用您喜欢的文本编辑器打开它,然后在其中粘贴以下行:” 我很困惑这
我是一名优秀的程序员,十分优秀!