首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用RoomPlan从CapturedRoom.walls重新创建SceneKit

用RoomPlan从CapturedRoom.walls重新创建SceneKit
EN

Stack Overflow用户
提问于 2022-09-22 21:32:08
回答 1查看 164关注 0票数 2

对于斯威夫特来说,我还是比较新的,我试图用苹果的RoomPlan API来创建一个没有任何物体的房间的渲染。为此,我使用CapturedRoom.walls给出的墙壁列表,并使用给定的信息创建一系列的SCNNodes。这样我就可以随意修改应用程序中的房间了。然而,墙壁却出现在随机的地方?不知道我哪里出了问题:

代码语言:javascript
复制
//roomScan is a CapturedRoom object, scene is an SCNScene
for i in 0...(roomScan.walls.endIndex-1) {
 
   //Generate new wall geometry
   let scannedWall = roomScan.walls[i]
            
   let length = scannedWall.dimensions.x
   let width = 0.2
   let height = scannedWall.dimensions.y
   let newWall = SCNBox(
      width: CGFloat(width),
      height: CGFloat(height),
      length: CGFloat(length),
      chamferRadius: 0
   )
            
   newWall.firstMaterial?.diffuse.contents = UIColor.white
   newWall.firstMaterial?.transparency = 0.5
            
   //Generate new SCNNode
   let newNode = SCNNode(geometry: newWall)
   newNode.simdTransform = scannedWall.transform

   scene.rootNode.addChildNode(newNode)
}

这就是CapturedRoom的样子

但这是我的代码输出的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-23 19:13:21

应该是以下几点呢?

代码语言:javascript
复制
let length = 0.2
let width = scannedWall.dimensions.x
let height = scannedWall.dimensions.y
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73820896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档