unity1weekでアバター機能を実装した話

1.はじめに

 こんにちは。9歳のころからゲームを作り続ける個人ゲームクリエイター「べすとまん」です。

 この記事はunity1week(テーマ:あける)に参加して作ったゲーム「アンデッドルームズ」の開発記録になります。また、おそらくunity1week初であろうアバター機能の実装についても触れていきます。

スクリーンショット 2020-12-30 15.47.57

2.完成したゲームの紹介

まずは完成したゲームの紹介から。

スクリーンショット 2020-12-30 17.26.22

 屋敷内を探索してコインを集めつつ、遅い来るUnDEADと呼ばれるゾンビの敵から逃げるゲームです。テーマは「ドアを”あける”まで隣の部屋が見えない」ところにかけています。

 工夫した点は、敵としてランキング上位ユーザーを出すことです。ただランキングで競うのではなく、他人を敵として登場させることで間接的に他人と戦ってる感を出せると考えました。またゲームオーバーになった際に「アイツにやられた、許さないw」といった感情が生まれるのも面白いですよね(笑)

スクリーンショット 2020-12-30 15.49.13

3.アバター機能

 アバター機能は自分の分身を他人に見せる機会の多いソーシャルゲームには多く採用されていますが、unity1weekに投稿されるような個人でプレイするミニゲームではあまり採用されていません。(自分の知る限りunityroomにはありませんでした)

 しかしこの「アンデッドルームズ」ではただ敵が襲ってくるよりも、自分の友達が、フォローしている人が、知ってる人が襲ってきた方が楽しいと思い、思い切ってアバター機能を採用してみました。

スクリーンショット 2020-12-30 17.27.25

 とはいえ、アバター機能は開発するだけで終わりではなく、機能開発後はアバターパーツを数種類用意しないといけないので、1週間でゲームを作った上でアバター機能開発はなかなか厳しいです。そこで今回工夫した点をまとめます。

スクリーンショット 2020-12-30 15.51.14

(1)モデリングの工程を省く

 なるべく工程を減らすために、ボーンやスキニング設定が不要なアバターデザインにしました。それがコチラ!

スクリーンショット 2020-12-30 16.09.37

 オレンジの丸、レッドの丸、ブルーの丸はそれぞれ空Objectで、その子に腕や頭、足のパーツを設置して各空Objectをアニメーションさせることにより、それっぽくアバターを動かすことができます。また、アバター着せ替え処理時もそれぞれの空Objectに、設定したアバターアイテムを設置すれば簡単に着せ替えが可能になります。
(一応各パーツモデリングしましたが、この程度であればプリミティブObjectでも再現できそうですね)

スクリーンショット 2020-12-30 16.56.33

(2)アイテムごとにメッシュを変えない

 アイテムごとにモデリングをいちいち行うとアイテムの量産ができないので、今回はテクスチャーの変更のみで見た目が変わるようにしました。ゲーム内で登場するアバターアイテムは以下になります。

スクリーンショット 2020-12-30 16.28.10

 アイテムごとにデザインは違いますが、実は全て同じモデル(メッシュ)です。テクスチャーのみを変更することで簡単に量産できました。UV展開もマウスで簡単に描けるくらいシンプルにデザインしやすくしています。
(ホントはアイテムごとにモデル作って頭にネジが刺さったアイテムとかやりたかったんですけどね・・・w)

画像6

(3)敵差分をプログラム管理

 「アンデッドルームズ」では敵としてランキング上位のユーザーがUnDEADモンスターとして登場するため、敵用の見た目を作る必要があります。試しに目を黒く塗り潰したところ、意外とゾンビっぽくなったので今回はこの方法にしました。また、フィールド上にいるアバターは必ず目が見える訳ではないので、わかりやすくゾンビっぽいオーラも付け加えました。これにより簡単に上位ユーザーを敵化することができました。

スクリーンショット 2020-12-30 17.11.09

 以上(1)〜(3)がアバター機能開発で工夫した点となります。7日間の中でアバター機能開発+アバターアイテム制作に欠けた時間は1日(作業時間的には5、6時間)ほどでした。

4.さいごに

 今回のunity1weekもなんとか期間内に開発して提出することができました。開発したアバター機能は今後も使いまわせるので、今後開発するゲームでも登場させてみたいと思います。

画像11

それでは
unity1weekに参加されたクリエイターみなさま、お疲れ様でした!


この記事が気に入ったらサポートをしてみませんか?