Core Animationでカスタムのアニメーション化可能なプロパティを作成できることは知っていますが、OS X 10.8のSceneKitフレームワークではどうでしょうか? プロパティをアニメート可能にするために行うSCNAnimatable
のと同じAPIを公開していないようです。CALayer
私のアプリケーションには、というSCNNode
サブクラスがStarfield
あります。これは、古いOpenGLアプリケーションから。を使用して移植したものSCNNodeRendererDelegate
です。GLfloat
スターフィールドは、次のプロパティを公開しますwarpFactor
。
@interface Starfield : SCNNode<SCNNodeRendererDelegate> {
// other stuff that's not really important for this question
GLfloat warpFactor;
}
@property(nonatomic) GLfloat warpFactor;
@end
しかし、アニメーションを追加しようとすると、次のようになります。
CABasicAnimation *warp = [CABasicAnimation animationWithKeyPath:@"warpFactor"];
warp.toValue = @1.0;
warp.duration = 5.0;
[starfield addAnimation:warp forKey:@"warp"];
コンソールに次のように表示されます。
[SCNKit ERROR] warpFactor is not an animatable path (from <unnamed SCNNode 0x1016473c0, no children>)
SceneKitが真新しいことは知っていますが、これを機能させる方法を知っている人はいますか?