将dae批量转换为scn
Posted
技术标签:
【中文标题】将dae批量转换为scn【英文标题】:Batch convert dae to scn 【发布时间】:2018-05-16 21:44:13 【问题描述】:有没有办法将 Collada dae 文件批量转换为 Scenekit scn 文件?
我的项目使用了大约 50 个在sketchup 中创建的模型,这些模型会定期更新,这些模型会导出到 DAE,但还需要转换为 SCN 文件才能在 xCode 中使用。我知道它可以通过 xCode 和“转换为 SceneKit 场景文件格式 (scn)”手动完成,但这需要大量的体力劳动。
【问题讨论】:
【参考方案1】:根据https://the-nerd.be/2014/11/07/dynamically-load-collada-files-in-scenekit-at-runtime/发现scntool可以通过命令行进行转换,编写如下脚本:
find ./dae -name "*.dae" | while read f ; do
inputfilename=$(basename $f)
echo $inputfilename
./scntool --convert $f --format scn --output ./scn/$inputfilename
done
for file in ./scn/*.dae; do
mv "$file" "./scn/$(basename "$file" .dae).scn"
done
【讨论】:
【参考方案2】:@HixField 有一个很好的 shell 脚本来调用 scntool
。另一种方法是利用 Xcode 的构建系统,它对您放在项目的 scnassets
文件夹中的任何 .dae
文件执行相同的操作。即使您没有在您的应用程序中捆绑这些文件,您也可以创建一个虚拟 Xcode 目标或项目,其中包含您要转换的所有资产,并且它会在您构建目标时将它们全部转换。 (然后您可以将其集成到 CI 系统或其他自动化系统中。)
【讨论】:
以上是关于将dae批量转换为scn的主要内容,如果未能解决你的问题,请参考以下文章