ニートが頑張るブログ

ニートが現実逃避するために創作活動など色々とカオスに頑張ってみる
ニートが頑張るブログ TOP  >  Flash作成過程 >  鳥の血に悲しめど 鳥の将に死なんとする 鳥啼き、魚の目は泪

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

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

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

でも、治った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)
Vで引き伸ばされて太刀魚みたいになるサメくんが面白いです
[ 2013/12/21 15:51 ] [ 編集 ]
コメ返信
>おりさと さん


> Vで引き伸ばされて太刀魚みたいになるサメくんが面白いです


これはヤバイですねw

このプログラムは、キャラが空中に居るときは殆ど減速が起こらないようにしています。
(ヒレ一枚につき、-0.008%とかの非常に低い倍率)

だから、走ったキャラをXキー押しっぱなしで持ち上げると、ずっと慣性で吹っ飛んでいきます。


それはそれで正しいので、まぁいいかと思っていたのですが
(現実でも、もし人間が浮かび上がるなんてことがあった場合、慣性で飛び続けるから)
サメでVキー押すとこんなことになるとはw
自分でも確認していませんでした。


これはVキーの押しっぱなし加速が無制限なことと、
尻尾の頂点計算の仕組みがすっごいテキトーなことが原因ですね。(長さ制限をつけてない)


このへんは直すかもしれません。
そうなると、この太刀魚みたいなサメちゃんは今が見納めかもしれませんね。

[ 2013/12/22 23:15 ] [ 編集 ]
ラプトルが頭からクイッと振り向くのかわいいです。最後に見たのが青いフレームだったので驚きました。
ニワトリの着陸、さっきまで浮いていたのにドタドタ歩きになっちゃうところがすごくそれっぽいですね。
一度歩いたニワトリがスペースキーだけでじりじり歩くのと、鳥人間が止まらないのが気になります。
[ 2013/12/25 23:26 ] [ 編集 ]
コメ返信

>イル さん



> 一度歩いたニワトリがスペースキーだけでじりじり歩くのと、鳥人間が止まらないのが気になります。


これはですね、
このプログラムは「停止時のキャラのゆらぎ」みたいなモーションも、
「歩きの延長」で表現しているからです。

キャラが何もせずに突っ立っている時も
「歩を進めないくらいの低速」で全身を動かすようにしています。
そのおかげで、キャラが歩くのをやめると同時に
動きが固まることがないようになっているのです。

(例えばFF8の頃は、キャラが歩くのを止めるとカチッと固まってしまいます)
(身動ぎや息遣いのような停止時のアニメをやるようになったのはFF9ですね)


その結果、キャラによっては
停止状態でもちょっとずつ歩いてしまうようなことになってしまっているようですね。

その2つのキャラは重力が凄く軽いので
ちょっとした足の前後移動で実際に歩いてしまうわけですね。


このへんは調整するべきでしょうね。

[ 2013/12/27 23:31 ] [ 編集 ]
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

月別カレンダー
10 ≪│2017/11│≫ 12
- - - 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 - -