INDIE INDEX

レベル:入門

スプライトとは|画面上に配置して動かす、2Dの画像

言葉の意味

スプライトは、ゲームの画面の中で表示され、動かせる2Dの絵です。キャラクター・弾・アイテムなど、背景とは別に動かす部品に使われます。動かない背景の絵そのものは、ここに入りません。

たとえば Godot でも、この意味で使われています。スプライトを表示するための部品の Sprite2D と、複数のコマを持たせて動かせる部品の AnimatedSprite2D があります。動くキャラクターを作ったりダウンロードしたりすると、ふつう、1枚ずつの画像か、すべてのコマを1枚にまとめた画像のどちらかの形になり、どちらも AnimatedSprite2D で動かせます。

使う場面は、シーンに置いたスプライトの、表示するコマや向きを切り替えて動かすときです。Sprite2D は2Dのテクスチャ(画像)を表示し、表示する画像は、大きなアトラス(atlas)テクスチャの一部の領域か、スプライトシートのアニメーションの1コマにできます。flip_h(左右の反転)をオンにすると、画像を水平に反転して表示します。AnimatedSprite2D は、複数のテクスチャをアニメーションのコマとして持ち、play() で再生し、stop() で止められます。たとえば、右の矢印キーを押している間は play() で再生し、離したら stop() で止める、という使い方があります。

Godot で AnimatedSprite2D を置いたあと、1枚ずつの画像をコマにしてアニメーションを作る流れは、次のとおりです。

  1. AnimatedSprite2D を選び、SpriteFrames プロパティで「New SpriteFrames」を選びます。
  2. 作った SpriteFrames の資源(リソース)を押すと、エディターの下にパネルが出ます。
  3. FileSystem のドックから、1枚ずつの画像をパネルの中央にドラッグして、コマとして足します。
  4. パネルの左側で、アニメーションの名前を「default」から変えます。
  5. 「Play」のボタンで、アニメーションを確かめます。再生が遅いときは、パネルの Speed (FPS)(1秒あたりのコマ数)の設定を変えます。
  6. アニメーションを増やすときは、「Add Animation」(アニメーションの追加)のボタンを押して、画像を足します。

スプライトシートを使うときは、標準の Sprite2D で表示し、AnimationPlayer で画像から画像への切り替えをアニメーションにする方法もあり、繰り返したいときは Loop(繰り返し)のボタンを押します。AnimatedSprite2D には、アニメーションが終わりに届いたとき(逆向きに再生しているときは始まりに届いたとき)に出るシグナルの animation_finished があり、ループしているアニメーションでは出ません。ループしたときに出るシグナルは animation_looped です。

Unity では、Sprite Renderer コンポーネントの Sprite の欄で、描画するスプライトを決めます。Flip(反転)は、テクスチャを x 軸または y 軸に沿って反転し、有効にしても GameObject の位置は動いたり反転したりしません。Sorting Layer(スプライトが属するレイヤー)で、スプライトが描画されるタイミングが決まり、Order in Layer(Sorting Layer の中で、スプライトが属するサブレイヤー)は、値が低いほうが先に描かれます。

ブラウザ(canvas)で作った例として、立ち4コマ・走り6コマ・ジャンプ2コマ・攻撃4コマのアニメーションを切り替える仕組みを AI に作らせ、画面を持たないブラウザで確かめた記録が、スプライトアニメーションの切り替えを作らせる頼み方にあります。

次に読む

情報源

関連ページ46

このページの内容の誤りは、問い合わせの窓口で受け付けています。