gpt4 book ai didi

Swift MetalKit 未知返回类型 MTKMesh.newMeshes

转载 作者:可可西里 更新时间:2023-11-01 00:55:24 39 4
gpt4 key购买 nike

到目前为止,我一直在按照教程(在 Metal 1 前后发布)来学习 Metal。到目前为止,我还没有遇到任何我无法弄清楚的错误。我正在尝试执行这段代码

var meshes: [AnyObject]?
//code
let device = MTLDevice() //device is fine
let asset = MDLAsset() //asset works fine
do{
meshes = try MTKMesh.newMeshes(asset: asset, device: device)
} catch //...

我遇到的错误是无法将类型“(modellOMeshes: [MDLMesh], metalKitMeshes: [MTKMesh])”的值分配给类型“[AnyObject]?”

MTKMesh.newMeshes 的类型是什么?如何将其存储在变量中?我尝试将其转换为 as! [AnyObject],但是 xcode 告诉我每次转换都会失败。

最佳答案

该方法的返回类型是([MDLMesh], [MTKMesh]),一个由MTLMeshes数组和数组组成的元组MTKMeshes。这样做的原因是,除了为您创建的 MTKMesh 对象之外,您可能还需要 Assets 中包含的 MDLMesh 对象的原始集合。

因此,您可以像这样声明网格:

var meshes: ([MDLMesh], [MTKMesh])

或者,如果您不关心原始的 MDLMeshes,您可以“解构”元组以将您关心的部分放入 [MTKMesh] 类型的变量中:

var meshes: [MTKMesh]
(_, meshes) = try MTKMesh.newMeshes(asset: asset, device: device)

关于Swift MetalKit 未知返回类型 MTKMesh.newMeshes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50224108/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com