我的目标是采用现有的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对象(平面或其他东西)上的纹理,并完全控制顶点和片段着色器。