#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 секунд не сработали. Стрелка просто появляется. 🙁