でARコンテンツを表示しようとしていQLPreviewController
ます。照明以外はすべて正常に動作します。Xcode または macOS のクイック ルックを使用してファイルをプレビューすると、照明は自然ですがQLPreviewController
、オブジェクトを使用してプレビューすると暗すぎます。照明、スケール、およびその他の設定を調整する方法はありますか?
2 に答える
モデルの作成中に、3D メッシュに UV レイアウトがあることを確認してください。UV を使用しない場合、3D オブジェクトは iOS デバイスおよび QLPreviewController では暗く表示されますが、3D または ARQuickLook を使用すると MacOS で問題なく表示される場合があります。
詳細については、以下のリンクを参照してください。
https://forums.developer.apple.com/thread/107094
例: Blender でモデルを作成している場合、これが役立つ場合があります。
https://blender.stackexchange.com/questions/1022/adding-uv-mapping-to-mesh
usdz オブジェクトを XCode で開き、マテリアル インスペクターを確認すると、照明の色が黒に設定されていることがわかります。そのため、AR ワールドでは暗く表示されますが、ARQuickLook では問題なく表示されます。
UVマップを設定すると問題が解決します。
私が試した他のハックは次のとおりです(推奨されません):
1) USDZ モデルの作成中に emissiveColor を変更します。usdz ファイルの生成には Python ベースのツール (USDPython) を使用します。
https://developer.apple.com/download/more/?=USDPython
usdzconvert Model.obj -diffuseColor modelDiffuse.png -normal modelNormal.png -metallic 1 -roughness 1 -occlusion 1 -emissiveColor 0.5,0.5,0.5
2) イルミネーションの色を白に設定します。
最初に .usdz を .scn に変換 -> 照明を変更 -> .scn を .usdz に変換
let scnScene = SCNScene(named: "sceneName", inDirectory: "art.scnassets", options: nil)
scnScene!.write(to: fileUrl.appendingPathComponent("Model.usdz"), delegate: nil)
この WWDC トーク (シーンキットからの USDZ のエクスポート) を参考にしてください。