【发布时间】:2017-01-14 16:19:47
【问题描述】:
可能相关: Optimizing SceneKit performance with high-res textures
我正在将SKScene 映射到棋盘几何以创建棋盘游戏。场景需要相对较大(2048x1024),以便我可以放大动作并且仍然具有漂亮的细节。现在,为了解决这个常见问题,我已经知道了两种方法:
- 缩小时使用较低分辨率的纹理(即 mipmapping)-
这不是问题,
SceneKit帮我解决了。 - 平铺场景以获得特写,并仅显示屏幕上的平铺。
现在第二点让我开始思考。如何平铺 SKScene 并将它们映射到几何体上的不同位置?还有其他方法可以使这项工作吗?
截图
这是以静态图像 (2048x1024) 作为纹理的几何图形:
这是以SKScene (2048x1024) 作为纹理的几何图形:
场景不包含任何物理实体,只有大约 40 个 SKSpriteNodes 什么都不做。我需要它能够更改区域的颜色,也许添加一些额外的叠加层等。有没有办法完全使用SceneKit 来做到这一点?也许为每个区域创建一个几何图形?
实施的答案
我现在尝试仅使用SceneKit 来实现相同的场景。每个区域都是一个四边形,使用包含预渲染边界的纹理。不同的混合模式有助于衬托纸张纹理。不幸的是,性能影响大致相同 - 我的结论是,它不是 SpriteKit 毕竟占用资源,而是节点数与高分辨率纹理相结合(遗憾的是,如果你不这样做,则需要保持边界清晰使用路径)。
【问题讨论】:
标签: scenekit skscene texturing scnmaterial