2016年06月14日

アニメーションブレンディング

めっちゃこんにちは。
久しぶりにアニメーションのコードを書いてめっちゃご機嫌な人です。
今回は自家製ゲームエンジンのアニメーションエンジンに、アニメーションブレンディング機能を一部ですが実装しましたので、それの紹介をしようと思います。

アニメーションブレンディングというのは、アニメーションAからアニメーションBにスムーズに遷移したり、AとBを任意の比率で合成して再生したりするやつのことです。
Unityや、UEなどにも当たり前に実装されている機能(名前は違うかも)なので、知ってる人は多いと思います。

blending_ura.gif

今回実装したのはAとBを合成する機能です。
AからBに遷移する機能はまだありません。
動画ではA→Bがスムーズに遷移していますが、これは手動でやってますw
枠の外で、アニメーションの切り替えに合わせてスライダーを操作してブレンド率を変えております(ズル
A->B機能はブレンディング原理はA+Bと同じですが、周辺の処理がA+Bよりもかなり複雑になりそうなので、これからバックアップを取った上で思いっきり試行錯誤する予定です。
で、それが長引きそうだったので、先にA+Bを紹介しておこうと思ったしだいです。

A->B機能はアクション系ゲームではかなり肝になる部分でして、中でもこの機能をスクリプトから簡単かつ詳細に制御できることが重要だと私は考えています。
そう考えるようになったきっかけは、BGEでテトさんのアクションゲーム作ってたとき、ブレンディング時のアニメーションの骨折がどうしても制御できなくて何度となく泣かされた苦い経験があったからです。
その当時のリベンジを、自分が作るエンジンでもって果たしてやろうと考えているわけでございます。
まあ、そういう因縁の相手ですので、慌てずじっくりとやっていくつもりです。はい。

といったところで、今回はおしまいです。
ではまた。
posted by gency at 23:44| Comment(0) | 3DProgramming

2016年06月09日

日本語入力と編集機能

テキストの編集機能を作っています。
前回作成した文字入力機能はSDL2を使って簡単に済ませましたが、今回の編集機能は自力で実装しております。

jpinput.gif

現在のところはこんな感じで入力と編集ができます。
日本語入力モードのときはSDL2の編集機能(ていうかIME)が動作し、それ以外の編集では自作の編集機能が動いています。

自作した機能は具体的には、カーソル表示・操作、文字の選択、前後方の削除といったあたりになります。
あと、矩形やフォントの描画機能もOpenGLやFreetype2を使って自作しています。
SDL2のサーフェイスや、SDL_ttfを使っても同じことができるので、普通はこっちを使えば良いかと思います。
私はSFML時代にわけあって自作したものを今も使っているだけです(勿体なくて

今後、実装を予定している機能としては、文字列の範囲選択とコピペ機能があります。
これを作ったら、編集機能は完成となります。
最後はちょっと難易度高いので時間がかかりそうな気がします(コピぺじゃない方のこと

今回はこんなところです。
次は何をするか決めてないですが、OpenGLを使った何か新しいことをやりたいと思っています。
ではー。


posted by gency at 19:07| Comment(0) | 3DProgramming