当前位置 : 主页 > 手机开发 > ios >

ios – 用于3D模型SceneKit / ARKit的格式文件更好用

来源:互联网 收集:自由互联 发布时间:2021-06-11
我阅读了几个教程,如何在SceneKit / ARKit应用程序中放置3d对象,并且所有这些教程都使用.scn格式文件作为对象. 但是我发现如果我使用原始.dae格式并且不将其转换为.scn格式则没有任何问题
我阅读了几个教程,如何在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资产没有任何区别,则有两个可能的原因:

>您的资源仅使用DAE格式中可用的SceneKit功能.
>部署到iOS / tvOS / watchOS时,Xcode(通过scntool)会自动将所有3D资源资源转换为SCN格式. (并应用其他转换,如交错几何缓冲区,以获得iOS / tvOS / watchOS设备上的最佳渲染性能.)构建应用程序的Resources目录中的文件名仍具有.dae扩展名,但文件内容与SCN格式相同.

(在iOS / tvOS / watchOS中运行的SceneKit实际上无法读取DAE,因此它依赖于Xcode的这种预处理.)

网友评论