
ほぼ0からのunityゲーム制作雑記【37日目】敵の飛び道具①手紙を飛ばす
■作成した手紙モデルを飛ばしたい
前回は、敵の飛び道具となる手紙の形状をblenderで作成するところまで進みました。昨日の記事はこちら。
今回は、前回作成した手紙モデルをunityに取り込んで、敵からプレイヤーキャラに向けて飛ばしてみようと思います。
イメージとしてはこんな感じ。
敵キャラの胸のあたりの高さからシュッと飛ばしたいと思います。
■手紙自体にスクリプトを設定する
手紙の3Dモデルを読み込み、スクリプトを割り当ててやります。このスクリプトでは、初期状態として、敵の座標の少し前あたりに出現するように設定します。そして、手紙が壁かプレイヤーにぶつかるまでのあいだ、手紙が生成された瞬間の敵から見たプレイヤーのプレイヤーへのベクトルへ飛ばすようにします。生成させる命令そのものは、敵のスクリプトに書きます。
unity進捗②敵が飛び道具を使うようになりました。手紙を投げてきます。投げモーションは後に追加したいです。#Unity pic.twitter.com/Dou25LoN3T
— あまた節@Vket5 ありがとうございました! (@anipanmrk2) February 20, 2021
うまくいきました。手紙がビュンビュン飛んでいます。
■手紙が盾をすり抜ける
格闘モードでは、手紙がぶつかるのはプレイヤーか壁だけでしたが、盾モードでは盾にぶつかって弾かれてほしいです。そこで、手紙に盾とあたったとき、跳ね返る動きを設定したのですが。
すり抜けてしまっています。何故だ。
いろいろ探っていて、手紙にrigid bodyを設定しなければならないことを思い出しました。手紙は結構高速で飛ぶため、それに対するすり抜け防止設定もしておきます。
無事にうまく跳ね返すことができました。
unity進捗③敵の飛び道具は盾で跳ね返すことができます。ただし、基本的に盾は敵本体の方向を向くので使い方が難しい感じになっています #Unity pic.twitter.com/wpDo2HHtAA
— あまた節@Vket5 ありがとうございました! (@anipanmrk2) February 20, 2021
手紙の軽さのせいか、豪快に跳ね返るため、盾が少し強そうにみえて嬉しい誤算です。
■次回の目標は?
手紙がバリアに入ったら速度が落ちる設定をしつつ、もう一つの敵の飛び道具であるハトの形状を作成していきたいと思います。