Вспомнил, что забыл отписаться по решению данной задачи.
Решил в SWIFT ее следующим образом. Строим N-ое количество точек, строим сплайн через эти точки. Перемещаем объект с помощью SKAction.follow, она позволяет задавать ориентацию по направлению движения, по завершению строим новые точки. Более плавное перемещение можно достичь генерируя точки без резких отклонений от текущего направления движения, чтобы объект не менял резко направления движения в противоположную сторону. Всем спасибо за помощь
func Yellow()
{
var object = self.childNode(withName: "//yellow") as! SKSpriteNode
yellowMove(object: object)
}
func yellowMove(object obj: SKSpriteNode)
{
var chain = [CGPoint]()
chain.append(CGPoint(x:obj.position.x,y:obj.position.y))
// генерируем 6 случайных точек.
for var i in (1..<6) {
chain.append(CGPoint(x:getRndX(),y:getRndY()))
}
// Строим сплайн через эти точки
let ground = SKShapeNode(splinePoints: &chain,count: chain.count)
let anim=SKAction.follow(ground.path!, asOffset: false, orientToPath: true, duration: 10)
// по завершении перемещения, опять запускаем функцию
obj.run(anim,completion:{
self.yellowMove(object: obj)
})
}