1
4
每个3D块(表示tileMap中的一个tile)都将被视为一个节点,并会导致巨大的性能问题, 我认为您的问题应该是如何在Scenekit中渲染性能良好的3D平铺贴图,因为imo Scenekit无疑是一种方法,并且可以防止这些巨大的性能问题。 对于初学者,如何创建平铺?如果使用内置原语,通过使用dae或obj文件中的平铺,甚至通过编程方式创建平铺,可以获得巨大的性能提高。 如果整个平铺都是相同的模型,则应仅添加一次,然后为所有其他平铺克隆该平铺: https://developer.apple.com/documentation/scenekit/scnnode/1408046-clone (注意,您必须创建材质的副本并将其指定给克隆,以防止其在所有平铺中共享)。 此外,通过将它们全部添加到单个父节点,可以创建一个所谓的扁平克隆,以将所有平铺合并到单个节点中。 https://developer.apple.com/documentation/scenekit/scnnode/1407960-flattenedclone 这大大减少了draw调用的数量。 如果速度不够快,另一种选择是以编程方式创建整个地图。也就是说,创建所有顶点并基于这些顶点创建一个顶点度量。 另一个可能非常快速的选项是使用4个顶点创建平面,然后使用着色器和置换贴图创建平铺贴图。 关于克隆和展平克隆的部分也适用于具有相同几何图形的建筑。 为了完整起见,如果这不明显,您应该设置 https://developer.apple.com/documentation/scenekit/scncamera/1436621-usesorthographicprojection 将摄影机的属性设置为true,以获得该等轴测外观。 |
Mark George · 如何在swift ui中为文本提供内部填充 1 年前 |
Safa Ads · CDN:无法下载中继URL:https://cdn.jsdelivr.net/cocoa/Specs/2/e/c/RxSwift/3.0.0-rc.1/RxSwift.podspec.json响应:SSL连接错误 1 年前 |
fun lab · 与Apple Music API集成的未授权请求 1 年前 |
marc-medley · swift shebang脚本的导入路径 1 年前 |
Lorenzo B · 解码单个值时对JSONDecoder的说明 2 年前 |