2015/09/15(火) [n年前の日記]
#1 [dxruby] DXRubyでSpineのソレっぽいことを実験
一応ソレっぽく見えることは確認できた。
ソース。 _articulatedsprite01.rb
画像も含めてzipで置いときます。CC0 / Public Domain ってことで一つ。 _articulated_test01_20150915.zip
とりあえず、blender上で実験した際に予想していたけど、DXRuby の矩形変形描画だけでも、ある程度はなんとかなりそうだなと…。もちろん、三角ポリゴン描画機能があるゲーム用ライブラリ等なら、描画したい領域を境界線で囲って三角ポリゴンで分割して、もっとそれらしく見せられる可能性は高いけれど。
ソース。 _articulatedsprite01.rb
画像も含めてzipで置いときます。CC0 / Public Domain ってことで一つ。 _articulated_test01_20150915.zip
とりあえず、blender上で実験した際に予想していたけど、DXRuby の矩形変形描画だけでも、ある程度はなんとかなりそうだなと…。もちろん、三角ポリゴン描画機能があるゲーム用ライブラリ等なら、描画したい領域を境界線で囲って三角ポリゴンで分割して、もっとそれらしく見せられる可能性は高いけれど。
◎ 課題。 :
DXRuby等を使ってリアルタイムに描画することはできそうだと分かったけれど。やはり、各頂点をどのようにアニメーションさせるか、データを作るためのツールが必要になりそうだなと。
ボーンを作成して、重みづけ・ウェイトを指定する仕様になるのだろうか。それとも、各頂点をキーフレーム毎にチクチクと位置指定したほうが微調整できて便利だろうか…。
また、元画像をどのように分割するか、複数の矩形で設定していく仕様も必要になりそう。場合によっては、画像に対して一旦三角ポリゴン単位で領域を指定するけど、そこから矩形のテクスチャに変換して抜き出す、ということもできたりするといいのかも。テクスチャの品質はかなり荒れちゃうだろうけど。
キーフレームを指定できるとして、キーフレーム間の頂点移動の補完をリアルタイム計算で行うのか、それとも事前にツール側で全フレーム分計算してごっそり持っておくのか、といった問題も。
データ量を少なくしたいとか、状況に応じてインタラクティブにポーズをつけたいなら、リアルタイム計算ということになるだろうけど。処理の重さを考えたら、データ量は増えるけど、事前にツール側で計算してごっそり持っておくのもヨサゲだなと。
まあ、大変そうだから、ツールを作るところまで自分はいかないだろうと思ってますけど…。
人型を動かそうとすると大変だけど、よくわからない形のモンスターっぽい画像なら、プログラムをガリガリ書くだけでもそれっぽく見せられるかも、と思っていたり。ミミズっぽいモンスターとかなら、一定間隔で分割して、sin/cosでそれらしく動かせるんじゃないかな、とか。
ボーンを作成して、重みづけ・ウェイトを指定する仕様になるのだろうか。それとも、各頂点をキーフレーム毎にチクチクと位置指定したほうが微調整できて便利だろうか…。
また、元画像をどのように分割するか、複数の矩形で設定していく仕様も必要になりそう。場合によっては、画像に対して一旦三角ポリゴン単位で領域を指定するけど、そこから矩形のテクスチャに変換して抜き出す、ということもできたりするといいのかも。テクスチャの品質はかなり荒れちゃうだろうけど。
キーフレームを指定できるとして、キーフレーム間の頂点移動の補完をリアルタイム計算で行うのか、それとも事前にツール側で全フレーム分計算してごっそり持っておくのか、といった問題も。
データ量を少なくしたいとか、状況に応じてインタラクティブにポーズをつけたいなら、リアルタイム計算ということになるだろうけど。処理の重さを考えたら、データ量は増えるけど、事前にツール側で計算してごっそり持っておくのもヨサゲだなと。
まあ、大変そうだから、ツールを作るところまで自分はいかないだろうと思ってますけど…。
人型を動かそうとすると大変だけど、よくわからない形のモンスターっぽい画像なら、プログラムをガリガリ書くだけでもそれっぽく見せられるかも、と思っていたり。ミミズっぽいモンスターとかなら、一定間隔で分割して、sin/cosでそれらしく動かせるんじゃないかな、とか。
[ ツッコむ ]
以上です。