我正在尝试学习 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(使用前将#替换为@)