Ich weiß, dass es möglich ist, custom animatable properties in Core Animation zu erstellen, aber was ist mit dem SceneKit-Framework von OS X 10.8? SCNAnimatable
scheint nicht die gleichen APIs verfügbar zu machen, die CALayer
für das Animieren von Eigenschaften ermöglicht. In meiner Anwendung habe ich eine SCNNode
Unterklasse namens Starfield
, die ich von einer alten OpenGL-Anwendung mit einem SCNNodeRendererDelegate
portiert habe Starfields aussetzen eine GLfloat
Eigenschaft warpFactor
genannt:Benutzerdefinierte animierbare Eigenschaften in SceneKit
@interface Starfield : SCNNode<SCNNodeRendererDelegate> {
// other stuff that's not really important for this question
GLfloat warpFactor;
}
@property(nonatomic) GLfloat warpFactor;
@end
Aber wenn ich versuche, eine Animation, um es hinzuzufügen, etwa so:
CABasicAnimation *warp = [CABasicAnimation animationWithKeyPath:@"warpFactor"];
warp.toValue = @1.0;
warp.duration = 5.0;
[starfield addAnimation:warp forKey:@"warp"];
ich folgend in der Konsole:
[SCNKit ERROR] warpFactor is not an animatable path (from <unnamed SCNNode 0x1016473c0, no children>)
Ich weiß, SceneKit ist brandneu, aber weiß irgendjemand, wie das funktioniert?
Ich bin wirklich überrascht, zu synchronisieren, dass dies die erste Frage, hat jemand hier über SceneKit gefragt. –