Wiem, że można utworzyć custom animatable properties in Core Animation, ale co z systemem SceneKit w OS X 10.8? Wydaje się, że SCNAnimatable
nie ujawnia tych samych interfejsów API, co CALayer
w przypadku tworzenia animacji właściwości.Własne właściwości animacyjne w programie SceneKit
W mojej aplikacji, mam podklasę SCNNode
o nazwie Starfield
, którą przeportowałem ze starej aplikacji OpenGL przy użyciu SCNNodeRendererDelegate
. Starfields narazić właściwość GLfloat
nazywa warpFactor
:
@interface Starfield : SCNNode<SCNNodeRendererDelegate> {
// other stuff that's not really important for this question
GLfloat warpFactor;
}
@property(nonatomic) GLfloat warpFactor;
@end
Ale gdy próbuję dodać animację do niego tak:
CABasicAnimation *warp = [CABasicAnimation animationWithKeyPath:@"warpFactor"];
warp.toValue = @1.0;
warp.duration = 5.0;
[starfield addAnimation:warp forKey:@"warp"];
otrzymuję następujący w konsoli:
[SCNKit ERROR] warpFactor is not an animatable path (from <unnamed SCNNode 0x1016473c0, no children>)
Wiem, że SceneKit jest zupełnie nowy, ale czy ktoś wie, jak to zrobić?
Jestem autentycznie zaskoczony, że to jest pierwsze pytanie, ktoś poprosił o SceneKit tutaj. –