dnjiro’s 9VAe blog

誰でもアニメが作れる無料ソフト9VAeきゅうべえ開発者のブログ

9VAeきゅうべえの開発ロードマップ

曲線をもうすこしきれいにしてほしいとの要望があった。内部事情を説明すると・・(9VAeダウンロードはこちら

9VAeきゅうべえは内部処理を固定小数点(32bit整数演算)で行なっているので、どうしても誤差が累積し、特に、円がきれいに表示されない。これは非力なパソコンでも動くように開発がスタートしたからだ。内部処理がすべて固定小数点でこれを修正するのは相当大変である。回避策として、傾いていない楕円だけ正しく描画するようにした(Ver.0.6.11)。

精度以外にもいろいろな要望を受けている。すこしずつ対応していく方針で、今後、どんな機能が追加されるか公開しておこう。

今後、開発していく機能

項目 内容 開発期間(見込み) 状態
スマホ版9View 9Viewのスマホ版がほしい 3ヶ月?
アニメキャストの再生方法 押している間は順方向に再生、はなすと先頭ページまで逆再生 1ヶ月?
文字、画像の90度回転 文字、画像に90度回転属性の追加 2ヶ月?
マスク処理 透過PNGとグループ化したら、画像でマスクできる。文字の形に切り取りできる 1ヶ月?
画像の数値指定 画像の配置を数値で指定できるようにしたい 2週間?
アニメキャストの文字制御VerUp ;でマルチステートメント、[]で小節ループ記述、イージング 2ケ月?
Unityとの連携 Unityの中で9VAe が作れるようにしたい 1年?

開発をあとまわしにする機能

以下はあとまわし(実はあきらめている)機能

項目 内容 代替え策・開発が難しい理由
縁をなめらかにして再生する機能 表示メニューに切り替え設定を追加 iOS/iPad/Mac版は最初から滑らかに再生される仕組みだったので、変化しない
音声入力 アニメにせりふをつけたい テキストを音声合成でしゃべる機能で代用してほしい
SVG保存の改善 処理を細分化し、進捗表示、中断ができるようにする 99ページより長いデータは静止画にした
口パク動画専用アプリ AndroidStudio+Cocos2dで作りたい ひとコマ+しゃべる機能で十分、Cocos2dよりDxLibがよい
JSON JSONテキストで保存できるようにする OnePフォーマット
Windows11アプリストア対応 WinRT C++ 移植が非常にむずかしいことが判明。自分が確保したメモリに文字を描画できない。ファイル処理を非同期にするのがたいへん。動画出力は FFmpegで達成
ひらがな口パク ひらがなでも口パクできるようにする ローマ字を標準にして、IPA Symbolとローマ字の対応表をつけることにする
ボーン 骨格で変形したい 点の結合でアニメキャストを組み合わせることで代用してほしい。かなりの変更になるのであきらめ。
動画編集 9VAeの中に動画を入れたい AviUtlやiMovie などの既存アプリを使ってね
SNS機能 作品投稿、コメントの追加など 既存サービスを使ってね
投稿機能 Twitterやインスタグラムにアップする機能 相手側の仕様にあわせたりメンテが大変
スタンプの追加、販売 作成したキャラクタやパーツの販売 個人情報の管理、サポートが大変
スクリプト 変数を使ったプログラミング わからん
文字の回転 文字が回転しない inkscapeimpressをつかって文字をアウトライン化すれば回転できます
写真の回転 写真が回転しない 他のアプリをつかって回転させてください。

いままで拡張してきた機能

今まで行なってきた機能拡張と開発期間を紹介。難しそうにみえることでも時間をかければできることがわかる。最初にあげた項目もいつかできるよきっと。

項目 期間 補足
スマホ版に縁をなめらかにして再生する機能の追加 1週間 Ver.1.6.4(240901)
OnePに縁をなめらかにして再生属性を縁を保存できるようにした、9Viewで滑らかに再生される 1週間 Ver.1.6.4
2048x2048 にしたとき、shift+虫眼鏡ボタンで実際の大きさにならないバグを修正 3日 Ver.1.6.4
9ViewにOneP再生機能追加 1週間 Ver.1.6.4
Android外部ファイルからのリンク切れ修正 2週間 Ver.1.5
Android版、文字の上に描画できるようにする 2か月 Ver.1.5
Windowsストアアプリ 0日 Amazon版がストアアプリになった
OneP保存 3ヵ月 X68000Z用に開発
しゃべる機能の搭載 3ヵ月 Ver.1.3
PNG画像をPNG出力すると色が変わる症状の改善 1ヵ月 Ver.1.2.1
DOORにデモルームを開設 3日 GIFアニメとリンクを設置
タッチでみえるアニメキャストのSVG保存 2週間 Ver.0.9.2
MP4出力 2ヶ月 Ver.0.9.0
連番PNG入力 1ヶ月 Ver.0.7.3
保存フォルダの階層化 1ヶ月 Ver.0.7.3
点の結合・点を結合して複数の図形を一体化する 3ヶ月 Ver.0.7.2
せりふをいれるとしゃべるアニメができる 1ヶ月 ゆっくりボイス
テクスチャ(タイル)エディタの搭載 数ヶ月 全OSで動作させるのに時間がかかった
外部プログラムからのコントロール 3週間 CSVで命令を伝える
スマホから作品のアップロード 1週間 Flaskでできた
作った作品の持ち帰り 3日 Flaskでできた
Amazon Fire版 0日 Android32bitAPKがそのままつかえた
パレットのON/OFF 3日 右下すみのタッチで切り替え
曲線の精度向上 1ヶ月 傾いていない楕円を正確に描画するようにした
iPhone/iPad 2年 作っている間にXcodeがVerUpされると動かなくなったりした
Android 2年 DXライブラリにない機能をどう補うか
Mac64bit版 半年 Carbon から Cocoaへの移行。iPhone/iPad版のコードが一部流用できた。
キッズプラザ大阪への導入 3年 子供が使えるアプリの開発と設備導入のタイミング
APNG出力 2ヵ月 OpenSourceの利用で比較的簡単だった
多国語対応 数ヵ月 Utf8 とShiftJIS の混在、今でも完全とはいえない
太さが変わる線、ぶれ線 1年 太さを変えるアルゴリズムが思いつかなかった
SVG入力 2年 仕様が複雑。曲線の仕様が何種類もある
SVG出力 2年 9VAe の仕様をSVGで簡単に表現することができない
ポリポリゴン 5年 従来との互換性をとるアイデア(グループ化>いっしょに塗る)を思いつくまで5年かかった
テクスチャ塗りつぶし 2年 仕様の検討
アニメーションの階層化(アニメキャスト) 数年 時間の制御、複数のアニメから参照されたときの処理・・

9VAeきゅうべえに追加してほしい機能

9VAeきゅうべえに追加してほしい機能があれば、コメントにご記入ください。「実現したい機能」か「あとまわしにする機能」に追加していきます。

  • ロクス

    FLASHアニメのようなインタラクティブなアニメーションを作れる気軽かつ廉価なツールを探す中で、
    最近9VAeと出会い、お世話になっています。

    無料で素晴らしいツールを提供していただき、大変ありがとうございます。

    現状でもかなり色々できる優れたツールだとは思うのですが、
    できれば追加していただきたい機能があります。
    (私が気付いていないだけで既に搭載されていたら、すみません。)


    (1)指定したページに一気に切り替わるジャンプ機能とは別に、指定したページに(つながった図形が)モーフィングする機能。

    例えば、ある図形がA地点からB地点までモーフィングしながら移動するアニメーションを制御したいとして、
    A地点からB地点に移動する途中でクリックした場合、
    瞬時に指定したページ(例えば、A地点やB地点)に切り替わるのではなく、
    クリックした時にいた位置(クリックのタイミングによって変わります)から、A地点やB地点に徐々に移動やモーフィングするようにしたいのです。



    (2)マウスイベントの更なる充実。

    マウスダウンやマウスアップやドラッグなどでもっと色んな動作が行えるようにして欲しいのです。


    例えば、ボクサーが相手にパンチするアニメーションをマウス操作(やタップ操作)で制御したいとして、
    初期状態は構えの状態(拳はA地点にある)で、
    マウスダウンすると、拳が相手のボディー(B地点)に向かって動き出します。
    その後、マウスアップすると、マウスアップした瞬間の位置(A地点とB地点の間の任意の位置)から、構えの状態(A地点)まで徐々に拳が戻ります。
    また、拳がA地点に戻り切る前に再びマウスダウンすると、マウスダウンした瞬間の位置から、相手のボディー(B地点)に向けてのモーフィングが始まります。
    1つのボタンをマウスダウンやマウスアップしたタイミングに応じて、アニメーションの動きが臨機応変に変わるようにしたいのです。

    構えの状態からマウスダウンして、マウスダウンしている時間が短ければ、パンチは相手まで届くことはなく、フェイントのような感じで終わり、再び最初の構えに戻って行きます(モーフィングで)。
    マウスダウンしている時間が十分長いと、パンチはきちんと相手まで届き、その後マウスアップすると、構えの状態に戻って行きます。
    マウスダウンとマウスアップを短時間で繰り返すと、拳が小刻みに前後し、ペチペチと連打するようなアニメーションになります。

    タイミング次第で表現が変わり、インタラクティブで多彩な表現ができるようになります。



    (3)OnePファイルを再生するビューアーが欲しい。(9viewでは再生できないようなので。)

    9Vaeで読み込んで再生することはできますが、
    再生に特化したソフトを使えた方が便利だと思うので。

    SVGで保存すれば、9viewで再生することはできますが、
    せっかくSVGよりも軽いOnePがあるのですから、
    そちらの方を利用したいところです。

    特別なソフトを用意しなくてもOnePファイルをWEBブラウザで再生できれば、それが一番理想的なのですが。
    (SVGはブラウザで再生できますが、結構負荷が大きいのが難点。)



    (4)線を塗りに変換する機能

    線のままだと、拡大縮小しても太さが変わらないですし、
    また、線に強弱をつけたいと思う時もあるので、
    線を塗りに簡単に変換できると助かります。

    一部のベクター画像作成ツールでは、線を塗りに変換する機能があるようです。

  • ロクス

    先ほどのコメントで、改行が適切に行えておらず、読みづらかったので、修正して再投稿します。


    FLASHアニメのようなインタラクティブなアニメーションを作れる気軽かつ廉価なツールを探す中で、
    最近9VAeと出会い、お世話になっています。


    無料で素晴らしいツールを提供していただき、大変ありがとうございます。


    現状でもかなり色々できる優れたツールだとは思うのですが、
    できれば追加していただきたい機能があります。
    (私が気付いていないだけで既に搭載されていたら、すみません。)



    (1)指定したページに一気に切り替わるジャンプ機能とは別に、指定したページに(つながった図形が)モーフィングする機能。


    例えば、ある図形がA地点からB地点までモーフィングしながら移動するアニメーションを制御したいとして、
    A地点からB地点に移動する途中でクリックした場合、
    瞬時に指定したページ(例えば、A地点やB地点)に切り替わるのではなく、
    クリックした時にいた位置(クリックのタイミングによって変わります)から、A地点やB地点に徐々に移動やモーフィングするようにしたいのです。




    (2)マウスイベントの更なる充実。


    マウスダウンやマウスアップやドラッグなどでもっと色んな動作が行えるようにして欲しいのです。



    例えば、ボクサーが相手にパンチするアニメーションをマウス操作(やタップ操作)で制御したいとして、
    初期状態は構えの状態(拳はA地点にある)で、
    マウスダウンすると、拳が相手のボディー(B地点)に向かって動き出します。
    その後、マウスアップすると、マウスアップした瞬間の位置(A地点とB地点の間の任意の位置)から、構えの状態(A地点)まで徐々に拳が戻ります。
    また、拳がA地点に戻り切る前に再びマウスダウンすると、マウスダウンした瞬間の位置から、相手のボディー(B地点)に向けてのモーフィングが始まります。
    1つのボタンをマウスダウンやマウスアップしたタイミングに応じて、アニメーションの動きが臨機応変に変わるようにしたいのです。


    構えの状態からマウスダウンして、マウスダウンしている時間が短ければ、パンチは相手まで届くことはなく、フェイントのような感じで終わり、再び最初の構えに戻って行きます(モーフィングで)。
    マウスダウンしている時間が十分長いと、パンチはきちんと相手まで届き、その後マウスアップすると、構えの状態に戻って行きます。
    マウスダウンとマウスアップを短時間で繰り返すと、拳が小刻みに前後し、ペチペチと連打するようなアニメーションになります。


    タイミング次第で表現が変わり、インタラクティブで多彩な表現ができるようになります。




    (3)OnePファイルを再生するビューアーが欲しい。(9viewでは再生できないようなので。)


    9Vaeで読み込んで再生することはできますが、
    再生に特化したソフトを使えた方が便利だと思うので。


    SVGで保存すれば、9viewで再生することはできますが、
    せっかくSVGよりも軽いOnePがあるのですから、
    そちらの方を利用したいところです。


    特別なソフトを用意しなくてもOnePファイルをWEBブラウザで再生できれば、それが一番理想的なのですが。
    (SVGはブラウザで再生できますが、結構負荷が大きいのが難点。)




    (4)線を塗りに変換する機能


    線のままだと、拡大縮小しても太さが変わらないですし、
    また、線に強弱をつけたいと思う時もあるので、
    線を塗りに簡単に変換できると助かります。


    一部のベクター画像作成ツールでは、線を塗りに変換する機能があるようです。

  • 大和団次郎 (id:dnjiro)

    (1)はなれたページに、ゴーストでリンクする機能があります。
    記憶ツールの「←」ボタンの「Shift」オプション「ゴーストでつなぐ」をつかってみてください。
    <サンプル手順>
    1. ヘルプ>サンプル>「リミックス」をひらきます 
    2. 7ページの文字をタッチして選びます
    3. 記憶ツール「⚪︎↓」で、文字を記憶
    4. スクロールバー左の「<<」ボタンで先頭ページに移動
    5. 「Shift」ボタンまたはShiftキーを押しながら、記憶ツール下の「←」をタッチ
    6. メニューに「ゴーストでつなぐ」がでるのでタッチ
    7. 1ページに文字がはいるので、角のハンドルをドラッグして文字を小さくする
    8. 再生すれば、1から7ページにかけて、文字が徐々に大きくなります
     2ページから6ページまで、ゴーストでつながります。
    https://dnjiro.hatenablog.com/entry/link-ghost

    (2)パペットツールのようなものかと思いました。
    アニメキャストのラベル制御が似た機能かもしれません。
    https://dnjiro.hatenablog.com/entry/skeleton
    複数のポーズの間のモーフィングを文字で制御します。
    それをマウスの動きで制御したいとの提案かと思いまが、実装するには時間がかかりそうな気がします。

    (3)OnePファイルを再生するビューアーが欲しい。
    本ページの表に追加しました。提案ありがとうございました。

    (4)線を塗りに変換する機能
    塗りに変換する機能ではありませんが、線の属性を太さが変化する線にすれば、筆のような強弱のついた線にすることができます。
    太さを変更する属性は、線属性パレットの右端のボタン(矢印)で、太さが変化する線にしたあと、点選択モードで一部の点を選んで、太さパレットでその点の太さだけ太くしたり細くしたりできます。筆圧ペンをつかえば、筆のような線をひくことができます

  • もっと読む
コメントを書く