1

文書化されていますが、次のクラス メソッドはライブラリMDLAssetに存在しません。ModelIO

+ assetWithSCNScene:bufferAllocator:



+ assetWithSCNScene:

そのため、現在、.scn ファイルを読み込んでSceneKit .scnファイルを作成する方法はありませんMDLAsset

回避策は何ですか?

更新 0

私はこれらをインポートしています:

import SceneKit
import ModelIO
import MetalKit
import GLKit

私のレンダラーでは、MDLAssetからをインスタンス化しようとしていますSCNScene:

guard let scene = SCNScene(named:"ball.scn") else {
    fatalError("Error: Can not create scene")
}

let asset = MDLAsset(scnScene:scene, bufferAllocator:MTKMeshBufferAllocator(device: device))

このエラーが発生します

ここに画像の説明を入力

カテゴリが見つからないことを示します。ここで何を見逃したのですか?

4

2 に答える 2

1

これらはMDLAsset、SceneKit によってカテゴリとして定義されます (定義されている場所であるため、必要ですSCNScene)。@import SceneKitだけでなく、する必要があります@import ModelIO


ObjC に署名をリストしました。Swift のタグを付けたことに気付きませんでした。Swift では、関連するサブモジュールをインポートする必要があります。

import SceneKit.ModelIO

これは実際には少し奇妙な IMO であり、おそらく必要ないはずです。レーダーを開きます (bugreport.apple.com)。少なくとも、ドキュメントはより明確にする必要があります。

于 2016-11-04T13:52:54.227 に答える