SceneKit SCNNode SNCAction.fadeIn ведет себя не так, как ожидалось, он просто появляется

#ios #swift #scenekit

#iOS #swift #сценарный план

Вопрос:

Я играю со SceneKit, чтобы ознакомиться с ним. Я пытаюсь сделать затухание в некоторых узлах и переместить их вниз. Теперь, кажется, все работает, кроме анимации fadein. Вот этот код

 let arrowShape = SCNPlane(width: 1, height: 0.3)
let arrowMaterial = SCNMaterial()
arrowMaterial.lightingModel = .constant
arrowMaterial.isDoubleSided = false
arrowMaterial.transparencyMode = .singleLayer
arrowMaterial.diffuse.contents = UIImage(named:"unnamed.png")
arrowMaterial.blendMode = .add                    
arrowShape.materials = [arrowMaterial]
let arrowNode = SCNNode(geometry: arrowShape)
arrowNode.opacity = 0.0
arrowNode.pivot = SCNMatrix4MakeTranslation(0, 0.2, 0)
arrowNode.position = SCNVector3(0, 1, 0.1)
planeNode.addChildNode(arrowNode)
            
let apearAction  = SCNAction.fadeIn(duration: 0.1)
let action = SCNAction.moveBy(x: 0, y: -1, z: 0, duration: 1)
let group = SCNAction.group([apearAction,action])
let removeAction  = SCNAction.removeFromParentNode()
let sequence = SCNAction.sequence([group, removeAction])
arrowNode.runAction(sequence)
 

Но по какой-то причине стрелка просто появляется и движется вниз. Я пробовал просто добавлять fadein без движения и с теми же результатами. Я думаю, что это связано с материалами, но я не уверен.
Я думал, что это было бы так же просто, как UIView.animate … методы .. 🙂

введите описание изображения здесь

Заранее спасибо и простите меня, если я задал какой-то дурацкий вопрос.

Комментарии:

1. Попробуйте сделать ваше действие fadeIn на галочку дольше, например, на 0,5 или 0,3 секунды.

2. @zay Сделал так, что даже 5 секунд не сработали. Стрелка просто появляется. 🙁