【Blender、Unity】サンタ娘がトナカイ(?)に乗ってプレゼント爆弾を投げる【C#】


Blender2.79b
Unity2019.2.2f1
Windows10

サンタトナカイ/トップ

今年はクリスマスらしいことをしようとサンタ娘がトナカイ(?)に乗ってプレゼント爆弾を投げるゲームの動画にしました。

来年はもっと高度なゲームにしたいものです。

■トナカイとサンタ娘とプレゼントボックス

トナカイは以前紹介した乗馬のアセットを改造したものです。
サンタ娘の操作とカメラもそこから。
Horse Realistic(Can be Called)のPrefabを使いましたが、2019だとメッシュが崩れるので、メッシュとアーマチュアをHorse Polyに変更します。
サンタ娘もメッシュとアーマチュアをRiderから変更したものです。
Blenderで作った角はCGアーマチュアのNeck2の子オブジェクトにしたら具合が良かったです。

サンタトナカイ/角

あと忘れてはいけないのは馬の元のアーマチュアからMount Pointsを移しておくことで、これがないと乗馬できません。
以前と同じくCGアーマチュアのSpine1の子オブジェクトにしておきます。

プレゼントボックスは以前Blenderで作ったものですが、空のオブジェクトにプレゼントボックスと爆発のPrefabを子オブジェクトとして置きました。
その2つの表示を入れ替える形で爆弾が爆発するように見せています。

サンタトナカイ/Hierarchy/プレゼント爆弾

■他のソースコード

どれも簡単なものですが備忘録的に載せておくことにします。
BGMはAudioSourceコンポーネントをそのまま使いました。

モンスターのスクリプトはこちら。
単に追いかけてきて爆発のコライダーに触れると倒れるだけです。
あとその時に撃破数のカウンターをひとつ足します。

AnimatorControllerはこのようなシンプルなものです。

サンタトナカイ/モンスター/AnimatorController

スポンサーリンク

次はモンスター生成のスクリプトです。
1秒ごとに生成し、そのたびにモンスター数のカウンターを1つ足します。

次はカウンターのスクリプトです。
モンスターが撃破された時にAddCount()が、モンスターが生成された時はAddMonsterCount()が呼ばれることでテキストの数字を足していきます。

次はプレゼント爆弾のスクリプトです。
子オブジェクトのプレゼントボックスと爆弾の表示/非表示を入れ替える形になっています。
爆弾のPrefabが表示されてから1秒後に非表示になりますが、Destroy()でも問題なかったはずですが試行錯誤の中でそのままになりました。

次はプレゼント爆弾の生成と発射のスクリプトです。
Eキーで生成し、爆弾のRigidbodyを取得してAddForceで真上に打ち出します。
思うように飛ばず悩みましたが、それは子オブジェクトの方にもRigidbodyをつけていたせいでした。
生成する位置は空のオブジェクトを馬の子オブジェクトにしたもので、Inspectorから登録します。

■使用した無料アセット

Character Monster 1
追いかけてくる緑の人。
走るアニメーションがLoopになっていないことに要注意。

Winter Zone Mini
Terrainの雪景色の素材です。
Cameraにブリザードを追加するPrefabもあります。

Detonator Explosion Framework
色んな爆発があります。

Christmas Music – Loop Instrumental
クリスマスの曲です。

■関連記事

「Blender標準テクニック」でアニメ美少女作成に挑戦!その成果を発表します

【Blender、Unity】ハロウィンパレード2019の動画を作りました【C#】

スポンサーリンク

目次に戻る