UnityとBlenderで作ったニャンターとネルギガンテを戦わせたい④  モンスターハンターワールド:アイスボーン

こんにちは、管理人のねまきです。

 

 

 

やっとニャンターの近接攻撃モーションを作った。

f:id:mko0123098:20200524135806g:plain

1撃目

f:id:mko0123098:20200524135811g:plain

2撃目

f:id:mko0123098:20200524135815g:plain

3撃目

f:id:mko0123098:20200524135818g:plain

4撃目

f:id:mko0123098:20200524135820g:plain

5撃目

な、なかなか様になってるじゃん。。!

 

ここまでやってきて思ったのだが、アニメーションを作る作業はなかなか大変だ。

楽しい。確かに楽しいが俺の場合攻撃モーションひとつ作るのにだいたい30分から1時間かかる。

もっと技術力があればIKを足したりポージングしやすいリグを作りこんだりして効率化できるのだろうが、いかんせん俺は1ポーズを全て手付で行っているからだ。

 

そして苦労しながらできたモーションを眺めているとあることに気づく。

 

このニャンター武器持っていないぞ

なんとこんな初歩的なことに気づかずここまで来てしまった。。。

せっかく攻撃モーションを作っても肝心の武器が無いじゃないか!

欲を言えば白疾風の武器を持たせたいが後で差し替えるとして、とりあえず棒でもなんでも良いから持たせねば。

 

普通のやり方がどうなのかわからないが、Blenderで武器も作ってしまって武器にもリグ仕込んで一緒にアニメーションをつけるのだろうか?

それともモデルだけインポートしてUnity側でスクリプトで座標を制御させる?

分からん・・・調べてみよう

 

 

連続攻撃ってどうやって実装すんの?

モーションはできた。なかなかの再現性である(俺的には)

しかし、連続攻撃の判定はディレイ中にボタン入力を判定して次のアニメーションに遷移させるはずだ。

俺が作ったモーションをそのままつなげてもダメなのだ。

おそらく、Unity側で各アニメーションの進行状態を探り、「ある期間中に攻撃ボタンが押されたら次のモーションに遷移」 or 「そうでなければIdle状態に戻る」のような処理を実装するのだろう。

 

ゲームプログラミングが楽しくなってきた

ゲームプログラミングとはなんと大変で、なんと楽しいのだ。

俺が本業で行っている業務アプリとは雲泥の差である。業務アプリなんて極端な話、「登録したものが画面に出る」それだけである。クリエイティブな要素などほぼ無い。

WEB系の開発ならばユーザー目線で画面の動きを作る、とかかなりのクリエイティブ要素がありそうだが俺の本業はそうではない。

ただクライアントの要件に沿って

 

長い設計

少しの実装(自由度などほぼ無い)

かなり長いテスト

 

を繰り返すだけなのだ。もう、ガチガチでお堅いのだ。

少々愚痴を言ってしまったが、作業を先に進めよう。

 

 

しかし今日はここまで。

読んでくれてありがとう。

次回は武器を持たせる、連続攻撃を実装する、あたりをやってみるとするか