オーディオ編集ソフト「Audacity」の基本的な使い方

オーディオ(サウンド)編集のフリーソフトである「Audacity」の基本的な使い方を説明します。

なお Audacity は非常に多機能であるため、ゲームを作るにあたって必要な編集項目に厳選して解説します。

オーディオ編集ソフト「Audacity」の基本的な使い方

オーディオ編集ソフトを使う理由

オーディオ編集ソフトを使う理由としては以下のことがあります。

  • 音量が大きすぎるので小さくしたい(または小さいので大きくしたい)
  • 無音部分を消して再生タイミングを調整したり、ファイルサイズを減らしたい
  • モノラルにしてファイルサイズを減らしたい
  • 音の尺が長いので短くしたい

これらを行う方法についても書いていきます。

インストール方法

ダウンロードは以下のページにアクセスします。

このページから「DOWNLOAD AUDACITY」をクリックします。

ページの遷移先でしばらく待つと以下のようなダイアログが表示されるので「許可」を押してダウンロードを開始します。

Windowsの場合は実行ファイル、macOSの場合は dmg ファイルがダウンロードされるので、ダブルクリックしてインストール(または起動)をします。

オーディオファイルの読み込みと保存

オーディオファイルの読み込みはファイルをドラッグ&ドロップで読み込みます。

ファイルの保存はメニューから「ファイル > エクスポート > WAVとしてエクスポート」を選びます。BGMの場合は圧縮フォーマットの「MP3」や「OGG」で保存した方が良いかもしれません。

オーディオファイルの再生と停止

再生するには「▶」ボタン、停止するには「■」ボタンを押します。

また「Space」キーでも再生と停止ができるので、通常は「Space」キーを使うと便利です。

音量の調整

色々なところから素材をダウンロードすると、音量のバランスが合っていないことがあるので、その場合は音量を調整します。

最終的な音量を調整したいだけであれば、エフェクトのここの部分を左右に移動させて音量を調整します。

波形を直接小さくしたい場合には以下の手順で、直接波形を小さくできます。

  • 1. 小さくしたい部分を左ドラッグで選択(または "Ctrl+A" で全選択)
  • 2. メニューから「エフェクト > 増幅」を選択
  • 3. 「増幅」ダイアログから音量を調整する

左ドラッグで音量を小さくしたい部分を左ドラッグします。(または Ctrl+A で全選択。macOSの場合は Cmd+A)

メニューから「エフェクト > 増幅」を選びます。

増幅ダイアログが表示されるので、中央のスライダーを左に移動させると小さくなり、右に移動させると大きくなります。

プレビューで確認して、問題なさそうな音量になったら「適用」ボタンで確定します。

例えば増幅の値を小さくすると、以下のように波形が小さくなります。

無音部分をカットする

素材の前後の無音部分を削りたいとします。

この無音を削りたい場合は、無音部分を左ドラッグします。

この状態で「Deleteキー」を押すと選択部分が削除できます。

もしくはメニューから「編集 > 削除」(Ctrl+K) でも削除できます。

ループ区間の解除

波形の選択をしているとたまにこのように「一定区間」を繰り返し再生する状態になってしまうことがよくあります。

これはここのループ区間設定が有効になってしまっているためです。

これを解除するには、水色の部分を右クリックして「ループを解除」を選びます。

波形の拡大と縮小

波形表示の拡大や縮小をするにはここの虫眼鏡ボタンをクリックします。

フェードアウト・フェードイン

音を短くするために、発音が行われている部分をカットする場合があります。

例えばこのようなカットを行う場合です。

このようにすると、音の消え方が唐突である違和感が発生したり、音の最後が「ブツっ」と切れたノイズ(クリックノイズ)が発生してしまうことがあります。

そのため、フェードアウト(音量を少しずつ小さくする)と良いです。

フェードアウトするには波形の後ろの部分を選択します。(拡大すると選択しやすいです)

そしてメニューから「エフェクト > フェードアウト」を選びます。

すると以下のような波形となりブツ切れ感がなくなります。

フェードインは「エフェクト > フェードイン」で適用できます。

再生速度を変更する (ピッチ変更あり / 変更なし)

再生速度を長くしたり短くしたい場合があります。

その場合はまず波形を Ctrl+A で全選択します。

そして「エフェクト > 速度を変更」を選びます。

「速度を変更」ダイアログが表示されるので、中央のスライダーを移動させることで速度が変化します。

ただこの方法だとピッチ(音程)も一緒に変化してしまいます。

ピッチを変更したくない場合は「エフェクト > 連続的伸縮」を選びます。

「連続的伸縮」ダイアログの右側にあるスライダーを移動すると、ピッチの変更なしで音の長さを変更することができます(左が長く[遅く]する、右が短く[速く]する)

モノラル音声にする

ゲームのSEの場合、ステレオ的な広がりのあるSEでなければ、通常モノラルにしたほうがサイズが半分になって良いです。(特に3Dゲームでは通常SE自体はモノラルにして、プログラムで定位を変えることが多いです)。

以下のようなステレオサウンドをモノラルにしてみます。

モノラルにするには波形の左側にある枠の中から「▼」をクリックして、「ステレオからモノラルに分離」を選びます。

するとトラックが別々に分離します。

そうしたら「X」ボタンをクリックして分離したトラックを削除します。

実際に出力して確認すると、モノラル音声はサイズが半分に減っていることが確認できます。

Steamなどで配信する場合はあまりサイズを気にする必要はないですが、大量にオーディオデータを使ったり、モバイル向け(iOSAndroid)ではサイズ制限(ダウンロード制限を受ける)ので、この方法でサイズを少し削減できます。

【2022年】ゲーム開発で使っている環境・ツールの紹介

2022.12.7現在、私が使っているゲーム開発環境を紹介します。

PC

PCは M1 Mac mini (2020)Macbook (2016) を使っています。ただ macOSは、ゲーム開発に関連するツールが「Windowsでしか使えない」「対応していない」「Windowsと比べて使い勝手が悪い」など Windows 環境に比べて不利な点が多いので、あまり人にはおすすめできない環境です。例えば Unity を使うにしても Visual Studio が使えないとか、UE のパフォーマンスも macOS版はあまり良くないとか…。GameMakerもmacOSでしか発生しない不具合もいくつかありました。

ということで、単に個人的なこだわりで使っています…。

ゲームエンジン

GameMaker

使用頻度:★★★★★

GameMaker は2Dゲームがとても作りやすいゲームエンジンです。(月額500円〜)

なんだかんだで 10年近く使っているゲームエンジンで、最近配信した「旧校舎に咲く花」もこのツールで作りました。

Unity や UE と比べるととてもシンプルな環境なので、ゲームを作ったことがなかったり Unity や UE に挫折した方は試してみても良いかな、と思っています。サブスクリプションですが、お金がかかるのは実行ファイルを作るタイミングなので、ゲームが完成するまでは実質無料です

特徴としては、ほぼ2Dゲーム専用なのですが、用意されているAPIがシンプルでやりたいことがすぐできる環境だと思っています。

ただ次回作からは、Godot Engine に移行する予定です。

 

Godot Engine

使用頻度:★★★★

Godot Engine は Unity に似たノードシステムを持つゲームエンジンです。(無料)

メリット・デメリットは以下の記事に書いています。

余分な機能はデフォルトで用意しない、という思想があるせいなのか動作が軽快で、かなり低スペックなノートPCでもサクサク動いてくれるのがありがたいです。

今後のゲーム開発の主力として使っていく予定のゲームエンジンです。

エディタ

Visual Studio Code

使用頻度:★★★

 

Visual Stuiod Code は無料で使えるコードエディタです。ソースコードを書くのに必要な機能が一通り揃っています。

私は主に Python や 自作アドベンチャースクリプトを書くために使用しています。Godot Engine の GDScript はこちらで書いたほうが効率が良いとのことです。

Scrivener

使用頻度:

Scrivener はシナリオを書くことに特化したワードプロセッサです。1万円近くするのであまりおすすめできませんが、シナリオの構成やキャラ設定をまとめるのに特化した便利ツールです。

最近配信した「旧校舎に咲く花」も、このツールでキャラの設定をまとめたり、各シーンの情報を整理したりしていました。

Mind Note

使用頻度:★★

Mind Noteマインドマップ作成ツールです。アイデアをひねり出したりアイデアを整理するのに使っています。

macOS版のみですが、デザインがとてもキレイで使っていて楽しいですね。有料版にすると iPad と連動できるみたいですが、iCloud同期で十分使えて、サブスクリプションで使うほど使用頻度も高くないので無料版を使っています。

アート

CLIP STUDIO PAINT

使用頻度:★★★★★

最近は脱出ゲームをメインに作っていて、必要な素材はほとんどこのツール (クリスタ) で作っています。イラストを書くのにとても向いているペイントツールですが、単に画像編集ツールとしても軽くて使い勝手が良いというメリットもあります。

そして個人的によく使っているのが CLIP STUDIO ASSETS という、Unityでのアセットストアみたいなものです。

CLIP STUDIO ASSETS はブラシやテクスチャだけではなく、クリスタで読み込める 3Dモデルなどもあり、背景素材はここで手に入る3Dモデルの背景を使用しています。

なお CLIP STUDIO PAINT は最近、月額のサブスクリプションに移行したことで批判があるようですが、月額にしておおよそ数百円 (年3000円程度) なので個人的には許容範囲なので良しとしています。それとサブスクリプション支払いにすると、月に公式素材が3つ無料で使えるというメリットも個人的には嬉しいです。

ただ最近のお絵かきツールは無料のツールでもクオリティが高くて、MediBang Paint. や Krita などは無料で使えるので、「サブスクはちょっと…」という方はこちらを使ってみても良いのかもしれません。

Adobe Photoshop

使用頻度:★★★

Photoshop は主にUI素材やサムネイルやバナー素材を作るのに使っています。

個人的に考える Photoshop を利用するメリットは以下のとおりです。

  • 画像の調整がすごく楽にできる:UI素材やバナー画像が作りやすく、レイヤー効果や位置の調整が楽にできる
  • Adobe Fonts が使える:フォントを探す時間を短縮できる
  • ニューラルフィルタでの色味の調整が楽にできる
  • 作りたい画像や効果の方法を検索するとすぐに情報が見つかる

月額・年額制のサブスクリプションを採用しているのが不評で、Photoshopをそのまま買うと年額3万近くかかってしまうのですが、「フォトプラン」を使用すれば年額 1万3000円 ほどになりますので「それくらいならいいかな…」と必要経費として支払っています。

Aseprite

使用頻度:★★

Asperity は 2Dドット絵の作成に向いたツールです。最近はドット絵を描くことが減ったので使用頻度はやや下がっています。

Spine

使用頻度:

Spine は2Dの画像にボーンやメッシュを入れてアニメーションさせるためのツールです。基本機能のみの「Essential版」とフル機能の「Professional版」がありますが、ボーンやメッシュ変形は Professional版になるので、実質こちら一択ですね。円安の影響もあって4万円超えの結構なお値段になってしまっていますが、イラストをベースとした2Dゲームのクオリティを上げたい場合はおすすめのツールです。

最近の使用頻度はほぼゼロに近いのですが、PVを作るときにキャラクターの髪や服を揺らしたりしてリッチに見せることができるので、そのあたりで使ってみたいな…などと考えています。

あと Godot も正式に対応したので、何かしら使う機会があるのかもしれません。

サウンド

FL Studio

使用頻度:★★

FL Studio ダンスミュージックの制作に特化した DAW (作曲ツール) です。おおよそお値段は 3〜4万円ほどですが「ライフタイムフリーアップグレード」という、一度買うと一生使える(バージョンアップ時の支払いもなし)とてもお得なライセンスとなっています。

ちょっとしたBGMが欲しいときに使っています。

ただ作曲もあまりしなくなったので、使用頻度は低めです。

Audacity

使用頻度:★★★

Audacity は無料で使えるサウンド編集ソフトです。主に効果音の編集ソフトとして使っていて、無音部分を削る、音量の調整などで大活躍しています。

GameSynth

使用頻度:★★

GameSynth は効果音を作成することに特化したツールです。お値段は 4万円近くとかなりお高いですが、年末あたり (11〜12月)に半額セールを行うことが多いようなので、それを狙うのが良いです。

なかなか手を出しづらいお値段ですが、豊富なプリセットがあって欲しい効果音を探す時間を短縮できるのでかなりおすすめのツールです。

ちなみに 2022.11.19現在、macOSで動作しないので、このツールだけ Windows で使用しています。

その他

CastleDB

使用頻度:★★★

CastleDB はゲーム用に特化した静的なデータベースです。個人的にとても扱いやすいのですが、なぜか使っている人がほとんど見つからないツールです。これが使われている最も有名なゲームは Dead Cells なのですがそれくらいですね。

おそらくマイナーすぎる環境(Haxe)用のツール で情報が少なすぎるので使い方がわからなかったり、エディタの更新が止まっていたりするのが問題なのかもしれません。

ただデータは普通の JSON 形式なので、JSONファイルが読み込めればどの環境でも使用可能で、私は GameMaker や Godot で CastleDB のデータを使えるようにしています。

GitHub Desktop

使用頻度:★★★★★

GitHub Desktopソースコードを管理する Git のリポジトリをまとめたサービスにアクセスするためのツールです。一般公開したくない場合はプライベートリポジトリも無料で作れるのが良くて使い続けています。

Redmine

Redmineはタスク管理ツールとして使っています。

タスクボードも併用しているのですが、複雑なプロジェクト管理としては個人的にこれが最適解ですね。

以下のページにも書いたのですが、Redmineはタスクをどこまでも階層化できるのがお気に入りで、仕事でもお世話になっています。

macOS標準アプリ

macOS標準アプリは使いやすいものが多くて、いくつか使っています。

  • Keynote: Windowsのパワーポイントのようなもの。画像素材や資料作りに役立っています
  • QuickTime Player: 画面をキャプチャして動画を作ったり簡単な編集ができます。ちゃんとした動画編集をする場合は「Final Cut Pro (有料)」を使っています

【Godot】spine-godotの使い方メモ

spine-godot(Godotエンジンへの Spine 対応版)がだいぶ良さげに動いていたので、かんたんに紹介する記事を書きました

実行ファイルのダウンロード

spine-godotを利用するにはエンジンビルドが必要なのですが、実行ファイルをビルドしたものが提供されているので、少し試すだけなら、spine godotランタイムドキュメント のページからダウンロードするのが早いと思います

macOS版のみの問題点

macOS版は野良実行ファイルは動かせませんので、実行権限を与えて実行する必要があります。

またディスクへのアクセス権を設定しないと、以下のダイアログが出続けてしまう問題があります

いつもなら、このあたりの設定で出なくなりそうなのですが、私の環境では解決策が見つかっていません。

本格的に使うときにもう少し調べてみようかと思います

SpineSprite

spineデータを読み込む場合には「SpineSprite」というノードを使う必要があるみたいです

このノードを作成して、インスペクタからリソースを読み込ませると、Spineデータを表示することができます。

対応データ

spine-godotが対応しているのは v4.1以降の Spineデータとなります。それ以前のデータの読み込みは正常にできないようなので注意が必要です。なお、なぜか公式のSpineboyサンプルは v4.1 に変換しても spine-godotでは表示できなかったので、spine-godotに含まれるサンプルを使用した方が良さそうです。

アニメーションをスクリプトで制御する

アニメーションの制御は get_animation_state() でアニメーションを取得し、set_animaton() で再生します

 

extends Node2D

# SpineSpriteを取得
@onready var spine = $SpineSprite

func _ready() -> void:
    # アニメーションを取得
    var anim = spine.get_animation_state()
    # "run" という名前のアニメーションを ループあり、トラック0 で再生する
    anim.set_animation("run", true, 0)

シグナル

SpineSpriteのシグナルは以下のものが用意されています

  • animation_started: アニメーション開始
  • animation_interrupted: アニメーション変更時
  • animation_ended: アニメーション終了
  • animation_completed: アニメーションループ時
  • animation_disposed: アニメーション破棄時
  • animation_event: ユーザーイベント

Spineからのデータエクスポート

Spineからデータをエクスポートする場合は、必ず v4.1以上を指定します

また、.atlasと.pngを出力するため「パック」にもチェックを入れておきます。

生成された、.atlas / .png / .json (または .skel) をGodotプロジェクト内の同一フォルダに配置するとインポートできるようになります

より詳しい情報

より詳しい情報はサンプルコードやヘルプ、ドキュメントを読みます

サンプルコードはspine-runtimesここからコードをダウンロードして「spine-godot/example」フォルダにあります。

ドキュメントはspine-godot Runtime Documentに公式ドキュメントがあります。

参考ページ

Spine備忘録

久しぶりに Spine を使ったら色々忘れていたので、メモを残しておきます

  • 確認バージョン:v4.1.04

環境整備

ライセンスキー

ライセンスキーを忘れた場合は、以下のページから購入時のメールアドレスを送信することで復元できます

macOSインストーラーが開けない

macOSだとセキュリティの問題でそのままではインストールできません

開くためには「システム環境設定 > セキュリティとプライバシー > ダウンロードしたアプリケーションの実行許可」から「このまま開く」を選ぶとインストールできるようになります

プロジェクト

プロジェクトの作成と保存

左上のspineメニューから「新規プロジェクト」を選びます

保存するには「プロジェクト保存」を選びます

プロジェクトはフォルダを作成してその中に保存すると、画像データを入れられるので良さそうです

画像

画像をプロジェクトに追加する

画像データをプロジェクトに追加するには「ツリービュー」から「イメージ」を選び、右下のフォルダアイコンをクリックしてパスを設定します

描画順の制御

ツリービューから「表示順序」の並びを変えることで描画順を制御できます

操作方法・ショートカット

設定(SETUP)

カテゴリ 内容 操作方法 補足
全般 画面のスクロール(パンムーブ) マウス右ドラッグ  
  ズームイン・ズームアウト マウスホイール  
  ズームを100%に戻す Cmd+F  
  画面にフィットするようにズーム Cmd+Shift+F  
  設定(SETUP)・アニメ化の切り替え Cmd+TAB  
ツール トランスレート V  
  回転 C  
  スケール X  
  シアー Z  
  新規ボーン作成 N  
  ボーンのポーズ B  
  メッシュの頂点ウェイト調整 G  
オプション ボーン選択の可否 Cmd+Shift+B  
  ボーンの表示・非表示 Cmd+B  
  ボーン名の表示・非表示 Cmd+Shift+Alt+B  
  イメージ選択の可否 Cmd+Shift+I  
  イメージの表示・非表示 Cmd+I  
  イメージ名の表示・非表示 Cmd+Shift+Alt+I  
選択 選択解除 ESC / SPACE  

アニメ化(Animation)

内容 操作方法 補足
再生 D  
逆再生 A  
リピートのON/OFF Cmd+R  
最初のキーの位置に移動 Q  
最後のキーの位置に移動 E  
次のキーの位置に移動 W  
前のキーの位置に移動 S  
次のフレームに移動 R  
10フレーム先に移動 Shift+R  
前のフレームに移動 F  
10フレーム前に移動 Shift+F  

ボーン

ボーンの作成

画面下部のメニューから「作成(新規ボーン作成)」を選ぶ(Nキー)と、マウスドラッグでボーンを作成できます

ボーンだけ動かしたい場合

ボーンだけ動かしたい場合は「イメージ」の矢印のチェックを外すと、ボーンだけ動かすことができます

ボーンの分割

分割したいボーンを選んで「分割」を選ぶとボーンを分割できます

アイコンとカラーの設定

ボーンの動きを制御するコントロールノードなどは、アイコンとカラーを設定しておくとわかりやすくなります

IKの設定方法

IKを設定するにはボーンを1〜2本選択します。(3本以上は設定できません)

以下の例では 脚の部分 "front-thigh" と "front-shin" を選択した状態です。

この状態で、「+新規」から「IKコンストレイント」を選びます。

ターゲット選択を促されるので、ターゲットとなるボーンを選択します。

新規IKコンストレイントを作成します。

これによりIKでボーンを動かすことができるようになります

 

パス

パスの作成

「+新規」をクリックして「パス」を選びます

パスコンストレイントの作成

パスコンストレイントを適用するには、ボーンの下に画像が入ったスロットを配置します。

そしてボーンを選んだ状態で「+新規」>「パス・コンストレイント」を選びます

パス・コンストレイントの対象となる「パス」を選択します。

「OK」を押して作成します

すると「位置」のパーセンテージを変更することで、パス上をボーンが移動するようになります

メッシュ

メッシュの編集を行うには、画像データを選択して「オプション」から「メッシュ」にチェックを入れ、「メッシュ編集」をクリックします。

するとメッシュ編集モードに入ります

メッシュの編集

減光

メッシュ編集中に「減光」にチェックを入れると、画像が暗くなって編集しやすくなります

トレースによるメッシュの自動分割

「トレース」を選ぶと画像の透過部分に合わせて自動でメッシュを設定してくれます。そして「詳細」の数値を大きくすることで、より正確な分割をしてくれます

ウェイト

ウェイトパネル

表示

ウェイトパネルを表示するには、右上の「ビュー」から「ウェイト」を選びます

閉じる

ウェイトパネルの右上のボタンをクリックして「閉じる」で閉じられます

ボーンのバインド

メッシュにウェイトをかけるためには、対象となる画像(メッシュ)を選択して、バインドを選んでバインドするボーンを選びます。するとボーンの一覧に追加されます

そしてボーンを選択して「バインド」を再びクリックします

すると各ボーンに合わせた色の円が表示され、自動でウェイトが設定されます

ウェイトの編集

編集の基本

ウェイトを編集するには、編集したいノードの円を選択します。

例えばこのノードは水色が86%、ピンクが19% の割合でウェイトがかかります。

これに対して、ピンクのウェイトを増やしたい場合はボーンの一覧から「ピンク」を選択します

この状態で、円を選んでマウスを上下に動かすとウェイトの比率を編集することができます

 

ウェイトのかかり具合をわかりやすく表示する

ウェイトパネルから「オーバーレイ」を選ぶと、ボーンに対するウェイトのかかり具合をグラデーションで確認できます

クリッピング

クリッピングの作成

クリッピングを行うには「+新規」>「クリッピング」を選びます

わかりやすい名前を入れて「OK」で作成します

マウスクリックで表示したい領域をクリックすると、その範囲だけ表示される領域を作ることができます

クリッピングの順番の制御

クリッピングの実行順は「表示順序」で制御できます。

上から順番に描画されるので、例えばクリッピングよりも下に移動すればクリッピングの影響を受けなくなります

アニメーション

アニメーションを有効にするには左上にある「設定」をクリックして「アニメ化」にします

参考資料

 

Audacityでサウンドデータの音量をテキストで書き出す方法

仕事でサウンドの波形データから音量(dB)を取り出す必要があったので調べてみました

なお動作確認はWindowsで行いました

Audacityサウンドデータの音量を書き出す方法

Audacityのインストール

Audacityとはサウンドデータを編集できるツールです。
公式ページからダウンロードしてインストールします

音量を書き出す方法

今回はこの音をサンプルとしました

http://syun777.sakura.ne.jp/tmp/z_other/Powerup.zip

波形データはこのようになっており、0.33秒のデータであることがわかります。

次にメニューから「選択 > すべて」を選んで波形を全選択します。

このように波形の背景色が明るくなれば選択状態となります。

続けて「道具箱 > サンプルデータの書き出し」を選びます。

するとサンプルデータの書き出し画面が表示されます。

以下のように設定して「OK」ボタンで出力します。

  • Limit output to first(出力するサンプル数の上限): 1000000 (100万。10万あたりだと2秒くらいになるため)
  • Measurement scale: dB (音量)
  • Export data to(書き出すテキストのパス): 任意のパス
  • Index (text files only): 時間
  • Include header information(ヘッダ情報を出力するかどうか): 無し
  • Optional header text(ヘッダに出力する追加のテキスト): なし
  • Channel layout for stereo: 左右を同じ行に
  • Show messages(終了時のメッセージ表示): はい

すると、書き出し完了メッセージが表示されます

出力されたテキストを開いて、時間と音量(dB)がタブ区切りのテキストで出力されていることを確認します。

0.00000    -22.78476
0.00002    -16.76416
0.00005    -13.23990
0.00007    -10.73991
0.00009    -8.80098
0.00011    -7.21626
0.00014    -5.87602
0.00016    -4.71475
0.00018    -3.69099
0.00020    -2.77454
0.00023    -1.94563
0.00025    -1.18836

・
・
・

0.32973    -70.30900
0.32975    -73.40704
0.32977    -78.26780
0.32980    -90.30900
0.32982    -90.30900
0.32984    -80.76657
0.32986    -78.26780
0.32989    -78.26780
0.32991    -78.26780
0.32993    -78.26780
0.32995    -80.76657
0.32998    -84.28840

終端が 0.32998秒 なので、おおよそ 0.33秒であることがわかります。

ただこれをそのまま使うとかなり大きなデータとなるので、Pythonなどのスクリプト元を使ってデータを間引いても良いかもしれません。

以下は、0.1秒単位にするスクリプトの例です。
(※numpy を使用しています)

import numpy

f = open("sample-data.txt")

RANGE = 0.1 # 0.1秒単位の平均を求める

prev = 0
list = []
for line in f.read().split("\n"):
    line = line.strip()
    if line == "":
        break
    time, dB = line.split("\t")
    time = float(time)
    try:
        dB = float(dB)
    except ValueError:
        dB = 0 # -ooなので無音
    
    if time > prev + RANGE:
        print("%3.2f: avg %3.2f"%(prev, numpy.mean(list)))
        list = []
        prev += RANGE
    else:
        list.append(dB)
    #print(line)

実行結果

0.00: avg -8.73
0.01: avg -8.56
0.02: avg -8.83
0.03: avg -8.72
0.04: avg -8.60
0.05: avg -8.53
0.06: avg -8.65
0.07: avg -8.90
0.08: avg -8.88
0.09: avg -9.07
0.10: avg -9.64
0.11: avg -9.88
0.12: avg -10.28
0.13: avg -10.85
0.14: avg -11.23
0.15: avg -11.89
0.16: avg -12.33
0.17: avg -12.85
0.18: avg -13.54
0.19: avg -14.20
0.20: avg -14.71
0.21: avg -15.30
0.22: avg -16.30
0.23: avg -17.12
0.24: avg -17.88
0.25: avg -19.39
0.26: avg -20.58
0.27: avg -21.75
0.28: avg -23.75
0.29: avg -25.88
0.30: avg -28.56
0.31: avg -33.33

ただ、平均値だときれいな曲線にならないので、そのあたり気になる場合は フーリエ変換で圧縮するのが良いかもしれません

まとめて書き出す方法

複数ファイルをまとめて書き出すにはスクリプトを使用します。
スクリプトを使用するにはメニューから「編集 > 環境設定」を選びます。

環境設定からモジュール > mod-script-pipe」を「有効ですに設定します。

そうしたら、Audacity を再起動して設定を反映します

スクリプトの実装例

以下、Pythonスクリプトでの実装例です。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import glob

if sys.platform == 'win32':
    TONAME = '\\\\.\\pipe\\ToSrvPipe'
    FROMNAME = '\\\\.\\pipe\\FromSrvPipe'
    EOL = '\r\n\0'
else:
    TONAME = '/tmp/audacity_script_pipe.to.' + str(os.getuid())
    FROMNAME = '/tmp/audacity_script_pipe.from.' + str(os.getuid())
    EOL = '\n'

TOFILE = open(TONAME, 'w')
FROMFILE = open(FROMNAME, 'rt')

def send_command(command):
    TOFILE.write(command + EOL)
    TOFILE.flush()

def get_response():
    result = ''
    line = ''
    while True:
        result += line
        line = FROMFILE.readline()
        if line == '\n' and len(result) > 0:
            break
    return result

def do_command(command):
    send_command(command)
    response = get_response()
    return response

# -------------------------------------------------
# ここからテキストを書き出す処理
# -------------------------------------------------

# 入力フォルダ
in_folder = "C:\\Users\\syun\\Desktop\\in\\"
# 対象ファイル
files = "*.wav"

files = glob.glob(in_folder + files)
for file in files:
    print(file)
    output = file.replace(".wav", ".txt")
    # 入力ファイル
    do_command('Import2: Filename="' + file + '"')
    # 全選択する
    do_command('SelectAll:')
    # サンプルデータの出力
    # number: 最大サンプル数
    # filename: 出力ファイルのパス
    # fileformat: インデックスの種類
    # messages: メッセージの表示種別
    do_command('SampleDataExport: number=1000000 filename="%s" fileformat=Time messages=Errors'%(output))
    # トラックを閉じる
    do_command('TrackClose:')
    
TOFILE.close()
FROMFILE.close()

このスクリプトは「C:/Users/syun/Desktop/in/」にある .wav ファイルからサンプルのテキストを書き出す処理となります

do_command() がAudacityコマンドの呼び出しですが、コマンドAPIのリファレンスは以下のページにあります

参考

SpineがGodotに対応するかもしれない

SpineがGodotに正式対応するかもしれない

最近の趣味は Godot Engine の情報をウォッチすることで、いつものようにTwitterを見ていたら、「GodotでSpineをサポートする」という情報があり、「またまたご冗談を……」と思ってリンク先を見たら公式情報でした……!

次のリリースはSpine 4.1になりますが、主にエディター側のクオリティ・オブ・ライフを向上する機能に注力する予定です。ランタイム側では、新しいゲームツールキット(特にGodot)のサポートを追加する予定です!

Spine 4.0が登場 > 今後について

GodotのSpine対応は現状だと個人の方が対応したもののみとなっており、しかも提供されているものはC++コードなのでビルドを自分で行う必要があり(Godot Engineのビルドが必要)少しハードルが高いです。

それと、Godot側はエンジンのコンセプト上、Spineに対応することはほぼないと考えています。

  1. カットアウトアニメーションが独自に実装されており、それを使ったほうが開発効率が良いと考えられている
  2. 多くの人が必要としないものは標準機能として対応しない(コアセットを小さく保つ

■Godot側がSpineを対応しない理由

また、Spine公式の掲示板でも「SpineがGodotに対応するのはいつ?」という質問がされていたのですが、5年間放置されていました。


そのため Godot の Spine対応は絶望的と考えていたので、このニュースは嬉しかったです。

ただ、Spine公式がGodot対応を5年間放置していた過去があるので、すぐに対応されるとは考えないほうが良さそうです。

以下は5年前にSpine公式がコメントしたものです。

Godotサポートを追加しますが、作業を開始できるようになるまでにはしばらく時間がかかります。私たちは現在、最初に注意を払う必要のある多くの非常に差し迫った問題に取り組んでいるのではないかと思います。しかし、それは起こります!

Spineフォーラム > 公式Godotサポート

なので、個人的には気長に対応を待っていようかと思います。

 


追記:2022.4.7

開発は少しずつ進んでいるようです

Spine公式のフォーラムによると開発は順調に進んでいるようですが、リリースはまだ先とのことです。

We've started work on an official Godot plugin but that's still a bit away from release. There's a 3rd party spine-godot plugin, which ours is based on, as the author has generously donated it to us. You could give that a try in the meantime. But note that we are changing quite a few things around. 

公式のGodotプラグインの作業を開始しましたが、まだリリースから少し離れています。著者が惜しみなく私たちに寄付してくれたので、私たちのベースとなっているサードパーティのspine-godotプラグインがあります。それまでの間、試してみてください。ただし、かなりの数の変更が行われていることに注意してください

 

The original plugin: https://github.com/rayxuln/spine-runtime-for-godot

Ours can be found in the spine-godot branch (based on spine-runtimes 4.0) on GitHub: https://github.com/EsotericSoftware/spine-runtimes/tree/spine-godot

SpineはGodotと連携しますか?

有志の方が作成したプロジェクトをもとに、公式が作り直しをしているようです。

追記:2022.7.20

ビルド済みの実行ファイルがダウンロードできるようになっていました

Spine 4.1 がリリースされ、spine-godotの開発 も進んでいるようです

Spineを動かすには Godot Engine のソースコードコンパイルが必要になるみたいですが、Github のページにはコンパイル済みの実行ファイルが用意されているので、ビルドなしで使えるのかもしれません。

時間を見つけて調査したいと思います。

追記:2022.7.23

少し調べてみました

現時点ではまだ正式リリースではないですが、少し動作を確認しました。

現状はエンジンビルドする必要がありますが、Github のページからSpineを組み込んだ実行ファイルがダウンロードできるので、少し試すだけなら、こちらを使ったほうが早いです。

実行すると、ノードの種類にSpine関連のものが含まれています。

ここの「SpineSprite」が Spineを制御するためのスプライトとなります

そしてインスペクタから Atlas や Jsonファイルの読み込みを指定すると Spineデータを確認できます。

なお、注意点として読み込むデータは Spine バージョン 4.1 以降のものでないと動作しないようです。

効果音作成ツール「JFXR」の紹介

ブラウザ上でお手軽にレトロゲーム風の効果音を作れる「JFXR」の紹介です。

基本的な使い方

基本的な操作方法は以下の通りです。

動画

http://syun777.sakura.ne.jp/tmp/z_other/SFXR%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9_short1.mp4

画像

"Create new sound" について

左上の "Create new sound" と書いてある部分をクリックすると、そのワードのイメージにあったSEがランダムで再生されます。

  • Default: 初期値(ポー)
  • Random: ランダム
  • Pickup / coin: アイテム獲得SE・コイン獲得SE
  • Laser / shot: レーザー、ショットSE
  • Explosion: 爆発音
  • Powerup: パワーアップ、レベルアップSE
  • Hit / hurt: 攻撃音、ダメージ音
  • Jump: ジャンプ音
  • Blip / select: カーソル移動音、決定音

最後に鳴らした音をもう一度再生したい場合は、右上の再生ボタンをクリックします。または SPACEキーを押すともう一度再生することができます。

ファイルの保存

作成した音声データを保存する場合は「Export」をクリックします

また「Save」を選ぶと .jfxr 形式のファイルで保存できます。

このファイルは、再び JFXRでパラメータを調整したい場合に「Open」から読み込むことで再編集できるようにするためのものとなります。

効果音の作成

ランダムで作成される音を使うのも良いですが、自分が欲しい音を自由に作成できるように、効果音作成の方法を簡単に解説します。

手順としては以下のようにすると良いです。

  • 1. ランダム生成でイメージに近い音ができるように繰り返し生成する
  • 2. 近い音ができたら、"TONE" の "Waveform" からよりイメージに近い性格の音を選ぶ
  • 3. 音の長さを "AMPLITUDE" の "Sustain" / "Decay" で調整する
  • 4. 音の高さを "PITCH" の "Frequency" で調整する

2〜4 はこの順番でする必要はなく、気に入った音になるまで調整すると良いです。

Waveform についての説明

Waveform は音の波形です。波形は「音の性格」を決める要素となります。

Sine

Sineは「正弦波」と呼ばれ、丸みのある音が特徴です。

Triangle

Triangleは「三角波」と呼ばれ、倍音が少し加わることで音に少し張りが生まれます。

Sawtooth

Sawtoothは「のこぎり波」と呼ばれ、三角波よりも倍音が多いことでより張りの強い音になります。

Square

Squareは「矩形波」または「パルス波」と呼ばれ、とても張りの強い音になります。

(White) Noise

Noiseは「ノイズ波」で複雑な波形となり、爆発音など複雑な音に向いています。ザラザラした音を作るときに使います。


 

他にも色々な波形が用意されていますが、基本としてはひとまずこの5つの波形を理解しておけばOKです。

Sustain / Decay について

Sustain と Decay は共に音の長さですが、若干意味が異なります。

例えばこのように"Sustain" を大きく設定すると、波形の大きさを維持したまま横に伸びます。

"Decay" を大きくすると、右に進むにつれ、波形の大きさが小さくなっていきます。これを音の "減衰" と言います。音をフェードアウトして消したい場合には "Decay" を使うこととなります。

PITCHについて

最後は、"PITCH" です。ここでは音の高さとその変化する値について設定します。

まずは、"Frequency" を 500 Hz、"Frequency sweep" を 0 Hz、"Freq delta sweep" を 0 Hz に初期化します。
初期化は、カギアイコンの隣をクリックすると簡単に初期化できます。

すると、一定の高さを保ったままの音が再生されます。この状態で "Frequency" の値を上下に動かすと音の高さが変化します。
次に、"Frequency sweep" のつまみを左側に動かしてください。

このようにすると、物が落下しているような音になります。これは音程を時間経過に合わせて、少しずつ音程を下に落とすようにしているためです。

次に、"Frequency sweep" を右に移動させてプラスの値にすると、音程が上昇するようになりパワーアップ的な感じになります。

最後に

他にも色々なパラメータがありますが、ひとまずこの3つを使いこなすだけで、かなりの効果音のバリエーションを作れるようになると思います。

効果音作成の参考になる本

FLStudioの無料版を使って効果音を作る方法が紹介されており、効果音づくりの基本が学べる本となっています。

また、ホラー系ゲームなど「生音」の効果音作成法も紹介されていて、とても勉強になります。

Asepriteの使い方メモ

Asepriteとは 

Windows & Mac OS X & Linux(Ubuntu) で動作する、スプライトアニメーション・ドット絵のエディタ

特徴 

  • Animation Tools: レイヤー、フレーム、オニオンスキン、連続したフレームの赤/青の色合い、ピンポン再生、リピート範囲を指定した再生、など
  • Pixel-art Tools: ブラシプレビュー、ピクセル完璧なトレース、スプライトの回転、タイルリングモード、輪郭&ポリゴンツール、ライブアニメーションプレビュー、パレットエディタ、など
  • Gamedev Tools: スプライトシートやテクスチャアトラスにアニメーションを保存。コマンドラインインターフェイスCLI)を使用してアセットパイプラインにAsepriteを統合可能

基本的な使い方

日本語化する方法

メニューから「Settings..」(または "Preferences") を選びます。

"General > Language" から "日本語 (ja)" を選びます。

これでメニュー項目が日本語化されました。

ただ、私の環境では日本語フォントが拡大されてぼやけてしまうので、このページでは英語UIで説明を行います。

新規作成の手順

メニューから「File > New」を選びます。

新規作成画面が表示されました。

サイズなどを設定して「OK」ボタンで新規作成されます。基本的にサイズ以外はそのままで良いと思います。

カテゴリ 項目名 説明
Size Width 画像の幅 (解像度)
  Height 画像の高さ (解像度)
Color Mode RGBA RGBAカラーモード
  Grayscale グレースケールカラーモード
  Indexed インデックスカラーモード
Background Transparent 背景を透過
  White 背景を白塗り
  Black 背景を黒塗り

新規作成すると、以下のような画面となります。

右側の「ツール」から、鉛筆や消しゴムなどのツールを選び中央の「キャンバス」に絵を描いていきます。色は左側の「パレット」から選択します。

グリッドを表示してわかりやすくする

View > Show > Grid」でグリッド表示が可能です。

グリッドの間隔は「View > Grid > Grid Settings」を選ぶとグリッド設定が表示されます。

さらにメニューから「View > Extra」を選ぶとピクセル単位でグリッドが表示されます。

パレットの色を変更する

パレットの色は、右側の「パレット」の下にある部分で変更します。

色が決まったら、赤い「!」ボタンをクリックします。

するとパレットに新しく色が追加されます。

  パレットのテンプレート 

パレットのテンプレートはここのボタンをクリックすると、テンプレートの一覧が表示されます。

Tips

ファイルダイアログを変更する

Aseprite独自のファイルダイアログは少し使いにくいので、OS標準のものに変更しておくと良いです。

メニューの Preferences で設定画面を開いて "Experimental" の Use native file dialog」にチェックを入れるとファイルダイアログが OS標準のものとなります。

Pixel-perfectについて   

Pixel-perfectを有効にすると、線を引いたときにギザギザがなくなります。

シームレステクスチャの作り方   

メインメニューから「View > Tiled Mode > Tiled in Both Axis」を選ぶとタイルモードになり、つなぎ目に違和感がないかどうかチェック・編集することができます。

パレットのリセット

色数を減らして png などで保存するとパレットが失われてしまうのですが、デフォルトのパレットは以下の手順で復元できます。

  1. 左上の■のアイコンをクリック
  2. "DB32" のプリセットを選ぶ

なおパレットのプリセットは他にも特徴的なものがあって面白いです。

パレットの入れ替えや色の置き換え

例えばこのような爆発エフェクトの何もない部分が「黒」になっているので、特定のパレットを「透過」したい場合があります。

メニューから「Sprite > Color Mode」を選び「Indexed」をクリックします。

これでパレットの色を交換できます。

ただ、ドラッグ&ドロップによる交換は隣り合った色でないと順番が壊れてしまう問題があります。

色の置き換えで問題ないなら、対象の色を選択して "Ctrl+C" (macOSの場合は Cmd+C) でコピーし、"Ctrl+V" (macOSの場合は Cmd+V) で貼り付けると簡単に置き換えられます。

テキストの挿入  

メインメニューから「Edit > Insert Text」でテキストを挿入できます。ただし環境によっては読み込めない・正しくレンダリングされないフォントがあるようです。なお日本語は入力できないので、クリップボード経由でコピペすると表示できます。

左右対称の編集  

メインメニューから「View > Synmmetry Options」を選びます。

するとシンメトリーの編集モードを選択できるようになります。

ここから真ん中のボタンを選ぶと左右対称編集、右のボタンを選ぶと上下対称編集となります。さらに対称編集のボーダーラインはドラッグして移動させることもできます。

お手本の画像を参考にドット絵を描きたい

お手本の画像を開きながらAsepriteでドットを描くときに便利な方法です。

この方法を使うと以下のようにお手本画像を開きながら、ドット絵を打つことができます。色のスポイト使えるので色トレスも容易です。

方法は簡単で、お手本画像と作業用を同時に開きます。

そしてお手本画像をパレットのとなりにドラッグ&ドロップすると画像を並べることができます。

コマンド(シェル)から画像ファイルを変換したい   

実行ファイルの引数に「--batch」オプションをつけると、コマンド(シェル)から実行できます。

aseprite.exe --batch item.ase --save-as item.png

これは「item.ase」を「item.png」に出力するコマンドです。

MacOSX環境であれば以下のコマンドとなります。

/Applications/Aseprite.app/Contents/MacOS/aseprite --batch item.ase --save-as item.png

なお詳細は公式ドキュメントのCLIを参照します。

Pythonから変換する例  

以下はPythonでの実装例です

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import os

def main():
    TOOL = "/Applications/Aseprite.app/Contents/MacOS/aseprite"

    cmd = TOOL + " --batch item.ase --save-as item.png"
    os.system(cmd)

if __name__ == '__main__':
    main()

よく使いそうなショートカットキー 

キー 詳細
Space + 左ドラッグ スクロール
Cmd + 左クリック 全体を移動
Alt + 左クリック スポイト
Cmd + Z 元に戻す
B 鉛筆ツール
E 消しゴムツール
G 塗りつぶしツール
M 範囲選択
Cmd + D 範囲選択解除

メインメニューの機能  

メインメニューから選択可能な項目について記載しています。

ツールバー   

右端にあるツールバーの説明です

範囲選択(M)  

左クリック:領域選択 / 右クリック:選択範囲の減算

項目名 ショートカットキー 概要
矩形範囲選択 M 矩形で範囲選択を行うツール
円範囲選択 Shift + M 円で範囲選択を行うツール
投げ縄ツール Q 自由な形状で範囲選択を行うツール
ポリゴン選択ツール Shift + Q 三角形の3点を指定して選択するツール
自動選択ツール W 連続して存在する同じ色を自動で選択するツール

自動選択ツールで色を選ぶ対象を大きくする方法

デフォルト設定だと、完全に一致するピクセルのみ色を自動選択するようになっていますが、Tolerance (許容範囲) の値を大きくすることで、近い色を拾うことができます。

鉛筆(B)  

項目名 ショートカットキー 概要
鉛筆 B  
スプレー Shift+B  

消しゴム(E)  

項目名 ショートカットキー 概要
消しゴム E クリックしたピクセルを透過色で消去
スポイト I クリックしたピクセルの色を取得

ズーム(Z)  

項目名 ショートカットキー 概要
ズーム Z 左クリックで拡大 / 右クリックで縮小
ハンド H ドラッグ移動で画面をスクロール

移動(V)  

バケツ(G)  

線(L)  

四角(U)  

塗りつぶし(D)  

項目名 ショートカットキー 概要
塗りつぶし D 指定の範囲を塗りつぶす
塗りつぶし(ポリゴン) Shift+D 三角形の3点指定して塗りつぶす

ブラー(R)  

メニュー一覧   

ショートカットキーは、Mac OS X 基準としています。

Fileカテゴリ  

ファイルの作成や読み込み、保存を行います。

項目名 サブ項目 概要 ショートカットキー
New - ファイルの新規作成 Cmd + N
Open - ファイルを開く Cmd + O
Open Recent 履歴ファイル 履歴からファイルを開く -
Save - 上書き保存 Cmd + S
Save As - 名前をつけて保存 Cmd + Shift + S
Save Copy As - 名前をつけてコピー保存 Cmd + Shift + C
Close - ファイルを閉じる Cmd + W
Close All - ファイルをすべて閉じる Cmd + Shift + W
Import Sprite Sheet - スプライトシートをインポートする Cmd + I
Export Sprite Sheet - スプライトシートをエクスポートする Cmd + E
Repeat Last Export - スプライトシートを再エクスポートする Cmd + Shift + X
Exit - 終了 Cmd + Q

 

Editカテゴリ  

画像の編集や色の変換を行います。

項目名 サブ項目 概要 ショートカットキー
Undo - 取り消し Cmd + Z
Redo - やり直し Cmd + Y
Cut - 切り取り Cmd + X
Copy - コピー Cmd + C
Paste - 貼り付け Cmd + V
Clear - ??? Del
Rotate 180 180°回転 -
  90 CW 90°右回転 -
  90 CCW 90°左回転 -
Flip Horizontal - 水平方向に反転 Shift + H
Flip Vertical - 垂直方向に反転 Shift + V
Transform - 変形 Cmd + T
New Brush - 新規ブラシ Cmd + B
Replace Color - 色の置き換え Shift + R
Invert - 色の反転 -
FX Convolution Matrix 様々な特殊効果 F9
  Color Curve 色調補正 Cmd + M
  Despeckle (median filter) ノイズ除去 -
Insert Text - テキストの挿入 T
Tools - ツール設定(タイルやグリッドの設定) C
Keyboard Shortcuts - キーボードショートカットの設定 Cmd + Alt + Shift + K
Preferences - 環境設定 Cmd + ,

Spriteカテゴリ   

スプライトの設定や操作を行います。

項目名 サブ項目 概要 ショートカットキー
Properties - スプライト設定 Cmd + P
Color Mode RGB Color RBGカラーモード -
  Grayscale グレースケールモード -
  Indexed (No Dithering) パレットカラー -
  Indexed (Ordered Dither) パレットカラー(???) -
Duplicate - スプライトを複製して別のビューで開く -
Sprite Size - スプライトサイズ変更 -
Canvas Size - キャンバスサイズ変更 -
Rotate Canvas 180 キャンバスを180°回転 -
  90 CW キャンバスを90°右回転 -
  90 CCW キャンバスを90°左回転 -
  Flip Canvas Horizontal キャンバスを水平方向に反転 -
  Flip Canvas Vertical キャンバスを垂直方向に反転 -
Crop - クロップ(選択範囲でリサイズ) -
Trim - トリム(余白を除去してリサイズ) -

Sprite Sizeの設定について  

  • Pixels: Width / Height: 拡大縮小する幅と高さをピクセル数で指定
  • Percentage: Width / Height: 拡大縮小する幅と高さをパーセンテージで設定
  • Lock Ratio: チェックを入れると現在の画像サイズ比を固定する
  • Interpolation: 補完の設定
    • Nearest-neighbor: ピクセル等倍で拡大縮小する。元のドット絵の雰囲気を残して拡大する場合はこちらを選ぶ
    • Bilinear: 線形補間で拡大縮小する。色の設定をインデックスカラー(パレット)にすると、パレット内の色でぼやけた感じに拡大縮小してくれます 

Layerカテゴリ  

レイヤーに関する操作を行います。

項目名 サブ項目 概要 ショートカットキー
Properties - レイヤー設定 Shift + P
Visible - レイヤー表示・非表示 Shift + X
New Layer - レイヤーを新規作成 Shift + N
Remove Layer - レイヤー削除 -
Background from Layer - レイヤーを背景にする -
Layer from Background - 背景をレイヤーにする -
Duplicate - レイヤーを複製 -
Merge Down - 下のレイヤーと結合 -
Flatten - レイヤーを統合 -

Frameカテゴリ  

フレームに関する操作を行います。

項目名 サブ項目 概要 ショートカットキー
Frame Properties - フレーム設定 P
Cel Properties - セル設定 -
New Frame - フレームの新規作成 Alt + N
New Empty Frame - 空のフレームを新規作成 Alt + B
Copy Cel in Next Frame - 次のフレームにセルをコピー Alt + M
Remove Frame - フレームの削除 Alt + C
Tags Tag Properties タグの設定 -
  New Tag タグの新規作成 -
  Remove Tag タグの削除 -
Jump to First Frame 最初のフレームに移動 Home
  Previous Frame 1つ前のフレームに移動 , (カンマ)
  Next Frame 次のフレームに移動 . (ピリオド)
  Last Frame 最後のフレームに移動 End
  Go to Frame 指定のフレームに移動 Alt + G
Play Animation - アニメーションの再生 Enter
Constant Frame Rate - アニメーション再生速度の設定 -
Reverse Frames - フレームの逆転 Alt + I

Selectカテゴリ  

選択領域の操作を行います。

項目名 サブ項目 概要 ショートカットキー
All - 全選択 Cmd + A
Deselect - 選択解除 Cmd + D
Reselect - 再選択 Cmd + Shift + D
Inverse - 選択範囲を反転 Cmd + Shift + I
Color Range - マスクカラーの設定 -
Load from MSK file - マスクファイルの読み込み -
Save to MSK file - マスクファイルの保存 -

Viewカテゴリ  

ビューの表示や設定をします。

項目名 サブ項目 概要 ショートカットキー
Duplicate View - ビューの複製 -
Show Pixel Grid - ピクセルのグリッド表示 Alt + Shift + G
Show Grid - グリッドの表示 Shift + G
Snap to Grid - スナップ有効・無効 Shoft + S
Grid Settings - グリッド設定 -
Selection as Grid - 選択範囲からグリッドを設定 -
Tiled Mode Node タイルモード無効 -
  Tiled in Both Axis タイルモード(上下左右) -
  Tiled in X Axis タイルモード(左右) -
  Tiled in Y Axis タイルモード(上下) -
Set Loop Section - ループ区間の設定 F2
Show Onion Skin - オニオンスキンを表示 F3
Timeline - タイムラインの表示 Tab
Preview - プレビューの表示 F7
Fullscreen Preview - フルスクリーンでプレビュー F8
Home - Homeビューの表示 -
Refresh & Reload Skin - リフレッシュ&スキンのリロード F5

Helpカテゴリ  

ヘルプやバージョン情報の表示を行います。

項目名 サブ項目 概要 ショートカットキー
Readme - リードミー表示 -
Quick Reference - 簡易リファレンス表示 -
Documentation - ドキュメント表示 -
Tutorial - チュートリアル表示 -
Release Notes - リリースノート表示 -
Twitter - 公式Twitterアカウント表示 -
Donate - 寄付する -
About - バージョン情報表示 -

参考になるドット絵の本

「ドット絵教室」は、初心者〜中級者向けのドット絵の参考書です。

どうやればお手本のドットが描けるのかを事細かに説明されていて、理論よりも「とりあえず描いてみて手を動かしながら覚えたい!」という方におすすめです。

■ドット絵教室
  • レベル:初心者〜中級者 (1)
  • お手本を参考に学びたい (4)

FF DOT. -The Pixel Art of FINAL FANTASY-

ファイナルファンタジーがドット絵だった時代の作品(1〜6) のドット絵を集めたものです。

1〜3 のファミコン時代の作品が中心となっていて、スーパーファミコン時代の4〜6はやや少なめです。

これをデメリットと考えるかはその人次第ですが、個人的にはファミコン時代の作品は色数が少ないので真似しやすくて初心者向けとしては良い題材ではないかと思っています。

■FF DOT. -The Pixel Art of FINAL FANTASY-
  • レベル:初心者〜中級者 (3)
  • FFのドット絵を参考にしたい (5)

ピクセル百景 現代ピクセルアートの世界

ピクセル百景 現代ピクセルアートの世界」は教本ではなく「画集」なのですが、クオリティーの高いドット絵はインスピレーションを刺激してくれます。

ピクセル百景 現代ピクセルアートの世界

 

難易度としては高めですが、これを最終的な目標として勉強を続けるモチベーションにするのも良いと思います。

ピクセル百景 現代ピクセルアートの世界
  • レベル:中級者〜上級者 (4)
  • プロレベルのドット絵を見たい (5)
  • モチベーションを上げるアイテム (4)

ULTIMATE PIXEL CREW REPORT ピクセルアートではじめる背景の描き方

こちらはドットの背景を描くことに特化した教本となります。そのためキャラクターの描き方は書かれていませんが、ドット絵の基礎から応用、遠近法やパースや構図、と盛り沢山な内容で技術力を上げるために手元においておきたい本です。

出典:ULTIMATE PIXEL CREW REPORT ピクセルアートではじめる背景の描き方

■ULTIMATE PIXEL CREW REPORT ピクセルアートではじめる背景の描き方

  • レベル:初心者〜上級者 (3)
  • 初歩から技法を学びたい (5)

Tiled Map Editorの使い方

このページでは高機能なレベルエディタである Tiled Map Editor の使い方を紹介します。

Tiled Map Editorの仕組み   

Tiled Map Editorが扱うデータ構造 

Tiled Map Editorが扱うデータ(*.tmx)のデータ構造は以下のとおりです。

TMX
  +-- version : バージョン番号
  +-- orientation : 向き
  +-- width : 幅
  +-- height : 高さ
  +-- tilewidth : チップの幅
  +-- tileheight : チップの高さ
  +-- property : プロパティ
  |     +-- name : キー
  |     +-- value : 値
  |
  +-- tileset : タイルセット
  |     +-- firstgid : 開始チップID
  |     +-- name : 名前
  |     +-- tilewidth : チップの幅
  |     +-- tileheight : チップの高さ
  |     +-- image
  |           +-- source : タイル画像のファイル名
  |           +-- width : 画像の幅
  |           +-- height : 画像の高さ
  |
  +-- layer : レイヤー
  |     +-- name : レイヤー名
  |     +-- width : レイヤーの幅
  |     +-- height : レイヤーの高さ
  |     +-- properties
  |     |     +-- property
  |     |           +-- name : キー
  |     |           +-- value : 値
  |     |
  |     +-- data
  |           +-- encoding : データの種類(base64 / csv)
  |           +-- データ値
  |
  +-- objectgroup : オブジェクトグループ
        +-- color : 透過色
        +-- name : 名前
        +-- width : オブジェクトレイヤーの幅
        +-- height : オブジェクトレイヤーの高さ
        +-- opacity : 透過値(0.0~1.0)
        +-- object : オブジェクト
              +-- name : 名前
              +-- type : 種別
              +-- gid : チップID
              +-- x : X座標
              +-- y : Y座標

上記は全体の構造ですが、重要な部分に絞ると以下のようにシンプルなものです。

TMX
  +-- tileset : タイルセット
  +-- layer : レイヤー
  +-- objectgroup : オブジェクトグループ
        +-- object : オブジェクト

それぞれにプロパティとして、キーと値のペアを持つデータを指定することができます。

タイルセット   

タイルセットとは、配置するチップのセットです。タイルセットは複数存在することができます。

レイヤー   

レイヤーとは、配置したチップ情報の集まりです。データとしては、チップIDの単なる配列となります。 レイヤーには主に背景チップを配置します。理由はレイヤーの1つのタイルにはチップIDしか情報を持たせられないためです。 ただし、ゲームオブジェクトがID情報だけで事足りる場合には、レイヤーに乗せてしまったほうが、TiledMapEditor上での編集が楽になります。

オブジェクトグループ   

オブジェクトグループとは、オブジェクトの集まりです。オブジェクトはレイヤーのチップとは異なり、複雑な情報を持たせられます。そのためゲームオブジェクトはこちらの情報を元に生成するのが、一般的な処理となります。

オブジェクト   

オブジェクトには、XY座標・チップIDに加えて、名前と種類を設定することができます。

使いこなし方法 

日本語化する

もし日本語化されていない場合はメニューから「Tiled > Preferense」を選びます。

そして、Interface から「Japanese」を選ぶと日本語化されます。

 

基本的な使用手順

新規マップの作成

「新しいマップ...」を選んでマップを作成します。

次にマップの種類を選択します。

  • 種類:□型タイル(RPGツクールのようなマップ)、◇型タイル(クォータービュー)
  • タイルの出力形式:タイルのデータフォーマット。通常は CSV(カンマ区切り)が読み込みやすいと思います。
  • マップの大きさ:並べるタイルの数を指定します
  • タイルの大きさ:マップチップの大きさ。通常は 32x32 が良いと思います

tmxファイルの保存

作成するtmxをいったん保存します。

マップが作成されました。

なおマップの情報は左側のプロパティから変更可能です。マップを広すぎたり狭すぎる場合には、「タイルの幅」「タイルの高さ」から修正できます。

タイルセットの作成

次にタイルセットを作成します。タイルセットとはマップに配置する「地面」、「木」や「岩」などの画像です。

タイルセットを作成するには、右下にある「新しいタイルセット...」を選びます。

タイルセットの設定を行います。

  • 名前:タイルセットの名前を指定します
  • マップに埋め込みタイル情報を別のマップデータでも流用したい場合はここにチェックを入れます
  • 画像 > パス:タイルセットに使用するマップチップ画像を指定します
  • タイルの幅・高さ:タイルセットの画像サイズを指定します

この記事ではマップチップ画像は「ぴぽや倉庫」さんからお借りしたものを使っています。

タイルセットの画像が設定できると、このようにマップチップ画像が表示されます。

次に地面のチップを配置したいので、レイヤー の「タイルレイヤー1」と表示されている部分をダブルクリックして「地面」に名称を変更します

そうしたら、地面のチップを選びバケツツールを選択して、地面で塗りつぶします。

タイルの配置ツールについて、主に使うものを説明すると以下の5つあります。

  • スタンプツール:選択しているタイルを1つだけ配置する
  • バケツツール:選択しているタイルで塗りつぶす
  • 消しゴムツール:配置したタイルを消去する
  • 範囲選択ツール:まとめて選択して移動や消去、コピーができる(解除する場合はメニューから「編集 > すべて選択解除)
  • 自動選択ツール:隣り合っている同じタイルをまとめて選択する(解除する場合はメニューから「編集 > すべて選択解除)

障害物レイヤーを作成

続けて地面の上に配置する障害物レイヤーを作成します。「レイヤー」ウィンドウで右クリックして、「新規 > タイルレイヤー」でタイルレイヤーを追加します。

次に障害物レイヤーを選択、スタンプツールでタイルからチップを配置していきます。

ショートカットキー

よく使うショートカットキーをまとめておきました。マウス操作も混ざっています。

分類 項目 キー
ツール選択 スタンプツール B
  消しゴム E
  バケツ F
  範囲選択 R
編集 元に戻す Cmd+Z
  やり直す Cmd+Shift+Z
スタンプ 直線を引く Shift+左クリック
  円を描く Cmd+Shift+左クリック
  スタンプを垂直方向にフリップ Y
  スタンプを時計回りに回転 Z
  スタンプを反時計回りに回転 Shift+Z
チップ変更 スポイト(マウスの下にあるチップを選択) ビュー上で右クリック
  指定の範囲を複製 マウス右ドラッグ
  チップ番号のストア Cmd+1〜9
  ストアに保存しているチップ番号に変更 1〜9
範囲選択 削除 Delete / Backspace
  切り取り Cmd+X
  コピー Cmd+C
  貼り付け Cmd+V
  選択解除 Cmd+Shift+A
表示 拡大 Cmd+「+」/ Cmd+ホイール上 / ミニマップ上でホイール上
  縮小 Cmd+「-」/ Cmd+ホイール下 / ミニマップ上でホイール下
  拡大リセット Cmd+0
  ビューのスクロール Space+マウス移動 / マウスホイールクリック+マウス移動 / ミニマップ上でクリックorドラッグ / カーソルキー
その他 F5 コマンドの実行

 

より詳細なショートカットキーは以下のリンクを参考にしてください。

ミニマップ   

横長のマップを編集したい場合   

横スクロールのゲームでマップを作る場合は、ミニマップの配置を下に置くと良いです。

ミニマップをマウス左ドラッグすることでスクロールできるので、作業効率がアップします。

タイルセット   

チップ番号のストア   

チップを選択してCmd+1〜9を押すと、選択中のチップ番号がストアに保存されます。そして1〜9を押すことで対応する数字に保存したチップ番号に変更されます。

複数のタイルを組み合わせたスタンプの作成   

タイルセットを左ドラッグします。

すると複数のタイルを選択できます。

作成済みのチップの配置情報を複製する   

スタンプツールを選択肢、複製したい領域をマウス右ボタンドラッグします。

すると指定した領域が複製できます。

範囲選択  

まとめて削除する  

まとめて削除する場合、消しゴムで1つ1つ消すのは大変です。 そこで、選択範囲ツールを選択肢てマウス左ドラッグで範囲選択します。

その状態でCmd+X(またはDeleteキー / Backspaceキー)すると、まとめて消すことができます。

まとめて移動する  

範囲選択ツールで選択した後、Cmd+Xで切り取り、Cmd+Vで複製モードに入り、左クリック貼り付けることで、まとめて移動することができます。

まとめて複製する  

範囲選択ツールで選択した後、Cmd+Cでコピーして、Cmd+Vで複製モードに入り、左クリックで貼り付けます。

複製モードの解除  

別のチップを選択したり、右クリックでスポイトすることで解除できます。

選択範囲の追加 

左ドラッグで選択した状態で、さらにShift+左ドラッグします。

 

すると、選択範囲を追加できます。

選択範囲を削る

すでに選択した範囲を、Cmd+左ドラッグします。

するとドラッグした範囲が削られます。

コマンド 

Tiledからゲームを起動する  

Project.xmlが存在する場所に以下のシェルスクリプトを配置します。(ファイル名は「exec.sh」とします)

#!/bin/sh

cd `dirname $0`
lime test neko

そして、サイコロアイコンの左側にある小さな三角ボタンをおして、コマンドの編集を選択します。

コマンド編集画面が表示されるので、配置したスクリプトのパスをフルパスで指定します。

すると歯車アイコンをクリックすることでゲームが起動できます。またはF5から起動することもできます。

Windowsの場合は以下のバッチファイルを用意します

:: ドライブ変更
cd /d %~d0
:: カレントディレクトリ変更
cd %~dp0

:: 実行
lime test neko

実行ツールで以下のようにバッチファイルがあるパスを指定すれば、実行できます。

自動マッピングのやりかた 

自動マッピングとは  

自動マッピングとは、配置したマップのタイルを入力として、特定のルールを元に、タイルレイヤーを自動生成する方法です。これにより以下のメリットが得られます

  • 作業の効率化: 少ない時間で定型的な作業を完了できます。これにより作業時間を減らし、作業速度をアップすることができます
  • 入力ミスの削減: 自動化により入力ミスを減らします。適切にルール設定ができていればエラーは発生しません

自動マッピングの仕組み 

  1. 元となるデータを「main.tmx」とします。ここにObjectsレイヤーを作成します
  2. 次にrules.txtを作成します。ここにはルールファイルを定義します
    1. 例では、「rule1.tmx」「rule2.tmx」を参照する設定をしています
  3. rule1.tmx、rule2.tmxにルールの定義を設定します
    1. このときレイヤー名に気をつけます
    2. 入力情報となるレイヤーには「input_もとのレイヤー名」
    3. 出力情報には「output_出力レイヤー名」とします
  4. rules.txt / rule1.tmx / rule2.tmx が適切に設定されていれば、「main.tmx」のメインメニューから「マップ > 自動マップ」を選ぶと、「Collision」レイヤーが自動生成されます

基本 

素材のダウンロード  

まずは素材として、こちらの map.png をダウンロードします。

main.tmxの作成   

元となるマップデータを作成します。Tiled Map Editorを起動して、新規作成します。

マップの大きさは「8x8」、タイルの大きさは「32px」とします。 続けて、タイルレイヤーを追加します。

「Background」「Objects」の2つのタイルレイヤーを作成します。Backgroundには通行可能なタイル、Objectsには通行できないタイルを配置します。 タイルセットにはダウンロードした「map.png」を設定します(マップ > 新しいタイルセット)。

そうしたら、Backgroundレイヤーに草原を配置します。

次に、Objectsレイヤーに木を配置します。

自動マッピングテキスト(rules.txt)の作成   

テキストエディタを開いて、以下のように記述します。

rule1.tmx

記述できたら、main.tmxを保存したフォルダと同一のところに、ファイル名を「rules.txt」として保存します。

自動マッピングルール(rule1.tmx)の作成   

Tile Map Editor から新規作成を選んで、ルールを作成します。 マップサイズはいくつでも構いませんが、わかりやすくするために「1x1」にしておきます。

 

そして、ルール用のレイヤーを作成します。

  • input_Objects: 入力レイヤー
  • output_Collision: 出力するコリジョンのレイヤー

タイルセットにはダウンロードした「map.png」を設定します(マップ > 新しいタイルセット)。

では、ルールを作成します。 「input_Objects」レイヤーを選択して、木を配置します。

これにより、Objectsレイヤーに「木が配置されていたら〜」という条件を指定できます。 次に、「output_Collision」レイヤーに、バッテンマークのコリジョンを配置します。

これにより、「Collisionレイヤーにはバッテンマークを配置する」という出力を指定できます。

では、ファイル名を「rule1.tmx」として、main.tmx / rules.txt と同一のフォルダに保存します。

自動マッピングの実行   

main.tmxを開いて、メインメニューから「マップ > 自動マップ」を選びます。

しかし、エラーメッセージが表示されてしまいます。

これはrule1.tmxに、入力/出力とする領域(region)が設定されていないためです。

Regionの設定   

領域(region)とは、有効な入力となる範囲や出力を行う範囲の設定です。

では、再び、rule1.tmxを開きます。そして、Region用のタイルセットを追加します。 タイルセットはこちらの「rules.png」をダウンロードして使います。

「RI」とは、「regions_input」の頭文字を取ったものです。「RO」は「regions_output」です。

メインメニューから「マップ > 新しいタイルセット...」を選び、画像の「パス」に「rules.png」を指定します。 タイルセットを追加できたら、レイヤーを追加します。

「regions_input」「regions_output」を追加しました。 次に、「regions_input」レイヤーを選んで、「RI」タイルを配置します。

続けて、「regions_output」レイヤーに「RO」タイルを配置します。

そうしたらrule1.tmxを保存します。

再び自動マッピングを実行  

main.tmxを開いて、メインメニューから「マップ > 自動マップ」を選びます。すると、自動マッピングが実行され、Collisionレイヤーが追加されます。

完成データ   

今回の自動マッピングの完成データ一式はこちらにあります。うまく行かない場合は、こちらの設定と比較しながら違いを確かめていきます。

Regionの仕組みを理解する   

Regionの仕組みを理解するために、rule1.tmx を修正してみます。rule1.tmx を開いて、「マップ > マップサイズを変更...」を選びマップサイズを変更します。

マップサイズを「3x3」に変更します。

変更したら、まずは「input_Objects」レイヤーだけを可視化して、中央にだけ木を配置します。

次に、「output_Collision」レイヤーに、コリジョン(バッテン)をすべての場所に配置します。

木の周りにもコリジョンを配置するようにしました。 続けて、「regions_input」レイヤーを選び、「RI」タイルを中央に配置します。

最後に、「regions_output」レイヤーを選び、「RO」タイルをすべての場所に配置します。

では保存して、main.tmx を開き、自動マッピングを実行してみます。

木の周りにもコリジョンが自動配置されました。このようにRegionの範囲を広げると、そのぶんだけ対象を広くすることができます。 ……ただ右上だけはうまく配置されていませんね。原因は不明ですが、木の位置を下にずらすとうまく配置されるので、配置を工夫しなければならないのかもしれません。

オートタイル  

RPGツクール や WOLF RPGエディターで採用されている、オートタイルを実現する方法を説明します。 ここでは、足場の右側に何もなかったら、そのタイルは右端用のタイルとする、という自動マッピングを行います。

このように配置したタイルを……、

自動でこうなるようにします。

素材のダウンロード   

オートタイルを作成するために、素材画像をダウンロードします。

素材の内容は、以下の3つの画像です。

base.png: オートタイルの元となる画像

tileset.png: オートタイルで出力する画像

rules.png: Region定義用の画像

main.tmxの作成   

Tiledを起動して、8x8のサイズで新規作成します。

  1. レイヤー名を Base に変更します
  2. タイルセットとして、base.png / tileset.png を読み込みます
  3. baseタイルセットから以下のようにタイルを配置します

ファイル名を main.tmx として保存しておきます。

rules.txtの作成   

テキストエディタから以下のように記述して、rules.txtというファイル名で保存します。

rule1.tmx

rules.txt は、main.tmxと同一のフォルダに配置します。

rule1.tmxの作成   

ルールを作成します。 Tiledを起動して、5x5のサイズで新規作成します。

作成できたら、rules.png / base.png / tileset.png のタイルセットを作成します

regisons_inputレイヤーの作成   

regions_input レイヤーを作成します。「タイル・レイヤー1」が自動で作成されているので、それをリネームします。 そして rules タイルを以下のように配置します。

タイルはこのように配置しました。

inputnot_Baseレイヤーの作成   

続けて、inputnot_Base レイヤーを作成します。

タイルは左から4番目に配置しました。 この「inputnot_Base」レイヤーがオートタイルのルール作る上で重要な部分です。inputnot_*という名前を指定することで、入力レイヤーに指定のタイルが「存在しなかったら」という条件を定義できます。

regions_outputレイヤーの作成   

出力用のRegionレイヤーを指定します。regions_output レイヤーを作成して、baseタイルのROタイルを配置します。

output_Backgroundレイヤーの作成   

出力するタイルレイヤーを指定します。output_Background レイヤーを作成して、tilesetタイルを以下のように配置します。

rule1.tmxとして保存   

これでルールの作成は完了です。ファイル名を rule1.tmx で保存します。

main.tmx を開く   

main.tmx を開いて、メインメニューから「マップ > 自動マップ」を選びます。 すると、Backgroundレイヤーに tilesetタイルが自動でタイリングされました。

なお、ここでは右側だけをオートタイルする方法を紹介しましたが、左側のルールも定義すれば、両端が自動でタイリングされるようになります。なお、自動マッピングのルールは左上から順に行われるので、優先順位の高いルールは後になるように定義します。

完成データ  

今回作成したデータは以下のリンクからダウンロードできます。

うまく設定できない場合は、このデータと比較してみてください。

参考   

 

【Spine】2Dアニメーションツール Spine の使い方

Spineとは

Spine とは2Dアニメーションを作成するためのツールです。ボーンを入れることで人体のような複雑な動きをさせることも可能で、アクションゲーム向きな印象です。

対応するゲームエンジンの多さが圧巻で、Unity / Unreal Engineはもちろんのことマイナーな環境でも動作するのが魅力ではないかと思います。

ただ日本語の情報が少なく、導入の時点でつまづく人も多いような気がしました。
ということで、今回は基本操作を理解するために、簡単な拡大アニメの作り方を紹介したいと思います。(ボーンの使い方は説明しません)

 画面レイアウトの説明

重要な機能に絞って、簡単に画面レイアウトを説明します

  • メニュー : ここをクリックするとプロジェクトの保存やエクスポートができます
  • モード切り替え : 「SETUP」と「ANIMATION」の2つのモードを切り替えます
  • Treeビュー : 配置する画像データやボーン構造の管理をします

 使用する画像データ

今回は以下の画像を使います。

右クリックで保存して、画像はデスクトップの "project" フォルダに保存するとします。

 作業フォルダの登録

Spineを起動したら、何はともあれプロジェクトの保存をします。左上のSpineのロゴをクリックするとメニューが表示されるので「Save Project As ...」を選択します。

プロジェクトファイルは、デスクトップにある"project"フォルダに保存します。これにより、基準ディレクトリが"project"フォルダになります。

 画像フォルダの確認

TreeビューのImageフォルダを展開して spine画像 があることを確認します。
なお、素材フォルダをプロジェクトと別にしたい場合には、下にあるBrowseボタンをクリックして変更します。

 画像をRootノードに登録する

spine画像を画面中心にドラッグ&ドロップしてRootノードに登録します。

もし配置位置がズレてしまったら下にある「Transform > Translate」を選択して移動を有効にして調整します。

 アニメーションの作成

素材の配置が完了したので、アニメーションを作成します。
「SETUP」をクリックして「ANIMATE」モードに切り替え、Dopesheetをクリックすると、アニメーションのシートが表示されるようになります

 キーを作成する

今回は拡大するシンプルな拡大アニメを作ります。
まずはDopesheetを0フレーム目に合わせて、画像を選択し、Scaleを選択、カギアイコンをクリックするとキーが打たれます。

このカギアイコンですが、

  • 緑色 : キーがない
  • 黄色 : キーの値が変更された
  • 赤色 : キーの値が反映された

となります。よくある失敗が 値を変更したものの(黄色のままにして)、別のフレームを選んだり別のノードを選択してしまい、値が反映されない というケースです。その場合、変更した値は元に戻り、やり直さなければなりません。なので値を変更したら、カギアイコンをクリックして反映させるのを忘れないようにします。

 拡大アニメのキーを打つ

続けて30フレーム目を選択し、Scale値をX軸Y軸ともに「2.0」を指定し、カギアイコンをクリックします。

横向きの三角ボタンを押すと拡大アニメの確認ができます。また回転矢印をクリックするとループ再生となります。

 補完の仕組み

作成したキーは2つだけですが、滑らかに拡大してくれました。この仕組みは「補完」が有効になっているためです。補完を有効にするためには

  • 2つのキーが存在する
  • そのキーの間の補完設定が有効になっている

という2つの条件が必要となります。試しに最初のキーをDeleteキーで削除すると補完されなくなっているはずです。また補完の設定は「Playback」ボタンから確認できます。ここの「Interpolated」が有効になっていると補完されるようになります。

 補完の方法を変更する

デフォルトだと直線の補完なので、これを曲線にしてみます。
補完の開始フレーム(0フレーム目)を選択し、「Graph」ボタンをクリックすると、グラフが表示されます。

このGraphの右上にあるアイコンから「Bezier Curve」を選択し、表示された制御点(白丸)左右に伸ばしていきます。

すると、緩急のついた拡大アニメとなります。

 出力をする

最後に出力方法です。
メニューから「Export」を選びます。

Exportダイアログが表示されるので、実行環境にあったフォーマットを選び、出力フォルダを指定して「Export」ボタンで出力完了です。

たいていの環境ではAtlasテクスチャが必須のようなので、「Create atlas」にはチェックを入れるようにします。

 おまけ

 各エディションの違い

エディション 値段 説明
体験版 無料 プロジェクトの保存やエクスポートができません
Essential $69 基本機能のみ。凝ったアニメーションをしないならこれで充分
Professional $329 すべての機能が入ったもの
Enterprise $2299 年間の売上が$50万を超える場合には、このエディションの購入が必要

※EssentialからProfessionalへのアップグレードは$189で可能なので、Essential買った後でアップグレードしても損しないです

 Essentialと Professionalの違い (Professionalで有効な機能)

  • Auto Key : スケルトンポーズのキーを自動でつけてくれる
  • Dopesheet Keyの入力補助 : アニメーションタイムラインであるDopesheetの入力補助
  • Ghostの表示 : アニメを確認するためのゴーストの表示ができる
  • メッシュ機能 : 矩形をポリゴンへコンバートできる
  • 画像の自由な変形 : 画像を柔軟に変形できる
  • スキニング : メッシュに複数のボーンを持たせて変形できる
  • IK : インバースキネマティクスのサポート

 チートシート(よく使うショートカットキー)

完全な情報はこちらにありますが、よく使うものを抜粋しました

分類 アクション キー
メニュー エクスポート Cmd+E
一般 名前の変更 F2
~ 表示・非表示の切り替え H
~ 非選択状態にする Space / ESC
ビュー カメラの移動 マウス右ドラッグ
~ カメラのズーム マウスホイール
~ 複数の項目を選択 Cmd+左クリック
~ 矩形で複数の項目を選択 Spaceで非選択状態にして、何もない場所から左ドラッグ
Transform Scaleを選択 X
~ Rotateを選択 C
~ Translateを選択 V
~ 選択しているTransformのX軸の値を増減 左右キー
~ 選択しているTransformのY軸の値を増減 上下キー
~ 15度ずつ回転する Shiftを押しながらマウス左ドラッグ
Tools Pose(ボーンの制御モード)を選択 B
~ Create(ボーンの追加モード)を選択 N
Setup 親の設定 P
Animation 再生と一時停止 D
~ 逆再生 A
~ 0フレーム目に戻す Q
~ 最終フレームに移動 E
~ 次のキーに移動 W
~ 1つ前のキーに移動 S
~ 1フレーム進める R
~ 1フレーム戻す F
~ 10フレーム進める Shift+R
~ 10フレーム戻す Shift+F
~ ループ再生のON/OFF Cmd+R
Tree 名前の変更 ダブル左クリック
Dopesheet スクロール マウス右ドラッグ
~ キーの削除 キーをダブル左クリック
~ キーの切り取り Cmd+X
~ キーのコピー Cmd+C
~ キーの貼りつけ Cmd+V
Timeline スクロール マウス右ドラッグ

 SETUPモード

 ANIMATEモード

 参考リンク

  • Spineを使ってみた Part1: ボーンのつけ方を紹介しています。ボーンアニメの作り方の説明がないですが、頑張れば何とかなります

関連ページ

Spineでよく使いそうな機能の備忘録を書きました