首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >适用于iOS的Big SCNGeometry SceneKit

适用于iOS的Big SCNGeometry SceneKit
EN

Stack Overflow用户
提问于 2016-12-03 02:08:46
回答 1查看 497关注 0票数 2

我正在做一个可可/iOS项目。我有一个管理Scenekit场景的通用swift类。

我想画一个大的地形(大约5000x5000点)。我每4个点有2个三角形。我已经为整个地形创建了一个scngeometry对象(这是一件好事吗?)

我决定将这些点存储在一个6浮点结构(x,y,z和r,g,b)中。我试图在一开始创建一个空数组或分配一个大数组:我得到了同样的问题。我使用Int数据类型来处理索引数组。该项目在Cocoa上运行良好,但我在iOS上遇到内存错误。我认为这是因为顶点需要一个大型的连续数组。

我试图创建几个几何对象块,但场景工具包不喜欢如果我们擦除之前的缓冲区。

这种情况下的最佳实践是什么?

有没有办法将顶点存储在大容量存储器中,而不是存储在内存阵列/缓冲区中?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-12-03 03:31:36

在一个闪亮的新5K显示屏上,So...twice的地形点和像素一样多?在iOS上一次使用的内存是非常巨大的。而且你在iOS设备上看不到这种分辨率。

那么我们来看看:

  • 将你的2500万像素的地形分解成更小的瓦片,每个瓦片都在它自己的SCNNode中。循环遍历瓦片,创建一个SCNNode,丢弃该瓦片的6-Float数组,然后移动到下一个。
  • 使用SCNLevelOfDetail生成这些节点的简单版本,以便在它们非常远的时候显示。
  • 在OS X上做构造工作。存档你的场景(NSSecureCoding)。将该场景捆绑到iOS应用程序中。
  • 考虑在主SCNScene中使用引用节点,并将每个瓦片存档为单独的SCNScene应用程序。您已经在使用三角形条带而不是三角形来构建几何图形。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40938464

复制
相关文章

相似问题

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