gpt4 book ai didi

ios - SceneKit:在运行时从模型创建 SCNNode

转载 作者:行者123 更新时间:2023-11-30 11:11:06 24 4
gpt4 key购买 nike

我正在制作 SceneKit 游戏,并且我有一个包含模型的文件夹(file.obj、file.mtl、file.png)。我可以将模型拖到 game.scn 文件中。

let node = rootNode.childNode(withName: "boxTarget", recursively: true)!.flattenedClone()
node.isHidden = false

然后我查找节点的名称并创建一个 flattenedClone。

但我认为会有更好的方法来在运行时动态地使用模型创建多个 SCNNode,而无需将它们添加到 game.scn 文件中。

最佳答案

如果我正确理解了这个问题,我做了这样的事情:

func initGameNodes() {
scene = SCNScene()

gameNodes = SCNNode()
gameNodes.name = "gameNodes"
scene.rootNode.addChildNode(gameNodes)

initLights()
scene.rootNode.addChildNode(camera.cameraEye)
scene.rootNode.addChildNode(camera.cameraFocus)

camera.reset()
}

func loadCollada(sceneName: String, objName: String) -> SCNNode {
let vScene = SCNScene(named: sceneName)!
let gObject = vScene.rootNode.childNode(withName: objName, recursively: true)!
return gObject
}

func createProjectileNodes(vMissile: weaponTypes) -> SCNNode {
switch vMissile
{
case .defenseMissile:
let vNode = loadCollada(sceneName: "art.scnassets/Models/missile.dae", objName: "Default")
vNode.scale = SCNVector3Make(0.05, 0.05, 0.05)
vNode.name = "Missile01"
return vNode
case . etc.
}
}

关于ios - SceneKit:在运行时从模型创建 SCNNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52171113/

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