ユーザーが画面を押したときに、ユーザーの指の後ろにシーンの拡大プレビューを表示しようとしています。ノードのテクスチャを抽出し、以下のコードを使用してシーンに追加します
if let previewTexture = view?.textureFromNode(rootNode, crop: CGRect(origin: rootNodePoint, size: CGSize(width: 100, height: 100))) {
previewNode.texture = previewTexture
}
このメソッドをクロップ rect で使用すると、nil が返されますが、クロップなしではテクスチャが正常に返されます。
ノード ツリー全体が 4098 ポイント以上に拡張される可能性があるため、最初に完全なテクスチャを取得してからトリミングすることはできません。そのような場合、スプライト キットは空のテクスチャを返します。
UIView の drawViewHierarchyInRect メソッドは、プレビュー自体を含むスナップショットを返すため、使用できません。
問題TextureFromNodeBugを再現するサンプル プロジェクトを作成しました 。
アップデート:
この問題は iOS 9.2 では再現されないため、フレームワークのバグである可能性があります