如何为 SKScene 创建自己的坐标系



我的目标是采用现有的SKScene并根据多项式函数拉伸它,就像将所有东西拉伸到中心或远离中心一样。拉伸的表单将连续呈现并呈现给用户。它可能是一个新的场景/图像/视图或任何必要的东西。随着时间的推移,该模型将以欧几里得形式简单地执行其功能。

我的项目内容只不过是Xcode上的iOS SpriteKit入门项目。

  • 我知道SKScene中的功能: convertPointToView()convertPointFromView()但是,我不明白这些对视图有什么用处,因为场景只有宽高比填充、适合和调整大小设置。

  • 试图制作一个片段着色器来进行实际的拉伸,但是,我无法弄清楚如何获取现有颜色和位置信息以根据转换绘制新颜色。

  • 正在使用SpriteKit,我只知道如何使用SKShader从着色器中访问片段。我不知道如何从此上下文访问顶点着色器。否则,我会尝试使用顶点着色器。

你可以

使用SceneKit:

  • 使用SCNScene创建SCNView
  • 使用SCNPlane几何图形创建SCNNode(或创建自定义SCNGeometry
  • 创建SCNMaterial,并将SKScene附加到已创建材质的diffuse.contents属性
  • 将材质附着到几何体
  • 将节点附加到场景

然后,您有多种选择:

  • 使用 SCNShadable - 为几何体或材质附加着色器修改器,或使用自定义SCNProgram
  • SCNView上使用SCNTechnique

这样,您将SKScene作为3D对象(平面或其他东西)上的纹理,并完全控制顶点和片段着色器。

最新更新