So che è possibile creare custom animatable properties in Core Animation, ma nel framework SceneKit di OS X 10.8? SCNAnimatable
non sembra esporre le stesse API di CALayer
per rendere animabili le proprietà.Proprietà animabili personalizzate in SceneKit
Nella mia applicazione, ho una sottoclasse SCNNode
chiamata Starfield
, che ho trasferito da una vecchia applicazione OpenGL utilizzando un SCNNodeRendererDelegate
. Starfields espone una proprietà GLfloat
chiamato warpFactor
:
@interface Starfield : SCNNode<SCNNodeRendererDelegate> {
// other stuff that's not really important for this question
GLfloat warpFactor;
}
@property(nonatomic) GLfloat warpFactor;
@end
Ma quando provo ad aggiungere un'animazione ad esso, in questo modo:
CABasicAnimation *warp = [CABasicAnimation animationWithKeyPath:@"warpFactor"];
warp.toValue = @1.0;
warp.duration = 5.0;
[starfield addAnimation:warp forKey:@"warp"];
ottengo il seguente nella console:
[SCNKit ERROR] warpFactor is not an animatable path (from <unnamed SCNNode 0x1016473c0, no children>)
So che SceneKit è nuovo di zecca, ma qualcuno capisce come farlo funzionare?
Sono sinceramente sorpreso che questo è ha chiesto qui circa SceneKit la prima domanda qualcuno. –