ニートが頑張るブログ

ニートが現実逃避するために創作活動など色々とカオスに頑張ってみる
ニートが頑張るブログ TOP  >  Flash作成過程

傷面フラッシュ作り中

 
最近は何もやってないように見せかけて、色々やってるつもりなんだけど、
特に完成しない。


なんか今、↓こんなのを作ろうとしています。



・クリックで傷を付けられます
・ドラッグで回転
・ダブルクリックで付けた傷を消せます



キャラクターの「顔に付いた傷」というのをパターン化して、収集したい。
そんで、比較とか類推とかもできるようにしたい。

・・・
そういう訳の分からんモノ。


作りたいと思いついてしまったんだから仕方がない。
思いついたキッカケは、「無限の住人」の万次さんの傷を見ててです。

万次さん


しょーもないモノをしょーもなく作ってるように見えるかもしれんけど、
こんなんでも、結構意外と作るのは大変なのだ。


まずこれ、相変わらず疑似3Dなのですが、
更に酷いことに、内部にも立体の情報は一切持たず、テクスチャの頂点の位置はぜんぶ手動で指定してるようなモンです。

頂点ブチブチ

こういうのを作って、頂点の位置をブチブチ記述して、それに合わせて変形して貼り付けている。
おかしかったら手で数値入力して、修正かける。

これで、鼻のところの傷とかがちゃんとそういう形状に曲がるようにしてるワケです。


そんで、「テクスチャの変形」に関しては、今まで通り
四角形を2つの直角二等辺三角形に分割して、それを変形させることで合わせる、という、
PS1時代のレベルのテクスチャ処理をやっとるわけです。


要は、テクスチャ画像に「三角形のマスク」を付けてやってるんですね。


でも今回面倒なのは、更にそれをハミ出させる必要が出てきたことです。
傷をそのまま貼り付けるだけだと、傷の「繋がり感」が出ない。


故にマスクを大きくとらないと行けないんだけど、それは単にデカイ三角形にすればいいというわけじゃない。
それをやると、凄いおかしなハミ出かたをする。


つまりは↓こういう風に、ハミ出る方向を制限しつつ、マスクさせねばならないのだ。

分割したテクスチャをマスクする

わかりやすく四角いテクスチャをでかく貼ってみて、さらに直角二等辺三角形の合成なのも見やすく色を光らせてみたら、
こういうことになる。



このためには、もうテクスチャの種類毎に、マスク画像を選択するようにしないといけない。

頂点ブチブチ
こっちの画像で言うところの、↑右の赤い数字のところ。
これくらいのパターンのバリエーションが考えられる。

マスク画像の種類
で、↑こういうマスク画像素材を用意して、それらを回転とかさせたりして、マスクしてます。


これで、領域をハミ出るようなテクスチャも、変形させて貼り付けることが出来るようになったんです。



・・・
まぁそんなこんなで

他にも、意外と目の部分が3重構造になってたり、
パット見のショボさからはかんがえられんほど、色々やってたりします。



これはもうちょいで完成しそう。


あともう一個やってるのは、前の「虫かごの中で壁を回転しながら歩けるシステム」をつかって、
カマキリゲーの続編のプロトタイプを作ろうとしています。




これも、ここまで来るのでもう一苦労。



意外と操作系つくるだけで大変。

大して何も変わってないようにみえるかもしれんけど、
例えば前回の奴では、天井は歩けなかったわけですよ。


こっから
天井を歩くシステムを作ろうとすると、
どの方向キーでどう歩けば良いのか訳が分からないと思いませんか?

方向キーと歩くべき方向

地面では、上下左右に歩ける。
横壁でも、問題なく変化する。

でもそこが、天井になるといつの間にか全てが反転している。


じゃあ反転させればいいじゃん? いやそんな問題でもなかったりする。

単純に踏んでる床毎にスイッチすればいいという問題ではない。
このゲーム、スムーズに各壁ごとにカマキリが角度を変化させながら移動できるのだから。
滑らか角度変化領域

(赤い領域では、カマキリの角度が滑らかに変化しながら、移動するべき方向も変わってくる)


「むしろ時計回り反時計回りの回転だけなら変わらんじゃん?連続してるじゃん?」
とも思うかもしれんけど、そういうわけでもない。

ずっとカマキリに追従して、視点ごと回転していけば、何も変わってないようにみえるかもしれないけど、
やっぱりそこは、それ、
実際に、床にいるときと、天井にいる時とでは、カマキリへの操作命令と方向キーの指示が反転してるのです。
どっかで、反転してるのです。



何いってんだか分からん。 口じゃ説明できん。


・・・
で、まぁその問題もやっと解決して、どこまでもグルグル壁を歩いて回って行けるような操作系を作るだけで
今こんな感じということなのです。


カマキリ市松模様歩き


なんかもう最近、自分のflash、30FPS出ないですね。


chromeで見てるからこんなに重くなったのだろうか?とか思う。
というかchromeで見るとフレームスキップが起きまくってるように見える。

数字は落ちて無くても、結局カクカクである。



試しにIEで見てみたら、一応、このカマキリゲーでも30FPSは出るかもしれん。
でも、まだこれ、敵も弾も何もない状態でこれだからなぁ。



しょーもなさすぎて虚しくなってくる。

paraflaで何か作ろうとするのも、そろそろ限界か?とか思い始める。 
(今更)(おそすぎ)
[ 2017/05/20 14:22 ] Flash作成過程 | TB(0) | CM(0)

アニマルメーカー改良中

 
パソコンの調子がくっそ悪いです。
次に起動出来るのはいつだろうか、みたいな最悪の気分で生きてます。


何もやっていないフリをしながら
最近何をやっとるのかというと、
アニマルメーカーのスキンを追加しまくっています。 (イチイチ貼るのも面倒なので進捗はここで


去年の段階でシステム自体は一応完成してたのですが
「仮のスキン」で間に合わせている動物のプリセットが多いままで放置していました。

今年は特に何も出来なさ気なので、 (どうせゲームも完成しないだろうし)
せめてコイツをちゃんと完成させてやろう、という予定なのです。


新しく追加したサンプル動物のラインナップはこんな感じです。

・ハルキゲニア
・ソルジャーレギオン
・ムートーさん
・プロパゲーター
・ひよこ
・子ガメ
・BIG DOG
・蝶
・シーラカンス
・アリをスズメバチに
 (どうせ同じ膜翅目なら羽根が生えてる方がいいだろう、ということ)


約10種類
(当然だけど、これらの動物は「デフォルト動物」からの改造だけで、誰でも作ることができます)
(ていうか自分もそうやって作っています)

ムートーさん

なんだかんだで追加される新規動物には、ちゃんと意味があります。

他には見られないような特徴的な形状をしている動物、その代名詞のような存在です。

例えば「3本足で歩くモンスター」といえば、
自分はFF8のプロパゲーターしか思い浮かばんワケです。


あと将来のゲーム利用のためにも、
「ひよこ」とか「子ガメ」みたいな
低関節、少ないパーツで表現する動物のやり方とかも考えています。
(1関節の羽根で飛ばすとか)
(カメは足を1関節にしちゃっても歩けるぞ)
ひよこ軍


「一日にモンスターの新スキン1セット作る」くらいのテンポで作っていきたいけど、
どうもそれすら出来てない感じ。


間に合わせで放置してたところに
スキンをちゃんと用意しおわったのがこれら

・ステゴサウルス
・HAW206
・オメガウェポン
・キングギドラ
・第三の巨像


これと、さっきの10種類の新規動物のスキンを作ってる感じです。
第3の巨像

HAW206

で、あとは残ってるのは

・ドラゴン
・ソルジャーレギオン
・ワニ

辺りですね。 これらが終われば多分完成です。 地味に進んでたんですね。


しかしどうなんだろうね。

このクソブログで自分が今まで作ってきたゴミ溜めの中で、
一番マシなモノが、この「アニマルメーカー」だと思ってたりします。


自分が「自画自賛」するものがあるとしたらこれだけです。


骨組みさえ適切にセッティングすれば、その形状をした動物が
「自動的」に、「その動物らしく」歩き出してくれる。
この感じは我ながら凄くおもしろいと思う。

ソルジャーレギオンボーン
↑こうやって設定すれば、
その場でソルジャーレギオンがちゃんと歩いてくれる。


今回の参考のために「ガメラ2」をまた見なおしてみたけど、
実際レギオンの「足元」ってちゃんと映ってないんですよね。

つまりレギオンが「どのように地面を蹴って歩を進めているか」なんていうのは
表現されてないし、想定していない。
何となくワキワキさせて誤魔化していたワケです。

そのような動物であっても、
このアニマルメーカーのシステムなら
ちゃんとした接地感で、その骨組みに即したリアルな歩き方を示してくれるのです。

[ 2015/10/01 16:36 ] Flash作成過程 | TB(1) | CM(4)

魚眼レンズに挑戦中

 
モゲラとメカゴジラの配布動画を、闇の人さんという方が作ってくださいました。
誠に有難いことですね。





ていうかモゲラの配布動画が一日違いで被ってましたね。

やはりモゲラは人気版権・・・。


ところで最近の自分がやろうとしていること。

魚眼パースに対応した3Dモデル人形を作ろうとしています。

結局自分でもモデル人形flashを使って絵を描いたことは一度もないのです。

まず自分は背景に興味が無い。
そしてなにより、N点透視図法とかに興味が無い。

人間の目はあんなふうにできてないのです。 直線は直線を維持しない。
人間の視界は四角じゃない。 丸く歪んでいる筈なのです。

「5点透視図法」とか言って、
十字路を超パースで描いたような絵にすら興味がありません。

自分は魚眼の歪曲した曲線のほうが興味がある。
とにかく魚眼。 話はそこからだ。


ですが、そういう魚眼空間をリアルタイムにガイドしてくれるようなツールもまた、見たことがないのです。
これが結構不思議。

で、自作してみようということになった。


実のところ、もし魚眼版のモデル人形を完成させたところで、
じゃあ魚眼パースの絵をそれを使って描きまくるかというと、結局自分は使わないと思う。
多分フリーハンドで超パースの絵を描き続けるだけだと思う


でも、やっぱり一度思いついてしまったからには作ってみないと気がすまないのだ。


で、とりあえずここまで作ってみました。


swf直接・全画面表示

魚眼にしたときの頂点の座標変換は、なんか出来た。
2個ほど計算をかませるだけで簡単に実現できます。 


なぜリアルタイムに魚眼レンダリングしてくれるようなモノが少ないのかは、
「面」の描画に移ってからわかった気がします。

各頂点の計算だけならいいんだけど、面。つまり大きなポリゴンの歪みとかを描くのは
ラスター系では難しいのが分かります。 全ての辺が曲線なのだから。 

その点フラッシュはベクターなので良いですね。

自分が今やってるやり方は、辺の中間地点の座標を計算して、
その点をカーブのコントロールポイントにしているだけです。

それだけで一応それっぽくなります。

魚眼版モデル人形

次はこの魚眼空間の中に、モデル人形を配置出来るようにします。
アニマルメーカーを改造して移植すれば、ポーズとかに関しても、より付けやすいモノが出来るはず。

あとは、弄ったキャンパス情報を保存・再現出来るようにしないとダメですね。
前回の3Dモデル人形はその点がダメダメでした。

[ 2014/09/02 13:38 ] Flash作成過程 | TB(0) | CM(3)

ほう、大した物だ、機能増幅まで可能なのか。おまけに知恵も付いたようだ

「アニマルメーカー」の改良の報告です。
操作方法とかで変わった部分は、後で詳しくマニュアルの所も書き換えておきます。


◆頭と尻尾増やしました

「どんな動物でも作れる」みたいなことを言っておきながら、
前のバージョンではキングギドラみたいに頭が複数ある化け物とかは作れなかったワケです。

(こんなことでは「ポケモンを全種類作ってやろう」みたいなことを思い立っても)
(いきなりロコンとかドードーとかで詰むわけです)

それではイカンので、
頭と尻尾を9本まで増やせるように改造しました。
こうして、ヤマタノオロチ九尾の狐も作れるようになりました。 

(実際これで、今の段階でほとんどのポケモンの骨組みが表現できる、気がする)
(ある意味一番困るのは、ゴースみたいな「生首が浮いてるだけ」のポケモンだけど)
(それは「頭の構造作ったらスキン描き込むだけの作業になってしまうから面白みがない」という点でも困る)


で、実際に頭を増やすときの操作方法ですが
これは胴体編集メニューで「頭ONOFFボタン」を「+ボタン」にドラッグすることで
増やせるような操作になっとります。


そしてこの追加のために、
頭と尻尾にパラメーターを増やしました。
「開き」というパラメーターによって、複数の頭の開き具合の角度を調整できます。

それプラス、「傾き」パラメーターを頭にも追加しました。
この「傾き」分だけ、「走るときに頭を前後に傾かせる量」を設定できます。

これによって、
「走るときに体は前傾するけど頭は後ろに曲がることで正面をグッと向く動き」みたいなのも表現できるようになりました。


◆あと細々と変わった所

・最初の画面で「頭」をクリックすると
「デフォルト」「その骨組みセット固有のスキンに固定するか」にトグルするようにしました。
つまり、いちいち矢印を長押しして「デフォルト」とかを探しに行かなくて良くなりました。


・胴体に詳細パーツを追加
胴体編集メニューの「詳細へ」をクリックすると詳細メニューへ飛びます。
そこで胴体の「肩」「腰」「腹」「背」という4種6パーツの表示と編集ができます。
これによって、今まで「タダの丸太」だった胴体も、頭部と同等の表現ができるようになりました。


・で、その胴体詳細パーツのデモのための新スキンが「初号機」「サキエル」です。
これくらいなら、詳細パーツの組み込みとスキンの描き込みで表現できるようになる、ということです。
(初号機とかサキエル歩かせるときは「床ドンボタン」をONにしてください!)

ベクター初号機
初号機はこんな感じ。
「手の甲」のパーツを描き込めないのが問題ですね。
このプログラムは、サウスパークの某エピソードみたいなトリック
右手左手を同じ絵で表現しているので、そういうことができないのです。

そういう理由もあって、
自分が過去に作った3DCGモデルを利用してスキンの素材にするのとかは、難しかったりします。
「色んな角度から見てもそれなりに成立するような絵」になってないといけないので、
やはりこれも「キュビズム的な調整」が求められます。 (頭と首と背のスキンとかまさにそんな感じ)
そういうのは、やっぱりベクタ絵で作るのが一番だと思うのです。
(そもそもラスターは重すぎる)
(実際「アマ公2」で半分くらいの容量を占めているのだ)

ベクター咲江さん
サキエルはこんな感じ。
サキエルさんは「頭が増えるキャラ」としても象徴的ですね。

右の頭だけ「くちばし」が無くなっています。

こういう「一時的な左右非対称の表示」をやりたいときは、
まず左の首を切断してから、右の頭を編集して鼻を無くし、
落ちてる首をくっつけると良いです。 なんじゃそりゃ


◆更に地味に変わったこと

・REXの背中の部分&股間レーザー、
・ミクさんの襟&ネクタイ、
・サメちゃんの背びれ、
・ホネ人間の骨盤
・・・
辺りの表現が、詳細パーツの使用によってマシになりました。

カニの目玉とか、
カブトムシの羽根とか、
アマ公の胴体横の模様とか、
ステゴサウルスの背びれとか、
オメガウェポンの下の人の顔とか、そういうのも
そのパーツらしさに適した表現法を選べるようになったので、この辺もいつか直しときます。


あと、
・ビビ人形
・エイリアンクイーン
・第三の巨像
・ミュウツー
・キングギドラ

とかの「骨組みセット」が新たに増えました。
この辺のキャラも、いつかちゃんとしたスキンを用意します。


何でもかんでも好き勝手に追加しているわけではないつもりです。
(プリセットはあくまでプリセットなので)
あらゆるキャラを作るための足がかりとして、バリエーションとか考えた上での、追加です。

「ビビちゃん」は二頭身キャラとして。

「エイリアンクイーン」は、「3対の足」だけど前足と中足が「同じ腕」になっているパターンとして。
(これは前に言ったカニとかレギオンとかサソリとかの法則を無視している生物ですね)

「ミュウツー」は、ポケモンをいつか揃えてやるぞという意気込みとして。
(もしホントに集めるなら、アニマルメーカーとは別でやりますが)

「キングギドラ」は、まさに今回の「頭と尻尾が複数ある例」として。

「第三の巨像」は、完全に趣味です。

(いつか手作りワンダとか手作りICOとか作りたい・・・いつか・・・いつか・・・)


そんな感じの報告でした。


最後にセーブデータの互換の問題の話。
そもそもswfの名前が変わると、読み込むこと自体が出来ません。
だから前の1.00のswfは、一応リンクとして残しておくようにします。

今回、配列の使い方を変えてしまったのでセーブデータに互換はありません。
例え読み込んだとしても、どうやっても頭と尻尾は未定義の変数を使おうとしてぶっ壊れます。

でも、これからはもうこういうことは無いとは思います。
これから先、「頭と尻尾が複数生やせるようにする事」以上に
データの構造を変える必要があることは無いと思うし、
そういうことはしないようにするからです。

そしてこれからはスキン追加程度のことなら
ブログ上には同じファイル名で上書きアップロードします。


というわけで安心して1.02を使ってくだされ、ということでした。


今後の改良予定は、またあとで。
(ビビちゃんのスキンはドット絵素材を試してみたい)

[ 2014/01/24 17:12 ] Flash作成過程 | TB(0) | CM(0)

鳥の血に悲しめど 鳥の将に死なんとする 鳥啼き、魚の目は泪

パソコンの修理がどうやらうまくいきそうです。

保証なしでメーカーに修理なんか頼んだら
相当ぼったくられるだろうなと覚悟していたのですが、
意外なほど良心的な見積もりで安心しました。
(ちなみに電源ではなくて、メイン基板の交換の模様)

でも、治ったPCが戻ってくるのにはまだ一週間以上かかるらしいです。


今年の間に、せめてこの「動物歩かせシステム」を完成させたかったのですが
こうなってくると、それはもう無理のようです。 (RAYのベクタ絵が戻ってこないのが一番の問題)

というわけで、
もう一気に完成させるのは諦めて、進捗の報告をするのです。


「魚」と「鳥」を作れるようになりました。

それも、体をとりあえず作るだけじゃなくて、実際に泳いだり、空を飛んだり出来ます。

しかも、今までの「足とはなんぞや」という概念を大きく変えることなく、
統一的な枠組みとして「魚のヒレ」「鳥の羽根」を用意できるようになったのが大きいです。





◆操作方法
方向キーで歩く
シフトキーで平行移動  スペースキーで走る
Zキーで注視モード  Xキーで高いところから落とす  Vキーで横からどついてみる 
Cキーで地面にめり込ます
新機能: 魚のヒレや鳥の羽を持っているキャラは、Cキーで特殊羽ばたきをします

ドラッグで全身を引きずったり 足をクリックして編集したり四肢切断したり Dキーでキャラの複製 
Bキーで自爆


全画面表示


やったこと

◆鳥の羽ばたき

「鳥の羽根」を作ることが出来るようになりました。
つまりこれからは、羽根を持ってる生物も設計し、歩かせ、飛ばすことが出来るようになるのです。


通常の生き物はCキーを押すと足を縮めて、そのあと、その反動としてジャンプするのですが、
羽根を持っている生物の場合は、通常の時に足を縮めて、Cキーを押すと羽根を伸ばすようにしました。
で、その状態で方向キーを押すと羽ばたきます。
(スペースキーを押すことで、より一生懸命羽ばたきます)

この動き自体は、今まで作ってきた足の動きの応用でなんとかなりました。
問題はそのあとの、「羽ばたくと実際に空を飛ぶ」ということ。

まぁ現実とプログラムは別物ですから、ある程度は都合よく仕込んでいるに過ぎないのですが、
そこの部分でどれだけリアルな挙動をさせられるかがキモなわけです。


とりあえず、羽根の先端の頂点の移動の差分を取り、
それが下がった時は本体に上方の加速、それが上がった時は本体に下方の加速をさせるようにしました。
これ自体は、今までの「足」を「地面に接地していない時にも本体のY軸加速度を制御する」ように
改造することで出来ます。

でもこれだけでは、上下にガクガク動くだけで空に上がることが出来ません。

そこで更に
羽根を伸ばした時と羽根をすぼめた時で「空気抵抗」が変わるようにしました。
これで都合よく、下にバサッと羽根を振り下ろした時により強く上方に加速するわけです。
(つまり現実の有り様と同じですね)

すると、このニワトリは空を飛べるようになったのです。

ニワトリ

やったのはこれくらいです。
どれだけシンプルに、現実的な法則に従って、リアルな挙動を統一的に表現することが出来るか。 
それが一番大事だと思っているのです。


で、今のところはこのヘコヘコしたニワトリもどき?が一匹いるだけなのですが、
結構自分はコイツの動きが好きです。

・Cキー+方向キーだけでは力が足りなくて、地上をバタバタするだけな感じ
 (ちょうど風切羽を切られた鳥が、地上を駆けながら羽ばたこうとするように)

・Cキー+スペースキーで、自分の後ろ側に方向キーを倒すと、角度的に妙にいい感じに上空に上がれる感じ。
 (前方に加速する分の加速度が、後ろを向くことで上方の加速度としてゲインし、結果浮かび上がりやすくなる)

・一度空に上がると、その後はスペースキーを押さなくても、Cキー+方向キーだけでふわふわ飛べる感じ。

・そのあと方向キーを離すと、羽ばたくのをやめてふわ~とグラインドする感じ。 (超気持ちいい)


・・・
これら全て、いい感じの「有り様」に近づけたと思っています。
すごく癖のある操作性だけど、こんな風に鳥を操作して飛ばせるゲームってあっただろうか?
こういうのが、本当に「自力で空を飛ぶということ」だと思います。


事前に決め打ちしたモーションアニメを再生して、空中を滑るように移動するような通常のゲームでは
味わえない生々しさがあれば良いのです。


◆魚のヒレ

まさか出来るとは思っていなかった「鳥」が出来てしまったので、
次は「魚」もやってしまうことにしました。

「魚のヒレ」も同様に、あくまで「今までの足の延長」として実現させるのです。


魚の場合、鳥とも条件が違うのは水中にいるということですね。
(もちろんプログラムなので、「水がある」ということにして挙動を変えるしかないのですが)
これは、魚本体の重力パラメーターを低くするだけでどうにかしてます。


「鳥の羽根」と「魚のヒレ」の動きを見比べた場合、何が同じで何が根本的に異なるのか。
これについて考えた結果、
サカナのヒレには、「縮み」と「上下の振り」が無いということなりました。

これは動物歩かせシステムのパラメーターとしては、「上下」で管理している部分です。
ここの数値を弄るだけで、鳥の羽根と魚のヒレを選択的に編集できるような仕組みを考えました。

はい考えた。 で、とにもかくにも出来ましたとさ。

サメちゃん

魚の場合は、ちょっと泳いだり、放っておいても無条件で浮き上がったりするようになっています。
(これは魚自身の「重力」と、それぞれのヒレの「立地」の関係の問題だけど)
で、Cキーを押すと、その浮かび上がる力が弱まって、沈みます。


サメちゃんのヒレを次々に切断しても、泳ぐ力を失ってどんどん沈んでいきます。
ヒレを減らしたサメを地面に接地させた状態で泳がせようとすると、
今まで同様に、ちゃんと地面を蹴って歩くことも出来るのが確認できます。
↓ちょうど、最近インドネシアで発見された「歩くサメ」のように





魚独特の体をひねる感じが出来るかどうか不安でしたが、
やってみたら今までの「尻尾」「頭」「胴」が持っている「横振り」パラメーターを弄るだけで実現出来ましたね。

あとはもう、サメちゃんのスキンが出来たから満足なのです。

サメのヒレは「1関節」で成り立っていますが、
「ヒレが2関節の魚」の代表として、シーラカンスも用意したいですね。


◆リアルタイム編集

それ以外に大きなところとしては、
・頭をクリックした時に、目耳鼻口のオンオフを編集できるようにしたこと
・胴体をクリックした時に、各手足・尻尾・頭の数や接続のしかたを編集できるようにしたこと

ですね。

手足や尻尾を、胴体に接続するか頭に接続するかをリアルタイムに弄れるようになりました。
(手足をドラッグして胴体にドロップすると、ブチュッと入れ替わります)
(このUIはどうなんだろう)

(これでミクさんの頭についてるツインテみたいのを他の動物でも増やせます)
(カマキリの前足は、胸の第一関節を伸ばして首にして、頭に接続するようにしました
 これでカマキリのZ注視したときの動きが、また一層よくなりました)


今までは
爬虫類、哺乳類、両生類、昆虫その他節足動物は出来ました。
今回、魚類鳥類の特殊な「足」と、その挙動も表現出来るようになりました。
そしてそれらを組み合わせることで、ありとあらゆる空想上のキメラも・・・
つまりこれで、
「デフォルト10足」の動物から始めれば
ありとあらゆる動物が作れるようになったワケです。 (多分)(予定)


といいつつ、やっぱりヘビとタコだけは出来ないかもしれません。
(芋虫は出来てるんだけどね)

透明な足とかを使えばヘビは出来るかもしれないし、
ベクタ絵自体をうねうねアニメーションさせれば、タコも行けるかもしれない。

でも、このプロジェクトは
実際に足が地面を物理的に蹴って、リアルタイムに歩く動物を表現するのが目的なので、
そういう反則的なことをして動物を作っても仕方ないかもしれない。


まぁそんな感じの進捗報告でしたとさ。

あと旅人さんのスキンとかも何故か増えてます。

コイツを一匹追加して、オート走りボタンを押して、カメラを「中」にすると
なんか、何かがそれっぽいです。

旅ビトさん

[ 2013/12/20 17:10 ] Flash作成過程 | TB(0) | CM(4)

REX vs RAY

動物歩かせシステムが自分的にかなり進んだのでその話です。

REX vs RAY

いい加減に、次くらいには完成させたいところ。
UIと、プリセットの動物を充実させたら、終わるはず。

「頭に足が生えてる動物」を一種類、プリセットに追加しておきたいんだけど)
(そういう生き物の代表格ってなんだろう?)
(シテヤンヨくらいしか思いつかない)




◆操作方法
方向キーで歩く
Zキーで注視モード
シフトキーで平行移動  スペースキーで走る
Xキーで高いところから落とす  Cキーで地面にめり込ます  Vキーで横からどついてみる 
ドラッグで全身を引きずったり 足をクリックして編集したり四肢切断したり Dキーでキャラの複製 
Bキーで自爆

Nで時間停止 Mでコマ送り

全画面表示


動物達の歩きとかも、ちらほらマシになって来ています。

今回はガションガションと振動を立ててキャラが歩くので五月蝿いです。
衝撃波っぽいアイコンをクリックすると静かになります。


◆いろんなバグフィックスの話

これくらいのプログラムを作っていても
ちょっとしたバグとかを直せずにずーっと引きずってしまったりします。


今までずーっと直せずに放置していたバグの中で最大のモノは
キャラクターをしばらく歩かせてからしばらく放置していると、足をグキって捻れてしまうモノ。

捻挫 捻挫

何故こんなバグが発生するのか。 マジで原因を突き止められなかった。
キャラの向きと、キャラが持っている加速ベクトルとの差、
そこから求まる角度が、キャラの移動が限りなく0に近づく時、Math.atanが誤作動を起こし、
変な角度が出て、結果足が捻れてしまうのではないか、
みたいなことを考えてたけど、どうもそうではない。

しかもこのバグが稀にしか起きないので、色々traceしまくってても
どこでおかしくなってるのかホントに突き止められない。
キャラの歩きが命のプロジェクトだというのに、こんな所でバグってどうするのだ。

・・・てな感じでしたが、このたびやっと直せました。
歩いてるキャラがいきなり捻挫を起こすゲームなんてありえないので
ホントにこのバグがネックになっていたのです。


他にも、
最初に発生したキャラ(つまり主人公)の首をはねたときだけ
首の位置がundefinedになって表示がおかしくなるバグとかも、かなり長い間放置されてました。
これは最初に作られたキャラにテキトーに重力を設定しているから
首が自由に落下するようになった瞬間におかしくなるワケです。 こんなのはまだカワイイバグ。


あと、
「頭に尻尾とか足が生えているキャラ」の
尻尾をはねてから→首をはねてから→尻尾をくっつけてから→首をくっつける
みたいな、ワケの分からないツギハギ行為をしても挙動がおかしくならないようにするのとか。


◆REXはじめました

まぁとにかく、外見的には大して変化がないように見えても
かなりどうでもいいところで詰まってたり改善したりしているのです。

とにかく、足が捻挫するバグは本当に頭が痛い問題だったので、
今回はそれが治っただけで更新するくらい嬉しいのです。


でもそれだけだと流石に地味すぎるので
REXとRAYのスキンを入れてみたりしました。
(REXが爪を地面に突き立てる感じは偶然にもかなりいい感じに出来たと思う)

REXを選択して、スタートして、
RAYを選択して、星ボタンをクリックして、
カメラを「中」にして、
Zボタンを押して、左右にガションガションと平行移動すると、なんかそれっぽく戦えます。



・・・とか何とかやってる間に、UIもかなり弄り始めました。
自分が実のところ何をしたいのかが見えてきたのではなかろうか。

調子乗って色々いじり過ぎたかもしれない。

全画面表示
↑ちょっと前のバージョンの方がむしろ見やすい。
カメラが追従しないほうが、揺れとかが自然に感じるのは何故だろう。


ちなみに↓コレが、本物のREXとRAYの走りとか動きね。



どうなんだろうね。
(振動表現は控えめに感じる。 自分が振動させすぎなのか)


少なくとも、こういうのを作ってると、
「ロボが空飛ぶゲーム」はまだ楽なんだなってのが分かるようになりました(偉そうに)
ACとか、ZOEとか、ジェット噴射で空中加速してばっかりである。

やはりロボを動かすのなら、接地感に命かけなきゃダメだと思う。


REX vs RAY

[ 2013/11/28 11:04 ] Flash作成過程 | TB(1) | CM(0)

見返りレギオン

いつになったら完成するんだ、という感じの動物歩かせシステムですが
とりあえずレギオンのスキンが出来ました。
それだけで嬉しすぎるので報告です。

レギオン
はぁ、レギオン超かっこいい・・・




◆操作方法
方向キーで歩く
Zキーで注視モード
シフトキーで平行移動  スペースキーで走る
Xキーで高いところから落とす  Cキーで地面にめり込ます  Vキーで横からどついてみる 
胴体をドラッグで全身を引きずる  足をクリックで四肢切断 Dキーでキャラの複製 
Bキーで自爆

新機能: Nで時間停止 Mでコマ送り


全画面表示


やったこと

◆レギオンのスキン

兎にも角にもレギオンです。

今までずーっとボーンだけは用意していましたが
本気で取り組んでいませんでした。
今回、バランスも直しつつ、ようやくここまで持ってきました。

レギオンは足が16本も生えています。
今までは「蜘蛛」の4対・8本足が最大だったので、その2倍です。 人間の4倍重いです。


何度も言いますが
この「動物歩かせシステム」は、モーションをリアルタイムで精製しています。
姿勢をリアルタイムで計算して、接地した足が地面を実際に蹴って、そのあとキャラが蹴った量に応じて歩くのです。
はじめに操作性があって、キャラの座標を移動させて、そのあとに歩行アニメを再生する通常のゲームとは真逆です。

それ故に、処理の重さは「キャラに生えている足の数」に比例します。
今回、レギオンの干渉波クロ―を全て「足の一種」として追加したので、糞重いことになっています。

でも、そんな糞重いことをしているからこそ
内部に何のモーションデータも用意していないのに、キャラが歩くのです。

単に「歩くだけのアニメ」が出来るだけではなく、
「歩き始め」「歩き終わり」「旋回」「平行移動」「バック」「注視移動」「落下時のクッション」「ジャンプ」×「走り」・・・
などなどの各種モーションにもリアルタイムで対応できますし、
それらのモーション間に「繋ぎ」というモノが無いのです。
(そしてこれらの派生モーションを、
 いちいち特殊なボーン構成をしているモンスターに合わせて作りなおす必要も無い)

だからこそ、そこらのゲームより、よっぽど生々しさのある動きが実現できると思っているのです。


◆頭に足を生やすこと

レギオンを実現させるにあたって
「頭に足を生やす」ことも出来るようになりました。

レギオンの頭部からに生えている干渉波クロ―は、
レギオンの胴体ではなく、頭部の回転に応じて位置を変化させます。


こういうことが出来るようになったことで、
また作れるキャラの可能性が増えるわけです。

例えば頭にしっぽを生やすなんてことも出来ます。

これを利用すれば、頭にツインテが生えたキャラとかも作れるわけですね。
(こうなってくるとまた、ミクさんのゲームとかが作りたくなってくるわけです)
ミクさんの首が撥ねられるゲームとか、どうなのでしょう)


◆時間停止

あと、地味に重要な新機能がこれです。
時間を止めたり、コマ送りしたり出来るようになりました。

こういうのは、将来、メニュー画面を開いた時とかに必要になってくる機能ですね。


今、「<キー」を押したときに擬似的にスローになる機能とかも作ってみましたが、
これは単にカクカクになっているだけですね。

上手くやれば、DMCの「時の腕輪」みたいに時間を止めたり、
DMC3の「クイックシルバー」、ベヨの「ウィッチタイム」みたいに
時間をゆっくりにしたりとかの応用にも使えるかもしれません。


というわけで残りはレギオンギャラリーです。

レギオン

レギオン レギオン
正面から見たときは難があります。
当然壁をよじよじもできます。

レギオン
でかい。

レギオン
レギオン レギオン
やっぱりレギオンは後ろからみた所がかっこいいと思う。
そんでもって、ちょっと頭部がこっちを振り返っているようなのが、良い。
見返り美人。


それにしても、このベクタ絵の表示方法にも限界を感じますね。
足の部分とかは正直気にならないけど、頭部が問題です。


自分が今やっているこのベクタ絵のツギハギ表示法は、こんな感じで実現してるんだけど、
このやり方は、さらに進歩出来るかもしれない。

とにかく、3次元上の3点の位置が分かれば、裏表は決められる。
だから、モーションデータの中に「ねじれ成分」が含まれていなくても、無理やりこういうことが出来るんだ。

カマキリ腕
↑今はこんな風にして角度を求めて、この角度が正なら表、負なら裏、みたいにしている。
そしてそれは、ベクタ絵素材をひっくり返すだけで実現している。


でも、これでは「180度の2分割」しか出来ない。
これを更に「90度の4分割」にするにはどうすればいいか?

(もう一つ「法線ベクトルを求めるための頂点」を用意すればいいかもしれないが、それは面倒だ)
(なんとかして、今ある3点だけで4分割をしたい)

カマキリ腕
↑ここの2点のZ値(カメラへの距離)を比較して、
A点がB点より大きければ表、小さければ裏、みたいにすれば、
上の方法との組み合わせで、4分割の軸判定が出来るのではないか、ということを思いついた。

(正確にはBC点の平均のZ値だ)
(いやでもそれだと二等辺三角形じゃないと通用しない) (ああ面倒くさい)


問題は、もう一枚「裏からみたベクタ絵」を描かなきゃならないということですね。
(2枚の画像の組み合わせでキャラグラを表現するのって、なんかサガフロ2のデュエルを思い出す)


でもレギオンのベクタ絵をもう一種類ずつ作るというのは大変そうだ。
これはどうなんだろうな。 
「一枚絵の組み合わせだけであらゆる動物を表現する」ってのが好きだったんだけど。

[ 2013/09/07 17:06 ] Flash作成過程 | TB(0) | CM(0)

よじよじカマキリ

とにかく最近はこの「動物歩かせシステム」しかやっていないので
これの報告しかすることがないのである。


ある程度動物のスキンが出来てきました。
恐竜、カマキリ、アマ公
これで棒人間状態から脱却です。



◆操作方法
方向キーで歩く
Zキーで注視モード
シフトキーで平行移動  スペースキーで走る
Xキーで高いところから落とす  Cキーで地面にめり込ます  Vキーで横からどついてみる 
胴体をドラッグで全身を引きずる  足をクリックで四肢切断
Dキーでキャラの複製 
Nキーで自爆



やったこと

◆動物の見た目の選択
 例え、やっつけ出来のベクタ絵の組み合わせであっても、
 棒人間状態とは全然感じが違います。

 また、こういうスキンをつけた上での微調整をすることで、
 それまででは分からんかったような修正が出来るようになります。

 なんだかんだで、カマキリも、アマ公も、ラプトルも、
 前回の時とは棒人間の形状自体もかなり変わってきています。
 まるで「実際に動物として動くための最適化」が起きているかのようです。


 で、見た目を選んで変えることが出来るようになったので、
 「カマキリ型犬」とか、「カマキリ型恐竜」とか、「犬型人間」とか、
 ワケの分からないクリーチャーも生み出せるようになって来ました。

 なんかこういうイミフさは、このブログの最初期の頃を思い出させます。
 あの頃も自分は「モデル人形」とかで意味のわからん化け物ばっかり作っていました。(ほぼ黒歴史)

 でも、今の自分は、あの頃よりは、目的意識の持てるモノを作っている確信に満ちているのです。(これで)
 とにかく、この「歩かせシステム」を完成させれば、
 自分が将来、マジにゲームを作るための便利ライブラリになるのは分かっているのです。


◆壁よじよじシステム

 キャラクターを壁の付近に歩かせると、
 壁にそってよじよじ動くようにしました。

 これ自体は、前回、「自力以外(つまり環境など)による全身回転」を制御できるようにしたので、
 それでできることです。
 でも、実はあれにはバグが有ったのです。

 どうやって二重三重の回転をした上で、リアルタイムにIKで足を曲げさせるのか。
 これを実現するために、実はこれまでは擬似的な解決法を取っていました。
 だから、180度ひっくり返した時とかに、足の向きが完全にひっくり返ってる瞬間があったのです。
 
 そもそもどうやってIKを実現するかですが、
 自分は足の各パーツ毎の長さを決めておいて、それよりも縮んだ時、
 「あるべき方向」に「膝」や「かかと」の頂点を「ピタゴラス的に求めた長さ分」、伸ばすようにしています。
 その「あるべき方向」を求めるやり方に、バグがあったワケです。

 決まった姿勢のモーションを全身回転させているわけではありません。
 リアルタイムに「全身回転した足がどう言う風に接地し縮むか」を計算しなければならないのです。

 で、とにかく面倒くさいですが、そのバグを直せたので、
 これからはどんなに回転させても、足の縮める方向を間違えることはありません。
 勢いのある回転でごまかす必要もないのです。


 だから、「壁歩き」をさせてみようと思ったのです。
 カマキリを選択して、壁の辺りを歩かせて見て欲しいです。
 よじよじしていて、死ぬほどカワイイです。

 その上で、方向キーをぐるっと一回転させてみてください。
 まるで側転するみたいにして、転がり、接地しながら移動します。
 これだけでもう、自分は満足です。


壁よじよじカマキリ
最終的にベヨネッタの「ウィッチウォーク」みたいなのが出来るようになるとよいですね。


◆2キャラ目の動き・首の動き
 「ラプトル」とかでいいので、Dキーか☆ボタンを押して、キャラを増やしてみてください。
 2キャラ目以降は、ランダムで自動的に歩かせてみるようにしてみました。

 この際の「主人公を狙っている動き」が、結構いい感じになって来てると思います。
 (ほんの少しでも「画面の向こうに生き物がいるかのような幻想」が伝わればいいのだ)


 これは何をやったのかというと
 全身で注視すべき方向を向くのと同時に、首の動きも更に個別に動かすようにしただけです。

 この時、首の曲がり具合を「ある程度以上は曲がらない」ようにするようにしました。
 これで、バイオとか静岡であるような「首だけ動かしてある場所を注目する動作」も出来るようになるはず。
 

まぁそんな感じで、スキンを揃えまくれば、いい加減そろそろ完成するはず。


実際に絵を追加してみて、動きにまだまだ問題があると思ったのは「犬ダッシュ」ですね。

でもアマ公の「見た目」自体は、これで問題ないと思っているのです。

アマ公補正なし
↑今はこんなでも、自分には、前に作った「大神風フィルタ」があるのだ。

↓最終的にこのフィルタをかけてやれば、これくらいにはなります。
アマ公フィルタ
結構「大神っぽい」のでなかろうか?
かなり誤魔化せてる気がします。

これで、動きさえもうちょっと犬っぽくできれば、アマ公が走るだけのミニゲームとかも作れる、はず。

(擬似2Dの横スクアクションにしてもいい)
(坂とかでも姿勢がいい感じに斜めに出来るのは証明済み)


というか自分的には
こうやって自分の作ったベクタ絵の組み合わせで動物が表現出来ているだけで
もう殆ど満足なんだけど、これは人によってはどのように感じるモノなのだろう。


「ショボっ!」の一言で片付けられるようなレベルだったりするのだろうか。


本当にツギハギのようなベクタ絵の複合物なので、
間接と間接の繋ぎの不自然さを無くすのと、
何よりもZソートが問題になってくる。 
何とかしたいけど、このへんが自分の限界かもしれない。


ベクタ絵カマキリ
ベクタ絵アマ公
ベクタ絵ラプトル

自分としては本当に、
全画面表示にして、拡大して、眺めてるだけでいいんだ。


[ 2013/08/01 17:25 ] Flash作成過程 | TB(0) | CM(3)

生まれたての子鹿みたいにしてやろうか

そこそこ進んだので
「動物歩かせプロジェクト」の途中経過です。


◆操作方法
方向キーで歩く
Zキーで注視モード (新機能)
シフトキーで平行移動
スペースキーで走る
Xキーで高いところから落とす  Cキーで地面にめり込ます  Vキーで横からどついてみる 
胴体をドラッグで全身を引きずる
足をクリックで四肢切断
Dキーでキャラの複製 (新機能 バグ多し)



まだまだですが、それでも見どころは多いつもりです。
とりあえずは動物を見せられるようになりましたが、エディタ的な部分は一切出来ていません。
それ以前にまだまだ挙動を頑張らないといけないのです。

これを見てから前回のを見返すと、全然ダメダメな動きに見えるようになりますね。
このサイクルを繰り返さないとイカンのです。

全画面とか


◆やったこと

・動物を選択できるようになった
 まだまだ出来の悪い奴も多いけど、
 とにかく、いろんな動物を実際に作って、どんどん追加していけることの証明です。

 「ある一つの動物のために特別な処理や特定のモーションを用意したりすることなく、
 パラメーターをちょいと弄るだけで、あらゆる動物に対応できる」、そんなモノを目指しているのです。

・キャラの全身を、移動方向と速度に応じて傾けることが出来るようになった
 キャラクターが、今進んでいる方向に向けて全身を傾けることが出来るようになりました。
 といっても、そんなに単純な回転ではありません。
 自分の正面にだけ倒れていればいいワケではないからです。 (横や後ろにのけぞることもある)
 だから、全身のY軸回転とは更に別の、X軸Y軸Z軸回転を「足以外にも」用意しないといけないのです。

 そしてこの倒れ方は動物によって性質が違います。
 例えば「ステゴサウルス」を選択すれば、
 歩こうとする方向に「逆に上方を向くようにしながら加速する」のが確認できます。

 この、「正面以外にもキャラが加速に応じて倒れる」というのは、それだけで
 生々しさがグンと上がります。 今回一番生々しさを上げたのはこの点だと思います。
 (「人間」を振り向かせた時の肩の「ひねり」のような動きは、ほぼここから生まれています)

 キャラクターを歩かせることに関して、
 このことをリアルタイムにキチンと表現できているゲームは、実は少ないと思います。
 (少なくとも、一昔前のゲームでは) (殆どのゲームが「キャラが前のめりになるモーション」を流すだけ)

 表現できている古い例としては、「MGS1」のスネークなんかでは、
 キャラを走らせながら旋回させようとすると「ちょっとだけ横方向にZ軸回転が入る」のが確認できます。

 とにかくこの「全身回転要素」により、最終的にキャラが転ぶようになったり
 投げ飛ばしたり、側転したり、そういう方向での応用が出来るようになるのです。



◆あとはホントに細かいこと

・足の付根を振れるようになった
 腰振り要素です。 これもちょっとだけ生々しさが上がります。
 これを応用すれば、かなり激しく肩を動かしながら移動する動物にも対応出来ます。(ロボット的な動きにも)

・旋回の大幅強化
 キャラを旋回させた時の足の動き、足が次に向くべき方向の計算、
 そして自動的に歩を進める、そんな動きを実現できるようになりました。

 「もののけ姫」タタリ神が方向転換をするときに、
 カチャカチャと足を「再接地」させてから旋回していたと思います。 要は、あれを目指しているのです。 
 「アリ」がそれに近い動きをさせられます。
 改めて前回のを見れば、テキトーにY軸回転してるだけなのが分かりますね。

・接地感強化
 旋回と合わせて、頑張らんとイカンのが、これ。
 「人間」を選択してスペースキーで走りながら180度踵を返すときの動きが結構気に入っています。

・二足歩行以外にも対応
 1本足だろうが8本足だろうが何本足でも来やがれです。

・足を根本中心に回転させるパラメーター、X軸回転・Y軸回転・Z軸回転が出来るようになった
 人間とか直立二足歩行してる恐竜は、足が真下にしか付いてないけど、
 これにより、変な方向、あらゆる向きに足を生やすことが出来るようになりました。
 この回転がかかった上で足をY軸回転させ、
 それプラス、本体のY軸回転とその本体の「進ませたい方向」に応じて「足を振る向き」を変え、
 更に、本体の加速度によって「傾き」も発生させなきゃならない。
 頭がパーンしそうになりました。

 
・パラメーターを吟味しつつ、色々追加
 地面を蹴る能力差 足の伸び縮み度 足の回転の位相差 やら何やらカニやら。

・足を振るスピードも弄れるようになった 
 (最終的に可変fps、時間停止や、時間をゆっくりにしたりしても対応できたら嬉しい)

・キャラの旋回スピードも考える

・新機能 「Zキーでの注視モード」
 画面の中央をロックオンしたような動きをします。

 ラプトル、カマキリなど、「獲物を狙うような動物」にこれをさせて
 左右に歩かせるだけでカッコよく見えるようになれば、最高だと思うのです。


そんな感じです。

人間、ラプトル、ステゴサウルス、カエル、アリあたりは
結構マシな動きをするようになったと思うので見て欲しいです。

(特に、カエルが向きを変えるところは妙に可愛いと思う)



他のはみんな難しいヤツラです。
出来が悪かったりしますが、やはりこの先の進歩のためには、簡単には動きを表せない動物こそ重要なのです。


それから、「キャラの旋回」に関する話をちゃんとします。

今回はキャラの旋回に結構力を入れました。


ゲームにおいてキャラを旋回させるときには、
テキトーに「歩きモーション」を再生させながらY軸回転するだけでもそれなりに見えたりしますが、
(例えば、昔の「バイオハザード」のラジコン回転みたいに)
自分が作りたいのは「実際にキャラの足の動きによって移動が発生するゲーム」なので、
そんなテキトーなことをしてると変な動きになります。

だから旋回するときは
それぞれの足が、「次に自分はどの方向に歩を進めるべきか」をキチンと考えないといけません。

アホ旋回
例えばこんなふうに、
「それぞれの足の位置」「体の中心」「やろうとする旋回量」から、
「それぞれの足の傾けるべき量」が導けるような気がします。


この理屈で考えると、
人間がその場で180度ターンをしようとするときに
「なぜ、無意識に片足を後ろに一歩下げ、片足を一歩前に進めようとするのか」
が理解できるように
なると思います。

↑ ↓

この合成が、旋回である。
戦車道。

アホ旋回
この考えをもう少し進めると、
「次のあるべき姿勢に向かって足は動いているのだ」ということが分かってきます。
旋回量と移動量を加え、「次のフレームでどの位置に足があるのか」を求めれば、
180度ターンだろうが、移動だろうが、平行移動だろうが、注視移動だろうが、次の足の角度が出せるのです。


当たり前と言えば当たり前だけど、
とにかくこういう、「一つの考え方で全てが統一的に表現できるような法則」に気づいていき、
最終的に一番シンプルでエレガントな結論に辿り着いて、それを採用していく感覚が楽しいのです。


といっても、
まだまだ全てがうまくいっているワケではありません。


今回、一番酷い動きをしやがるのが
「這いずる手首」です。

このキャラ、まっすぐ這っているだけならいいのですが
大きく旋回させようとすると、とんでも無い方向に吹っ飛んでいきます。


でも考えてみると、これは別にバグっているわけではないのです。
アホ旋回

今、この上を向いている手首を、左を向くように旋回させるとします。(緑色の矢印の回転)

そのとき、「各指が指を曲げて地面に力をかけるべきベクトル」
細い赤色の矢印で図示したとおりになります。

今のところ、これ自体は全く間違っていないことが分かるのですが、
これら全ての指のベクトルを合成すると、右上の太い赤色の矢印の移動をしてしまうのです。



実際に「這いずる手首」を選択して、
画面のように上を向かせて、矢印キーの左を押すと、
このような動きをすることがわかると思います。


何も間違っていないのに、
実際には違和感全開の挙動を起こしてしまう。


では何が悪いのか。

指が片側にしかついていないから、回転のベクトルが一方的な移動ベクトルに合成されてしまう。

それも正しい。

手首の位置に、「移動しない大きな接地点」を用意すべきなのかもしれない。

それも正しいだろう。


でも、本当に考えるべきことは
もしも実際に、「ゲゲゲの鬼太郎」のように、
こんなふうに手首だけで動くような生き物がいたら、
「そんな生き物は、旋回なんて本来殆ど出来ない」
ということではないでしょうか。


本気でそういう構造の生き物がいることを想像すれば、
ソイツが進める方向は、指を曲げられるまっすぐ正面だけだと分かります。
横方向には力を入れても全然進めないことが想像できると思います。

実際このことは、「芋虫」を選択して
シフトキーを押して左右に平行移動させようとしてみると分かります。
芋虫は、横に平行移動できないのです。(結論)


架空の生き物であっても、全力で挙動を考えようとするのがあるべき精神的姿勢だと思うのです。

何の話だ。
未解決。


まぁそんな感じ。
エラソーなこと言ってるけど、まだまだ全然、ということです。

アホレギオン

あと、今のところレギオンが全然レギオンに見えないかもしれませんが、
伸ばすべき部位の構造を考えると、こういうボーン構成で正しいと思うのですよ。 
(つまり自分には、↑こういうビジョンが見えている)

頭に干渉波クローは付けてないけど、
こういう頭についてるだけで移動と関係ないモノは
「しっぽオブジェクト」とか、そういう形で用意すべきかなぁとも思っています。

[ 2013/05/28 20:16 ] Flash作成過程 | TB(0) | CM(2)

内から湧き上がるモーション&エモーション

自分でも話題がコロコロ変わりすぎだと思うけど、
結局、最近の自分が一番全力で取り組んでいることは、
「動物の足の動きを本気で表現すること」 についてなのです。



◆操作方法
方向キーで歩く
シフトキーで平行移動
スペースキーで走る
Xキーで高いところから落とす  Cキーで地面にめり込ます  Vキーで横からどついてみる 
胴体をドラッグで全身を引きずる
足をクリックで四肢切断



今、こんな感じです。
ラプトル的な恐竜を歩かせられるようになりました。
全画面とか


こんな感じで、

足のあらゆるモーションを全て内部でリアルタイムに計算できるようにし、

さらにそのような「足・システム」を完全にモジュール化し、

どんな足の数の動物にも対応できるようにし、

ありとあらゆる動物の動きを、「パラメーターの設定だけ」で表現できるようにして、


最終的に、敵モンスターの足をちぎったりくっつけたり出来るゲームを作れたら、最高だと思うのです。


「部位破壊」が出来るゲームといったって、尻尾とかツノとか、
根本の動きに関係ないパーツが削除されるだけのゲームばっかりである。

そこんところをもっと突っ込んで、「足を傷つければちゃんと敵がビッコを引くようになるゲーム」を作りたいのです。

勿論、「敵がある程度ダメージを負えばビッコを引くゲーム」なんて、既にあることはあるだろうけど、そうではない。 
(例えばダクソのシフなど) 
(・・・に限らずあらゆる残虐ゲームにおいて)


「ビッコモーション」を外部で用意したりせずに、
「今、この足がダメージを負って動きづらくなったから、結果としてビッコを引くような動きが副次的に発生したという
そういうゲームが作りたいのです。

(この熱意が伝わるだろうか??)
(つまり、「決め打ちのモーション」ではなく、全て「リアルタイムに内部から起きている動き」であるからこそ)
(その「動き」が、「痛み」が、人の心を打つのだ)

(これは、ある程度ゲームをやってきた人なら分かってくれると思う)

当然、自キャラも同様である。 

とにかく、敵味方関係なく全てのキャラクターで四肢切断がリアルタイムに発生するゲームが作りたいのです。


◆その夢の実現のために、
 今のところ達成できたポイント


IKをようやく表現出来るようになった 
 (足を引きずったり、リアルタイムに姿勢を計算して曲げることが出来るようになった)

「逆関節」だろうが、間接がいくつある足だろうが、統一的に表現出来るようになった
 (今回のラプトルさんも、元は人間の歩きの改造である)

・そもそも一番重要な所の「リアルな足の動き」を、ある程度達成できた (・・・と思う)

・そのような「足」を別オブジェクトに分け、胴体に付随させるようにして、いつでも足だけ削除出来るようになった

・足を削除したときのクッション感・姿勢の変化 「体重の分配バランス」のリアルタイム変化
 (これは、将来「地面の高さが平面でないような場合」でも、バランスを取るために役立つようになる)

・そのようにして、「体の最も低い位置」が変わった時、手が足に適宜変化するのを表現出来た
 (足を二本とも削除すると、手で這って歩くようになります)
 (さらに手も全て削除すると、ダルマになります)

・ジャンプを、「足のバネの縮みによる副作用」として、表現出来るようになった 
 (これは「ジャンプボタンを押すととりあえず上方の加速が発生する通常のゲーム」とは、根本的に異なる)
 (そして『現実の正しい解釈』である)

・足の数が減ると、それに応じてジャンプ力も減少することを表現
 (これも、あくまで副次的に発生すること)

・走るスピードによる姿勢・歩行の(ある程度の)リアルタイム変化
 (スペースキーを押した時)

・自分自身のスピードだけでなく、外力を受けた時の姿勢変化
 (Vキーでどついた時など)
 (この時点で、カマキリゲーを超えている)
 (カマキリゲーでも外力によって移動は発生するが、脚の動きに変化は無い くやしい)

「制動」を、それなりに、擬似的に表現出来た
 (ある程度より小さい加速は、体の姿勢がクッションになって吸収し、移動は起こらない)

・実は一番やっかいかもしれない「注視モード」での並行歩きについて、かなり早い段階で対応できた
 (シフトキーを押した時) 
 (何故これが一番重要なのかというと、「ゲームの敵」というものは、
  主人公以上に「常に注視モードで歩いているようなもの」だから)



◆そして、まだ実現できてないポイント。 これからの課題です。

・なんだかんだで、まだまだ「接地感」が甘い
 (まぁ世の中には人間が滑ってるようなゲームが山ほどあるけど)

・特に、方向転換をした時、足がめり込む
 (実はこういうことが起きているゲームは多い気がする)
 (「ベヨネッタ」とかでも、その場でクルクル回っていると長い足がメリ込みまくってた記憶がある)

・全てを「足」オブジェクトで表現しようかと思っていたが、
 やはり「頭」「尻尾」は別種族として用意すべきな気がした
 (恐竜には鳥頭のような首振りが必要だし、
  尻尾の振り方だって、足とは勝手が違う)

「腰振り」はまだ表現出来ていない
 (これは「腰の根っこの座標」を振り子のように揺らすことで実現出来ると思う)
 (成功すると、生々しさUPに繋がると思う)

・足全体を、「足からみたX軸、Y軸、Z軸」中心に回転させられるパラメーターを用意すること
 (実は今回実現できているのは、この中の「Z軸回転」だけ)
 (恐竜の足が正面から見た時にちょっとだけ開いているのは、この「Z軸」を弄っている)
 (本来その回転パラメーターは、3種類あるはずなのだ)

・「普通の足」だけではなく
 「羽」「水びれ」などの「移動に関わる身体パーツ」は、全て一元的に表現したい。
 ぶっちゃけ、「羽」はこれの応用で出来ると思う。

・問題は「蛇の腹」とか「ミミズの胴体」だ。
 蛇の腹の「動き自体」は尻尾と同じようにして表現することは出来ると思う。
 でも自分には、蛇の腹が「接地点をうねりながら変化させることで移動するメカニズム」までも
 表現できる気がしない。

・「モーメント」に関わること
 「足ごとの当たり判定」について考えると、頭が痛い。
 一応現時点でも、全身をどつくと全身でよろめくことは出来る。
 でも、「片足だけをどついて片足だけがよろめく」というのも重要なはずだ。

 そして、そのような姿勢変形は、体の重心と各パーツの位置関係からの「モーメント」によって表現されるべきだ。

・将来、「武器振り」について本気で考えなければならない時が、かならず来る。
 その時までに、モーメントについて勉強をしておかなければならない。

・最終的に 「足・全身のエディット画面」を完成させること


まぁ、四肢切断がどうの~とか言ってるけど、
このシステムが完成したとき一番嬉しい恩恵は、
「あらゆる動物の動きを、モーションデータでファイルサイズをかさ張らせる事無く産み出せること」なのです。
(しかも、通常のゲームみたいな「モーションを再生してる感」の無い、リアルな、生々しい動きで)


かつて自分が、今よりも10倍くらい馬鹿だった頃、
「モーションメーカー」なるものを自作して、走りモーションとかを自力で用意しようとしていました。

(↑しかもこれはFKだけ対応なので、
 いつかIKと「モーション補間機能」を追加した「完全版のモーションメーカー」を作ろうと思っていました)



でも、今回のシステムが完成すれば、そんな補助ツールは全て必要なくなるのです。

これが完成すれば、どれだけゲーム開発が楽になるか。

どれだけ楽にモンスターを追加できるようになるか。

それ以前に、ありとあらゆる動物を手元で歩かせられるようになった時のことを考えると、もう辛抱タマラン。


どうです? ワクワクしてくるでしょう?


ラプトル

[ 2013/05/09 16:48 ] Flash作成過程 | TB(0) | CM(1)
月別カレンダー
09 ≪│2017/10│≫ 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -