【发布时间】:2018-08-16 23:50:31
【问题描述】:
我正在开发一个 ARKit 应用程序,您可以在其中穿过一个门户,然后您会在其他地方。我购买了一个拱门的 3d 模型作为门户。我将模型放入 Blender 以将其压平成一块,但纹理消失了,每当我应用新纹理时,它只会显示在模型的一部分上。
这是原始模型,仅通过将其更改为 .dae 格式进行了修改。但是,如果不一遍又一遍地写同一行,我就无法加载 arch1、arch2、arch3 等
使用这个模型,我会一遍又一遍地编写相同的代码
private func addPortalArch(hitResult: ARHitTestResult) {
let portalScene = SCNScene(named: "art.scnassets/Medieval_portal.dae")
let portalNode = portalScene?.rootNode.childNode(withName: "arch1", recursively: true)
// 我会为每个拱门一遍又一遍地编写这个 portalNode = portalScene 行。
//据我所知,我还必须获取每个部分的位置,我不知道如何根据用户点击放置门户的位置开始这样做。
portalNode?.position = SCNVector3(hitResult.worldTransform.columns.3.x, hitResult.worldTransform.columns.3.y, hitResult.worldTransform.columns.3.z)
self.sceneView.scene.rootNode.addChildNode(portalNode!)
}
我需要模型是一次性的,但在整个模型上仍然使用相同的石雕材料。
【问题讨论】:
-
上传你的传送门模型,我会尽力帮助:)