簡體   English   中英

iOS SceneKit:XCode“破壞”了導入的DAE材質顏色

[英]iOS SceneKit: XCode “breaks” imported DAE material colors

首先,對於3D設計的非技術語言,如果超出我的范圍,我深表歉意。 我正在使用一些DAE文件在3D設計人員提供的SceneKit上顯示3D模型。 但是,當我將其添加到XCode的scnassets文件夾中時,所有材料顏色都會“損壞”。 以這種珠寶的DAE為例,藍色和白色版本可以在在線查看器上看到,並且是正確的版本。 另一幅黑白圖像是我從運行ARSession且將dae加載到節點上的手機中截取的屏幕截圖。

正確的顏色 顏色錯誤

關於如何保留原始色彩有任何想法嗎?

從命令行更新運行,我收到很多這樣的警告:

$ xcrun scntool --convert ARO-E-BLING.DAE-輸出cliConverted.scn --format scn

警告:具有URL文件的instance_effect:/Users/Leandro/Documents/ARO-E-BLING.DAE#White stone-fx沒有引用效果,請跳過該效果

警告:具有URL文件的instance_effect:/Users/Leandro/Documents/ARO-E-BLING.DAE#Blue Stone-fx沒有引用效果,請跳過該效果

警告:找到無效的材料[白色],恢復為默認材料

警告:找到無效的物料[藍色],恢復為默認物料

好了,從命令行運行它可以幫助我找到解決方案。 如果dae中的材質和/或效果上有空格, scntool似乎scntool失敗。 例如,我有類似的東西:

<material id="Blue Stone" name="Blue Stone">
  <instance_effect url="#Blue Stone-fx"/>
</material>

我必須替換

<material id="Blue_Stone" name="Blue_Stone">
  <instance_effect url="#Blue_Stone-fx"/>
</material>

更新2018年1月8日,我向Apple提交了錯誤報告,他們表示此行為不是錯誤,它表明:

根據Collada規范( https://www.khronos.org/files/collada_spec_1_4.pdf ),“ instance_effect”的URL類型為“ xs:anyURI”。

URI不允許包含空格,必須對其進行轉義( http://www.datypic.com/sc/xsd/t-xsd_anyURI.html中的 “應改用%20來轉義空格”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM