2008年04月20日

Core Animation【コアアニメーション】

【属性】Application Framework
【開発・提供】Apple(アップルジャパン)
【公式サイト】
Created Date:08/04/20
Modified Date:
【解説】
「Mac OS X 10.5 Leopard」より新たに実装されたアプリケーションフレーワーク。同オペレーティングシステム以降を搭載した「Core Image」対応システムにて利用可能となっており、Mac OS Xにおいて「Graphics and Media」カテゴリに属している。グラフィックス関連機能をサポートする「Core」モジュールの一つとして、各種出力をアニメーションに纏めるべくした役割等を担っており、キーフレーム、スプラインアニメーション、トランジション等をGPUを用いて高速に処理する事ができる。

任意のアプリケーションに対してグラフィックス描画、投影、アニメーション効果等を追加すべくした「Objective-C」クラスのコレクションとして実装されており、「Core Image」ベースの視覚効果を用いた流体アニメーションの演出等を各種ユーザインターフェイスの表示やフィードバック等において実現(「OpenGL」等の低位のグラフィックスAPIを用いる事なく、最適なパフォーマンスを実現可能)。アプリケーションから呼び出し可能なコンポーネントの一つとしてシンプルなプログラミングモデルを用いた合成機能等を提供し、「NSView」に類似した階層レイヤの抽象化を維持しつつ、複雑なインターフェイスの作成や多数のレイヤの同時表示、アニメーション化等も実現している。

また、アニメーションをアプリケーションの実行ループから独立して別スレッドにて実行可能な抽象アニメーションインターフェイスや、レイヤのポジションとサイズを兄弟レイヤの属性を基準に相対的に設定可能なレイアウトマネージャモデル等を提供している他、「Core Video」「Core Audio」「Core Image」「Quartz Composer」「Quartz Window Server」「QuickTime」等の各種モジュールとの統合による様々な視覚効果等を実現。個々のグラフィックスモデルに対する統一的なイメージングモデルを提供しつつ、アニメーション化されたインターフェイスの作成等を可能としている(各レイヤには「Core Image」のフィルタや「Quartz 2D」の描画機能、「OpenGL」の画像、或いは「Quartz Composer」のコンポジション等、様々な要素を指定可能)。

その他にも分割したレイヤ毎に独立した3次元の座標変換値を指定する事ができるため、個々のレイヤに異なるパラメータを適用可能。それらを重ねて表示する事により、3次元空間上に配置されたインターフェイス等を表現する事ができる(基本的には2次元グラフィックス用のフレームワークとして実装されているが、持ち得る種々の性質等を利用する事により3D視覚効果を伴ったアプリケーションを開発可能)。

そして種々の諸効果等は「Cover Flow」や「Time Machine」「Spaces」、スクリーンセーバ等の他、「Quicksilver」(BRACKTREE)等のサードパーティアプリケーションにおいても利用されている。この際に「Cover Flow」ではアイコンやサムネール等の各種構成要素が、「Time Machine」ではバックアップポイント毎に区切られた「Finder」ウインドウが各々複数のレイヤに分割されて3次元空間に配置されている(「Time Machine」では、時間軸を表す奥行き方向に重なるように配置され、過去のウインドウほど奥に表示されるように座標変換のパラメータが設定されている)。

タグ:apple Mac OS X
posted by Flipper at 23:44 | TrackBack(0) | 【C】

この記事へのトラックバック