ModelIOを使用して.OBJファイルの読み込みとテクスチャリングのデモンストレーションを行っています。local fileを使用すると、このコードは正常に動作します。
guard let url = Bundle.main.url(forResource: "myVase", withExtension: "obj") else {
fatalError("Failed to find model file.")
}
let asset = MDLAsset(url:url)
guard let object = asset.object(at: 0) as? MDLMesh else {
fatalError("Failed to get mesh from asset.")
}
しかし、コードを変更して、ローカル ファイルの代わりにAmazon S3 のファイルを使用するとします。「OBJ ファイルを開けませんでした」と「アセットからメッシュを取得できませんでした」というエラーが表示されました。 これが私のコードです:
let url = URL.init(string: "https://s3.amazonaws.com/myObject/.../object.obj")
let asset = MDLAsset(url:url!)
guard let object = asset.object(at: 0) as? MDLMesh else {
fatalError("Failed to get mesh from asset.")
}
注: リンクを公開し、無料でダウンロードできるようにしました。