如何在 XCassets 中使用立方体纹理类型

2024-02-05

我正在尝试学习 SceneKit 开发并尝试在后台添加天空盒。 为了存储立方体贴图纹理,我发现 XCAssets 有一个类型立方体纹理集 https://developer.apple.com/library/archive/documentation/Xcode/Reference/xcode_ref-Asset_Catalog_Format/3DTextureType.html#//apple_ref/doc/uid/TP40015170-CH51-SW1这似乎完全符合要求。

然而。我还没有找到任何方法来访问代码中的纹理(例如,作为您调用的图像集UIImage(named: "asset_name"))。我尝试过创建一个SKTexture, MDLTexture og MTKTexture从资产但没有成功。有谁知道如何使用立方体纹理集?


您可以使用 MetalKit 轻松从资源目录中加载立方体纹理。

import MetalKit

在你的文件的顶部。这两行的业务是:

  let textureLoader = MTKTextureLoader(device: scnView.device!)
  scene.background.contents = try! textureLoader.newTexture(name: textureName, 
                                       scaleFactor: 1.0, 
                                       bundle: .main, options: nil)

我在从默认 SceneKit 游戏模板创建的项目中尝试了这一点,并在设置视图的背景颜色后将这两行放在 GameViewController.swift 中

(我希望您也可以使用其他技术来做到这一点,但这就是您使用 Metal 加载立方体纹理的方法)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 XCassets 中使用立方体纹理类型 的相关文章

随机推荐