球を投げられる

※この記事は『ひとりVRゲーム作ろうな Advent Calendar 2016』の11日目の記事です。

二日休んだばかりかカレンダーを途切れさせてしまったせいか風邪を患う始末です…
続けようとする意志が大事ということで続けます。

ユニティちゃんが戦えるようにする

前回(7日目)の状態だけではただただ棒立ちで雪を受けるばかりだったので戦えるように雪球を投げられるようにしてあげます。
モーションを作る思考はなかったので早速アセットストアで探すも…

アレ、意外と見当たらない…?

無いというところは実は想定してませんでした。投げモーションくらいあるやろ的な…
地道にアニメーションカテゴリをさまよってたところ以下のアセットを見つけました。
Meelee Axe Pack


明らかにボールを投げてる感じではないのですが、
振りかぶっているようなモーションがあったのでこれをありがたく使わせてもらうことにしました。
(無くて進捗ないですは避けたかったのもあります。。。)

とりあえずユニティちゃんに雪玉を顔面めがけて狙ってもらうようにしました。
以前から使っているThrowableObjectを利用して顔面に当てる斜方投射の計算をスクリプト上で行い、仰角を拾ったうえでRigidbodyのvelocityに初速を渡します。
非物理環境でチェックできていないのであれですが、狙い目が少し下になっているので計算ミスってるかもというところもあるので、スクリプトは非公開で…

投げることばかり考えてたせいか、そもそも雪をすくうという行為が必要なことが頭からずっぽ抜けてました。
アニメーションは…やはりパッと見つからなそうだったので、同パック内の手を背の後ろに隠すモーションのときにしれっと雪を握るようにしました。
これらをアニメーションステートに登録。


これがこうなります。


主だった変更はこんな感じ。
そろそろ前後の履歴が必要になってきそうな気がしたのでローカルでgitを使うようにしました。

これでとりあえず攻撃できるようになりました。
この状態で投げ合ってるだけでも楽しいのですが、ゲームにならんぞおい!って感じなのでちょっとルールを実装していきます。
こっちの顔面のあたり判定もないしね…