wm.*_*1us 5 augmented-reality ios scenekit swift
我读了几个教程,如何在SceneKit/ARKit应用程序中放置3d对象,所有这些教程都使用.scn格式文件作为对象.
但是我发现如果我使用原始.dae格式并且不将其转换为.scn格式则没有任何问题.
我真的看不到.dae和.scn格式之间的任何区别.
实际上结果在我看来是一样的,但你能解释一下它们之间的差异以及在什么情况下我应该使用什么?
谢谢!
DAE(Digital Asset Exchange,又名Collada)是一种供应商中立的3D资产格式.它支持多种3D创作和演示工具中存在的各种功能,但不支持SceneKit中的所有可能功能.从历史上看,它是SceneKit早期版本的唯一资产格式.
SCN格式是SceneKit对象图的序列化.(有读取/写入它的方便方法SCNScene,但实际上它通过传递SCNScene到NSKeyedArchiver/ 来获得同样的东西NSKeyedUnarchiver.)因此,它根据定义支持SceneKit的所有功能,包括物理,约束,动作,基于物理的相机,以及着色器修饰符.
如果您正在使用DAE资产,部署到iOS(或tvOS或watchOS),并且与使用SCN资产没有任何区别,则有两个可能的原因:
部署到iOS/tvOS/watchOS时,Xcode(via scntool)会自动将所有3D资源资源转换为SCN格式.(并应用其他转换,如交错几何缓冲区,以获得iOS/tvOS/watchOS设备上的最佳渲染性能.)构建应用程序的Resources目录中的文件名仍具有.dae扩展名,但文件内容与SCN格式相同.
(在iOS/tvOS/watchOS中运行的SceneKit实际上无法读取DAE,因此它依赖于Xcode的这种预处理.)
您可以在SceneKit/ 中使用的最有效的 3D 格式ARKit是USDZ格式。
USD ?–?Universal Scene Description,由皮克斯开发。该文件能够通过将许多源文件组合成连续更大的聚合来创建 3D 场景。这很好,但这可能是使用美元以已建立的形式交付资产的问题。没有将图像/纹理表示为可在 USD 文件中编码的场景描述的机制。此外,如果这些资产是单个对象,则可以在各种系统和平台上交付,无需解压到文件系统即可流式传输和使用。
SceneKit 框架目前支持几种流行的 3D 文件格式(以这些格式保存的几何图形在 ARSCNView 中可见):
Collada 的数字资产交易所 .dae
皮克斯的压缩通用场景描述 .usdz
皮克斯的 ASCII 通用场景描述 .usda
皮克斯的二进制通用场景描述.usd,.usdc
波前对象.obj和材料.mtl
Alembic 交换文件格式 .abc
多边形文件格式 .ply
立体光刻文件格式 .stl
SceneKit 场景 .scn
你也可以转换.fbx和.glTF使用文件的命令行。
关于Reality Composer格式
.rcproject并在此处阅读。.reality
| 归档时间: |
|
| 查看次数: |
3868 次 |
| 最近记录: |