ブログの女の子を作る #112 ソニック・シューター!!と神剣クォータニオン!!を作る【Unity】
「転生したら剣でした」のアニメが面白いです!
今回は「ソニック・シューター!!」のように剣が飛んでいく技と、大量の剣が回転しながら飛んでいく技を作ってみました。
回転する技は、Transform を回転してた時に偶然できたものなので「超級決戦兵器! 神剣クォータニオン!!」と名付けてみました。そのままですね。。。
目次
開発環境
・Blender 3.0.0
・Unity 2021.3.0f1(HDRP 12.1.6)
・CPU:AMD Ryzen 7 3700X
・グラボ:ASUS ROG-STRIX-RTX2060S-O8G-GAMING
(1) ソニック・シューター!! を作る
まずは「ソニック・シューター!!」を作っていきます。
剣を複製してrigidbodyで飛ばす
剣を飛ばすのは、以前の記事でテニスボールを飛ばしたのと同じ方法です。
- キャラクターが持ってる剣と同じ位置に Instantiate() で「大きな剣オブジェクト」を生成する。
- 剣を進行方向に向ける。
- 剣オブジェクトの rigidbody に AddForce() で力を加える。
- Destroy() でオブジェクトを数秒後に破棄する。
- 1~4 を 0.1秒毎に10回実行する。
という感じです。
剣をまっすぐ飛ばすため、Use Graviry は false にしてます。
少し斜め上に飛ばすのであれば true にするのも面白そうですね。
動画で確認する
動画で確認しておきましょう。
ソニック・シューター!!#blender #b3d #Unity #MagicaCloth #転剣 pic.twitter.com/Sv3qzbNyCu
— だーしゅ (@amaotolog) November 13, 2022
カッコいい!!
(2) 超級決戦兵器! 神剣クォータニオン!! を作る
次は「超級決戦兵器! 神剣クォータニオン!!」を作ります。
rigidbody.AngularVelocityで回転する
と言っても、先ほどの「ソニック・シューター!!」を少し改造するだけですが。。。
(1) の 3.の処理「AddForce() で力を加える」のあとで、rigidbody.AngularVelocity を使って剣を回転します。
rigidbody.angularVelocity = new Vector3(0.0f, 0.0f, 30.0f);
あとは剣の本数を増やし大きくして、Destroy() の時間を長くすると完成です。
それにしても回転系の処理は本当に難しいですね。いろんなサイトを調べつつ実装したのですが、正直なところあまり良く分かってません。クォータニオン!!とか言ってますが、Quaternion は使ってない気もしてきました。。。
今回は良い感じ?に動いたので良しとしましょう。
別の角度から見るとこんな感じに見えます。
良いですね。
動画で確認する
動画で確認しておきましょう。
超級決戦兵器! 神剣クォータニオン!!#blender #b3d #Unity #MagicaCloth #転剣 pic.twitter.com/9K8QjKuM10
— だーしゅ (@amaotolog) November 13, 2022
なんか強そうな感じになりました。
まとめ
「ソニック・シューター!!」のように剣が飛んでいく技と、大量の剣が回転しながら飛んでいく技を作りました。
こういう戦闘シーンを作るのは楽しいですね。
コメント
トラックバックは利用できません。
コメント (0)
この記事へのコメントはありません。