初心者でもできる! 7日間で作るUnityゲーム開発

Day2:Unityならキャラクター変更も簡単!

この記事を読むのに必要な時間:およそ 2.5 分

プレイヤーの3Dモデルを美少女キャラに変更する

前回の記事で敵のクマを複数体に増やしましたが,今回はプレイヤーの3Dモデルを美少女キャラに変更したいと思います。私が以前作ったゲーム「ユニティちゃんバズーカ」ではユニティちゃんの3Dモデルを使いました。ユニティちゃんはUnity Technologiesが制作したオープンソース系ヒロインです。ゲームに使用することができる3Dモデルやプロの声優による音声ファイル等が提供されています。

参考
ユニティちゃん

今回は「プロ生ちゃん」の3Dモデルを使用してみます。プロ生ちゃんはニコニコ生放送のプログラミング生放送コミュニティのキャラクターです。ユニティちゃん同様,3Dモデルのほかにプロの声優による音声ファイルも提供されています。

参考
暮井 慧(プロ生ちゃん)3D モデル Unity パッケージ公開!

それでは,プロ生ちゃんの3DモデルUnityパッケージをダウンロードします。

プロ生ちゃん3Dモデルをダウンロード&セットアップする

以下のニコニ立体URLにアクセスしてダウンロードボタンをクリックします図1)⁠

図1

図1

ダウンロードしたpronama-chan.zipを解凍してファイルPronamaChan.unitypackageをダブルクリックします。するとImportting packageダイアログが表示されるので[Import]ボタンをクリックします図2)⁠

図2

図2

するとProjectに[PronamaChan]というフォルダが追加されます。この時点で以下のようなエラーが表示される場合があります。

Blender could not be found.
Make sure that Blender is installed and the .blend file has Blender as its 'Open with' application!

拡張子 .blend がBlenderのプログラムに関連づけられていないというエラーです。

これはプロ生ちゃん3DモデルのファイルにモデリングソフトのBlenderのファイルが入っているため,BlenderをインストールしていないPCだと出力されるエラーです。ゲームの開発には関係ないので,この連載ではエラーを無視します。エラーを解決したいという方は,以下の記事を参考にしてください。

参考
[Unity 3D] Blender could not be found.を解決するには

続いて,PronamaChan/Prefab/pronamachanをHierarchyにドラッグアンドドロップします。

プロ生ちゃんUnityモデルのデフォルトのサイズはクマに比べてとても大きいので大きさを調節します。Hierarchyの[pronamachan]を選択し,Inspectorの「Transform」ー「Scale」のX,Y,Zに「0.4」を入力します図3)⁠

図3

図3

プロ生ちゃんモデルにアニメーション情報を追加する

Hierarchyのpronamachanを選択した状態で,Projectの/Controller/BazookaをInspecterの「Animator」ー「Controller」にドラッグアンドドロップします図4)⁠この操作によって,アニメーション情報がプロ生ちゃんモデルに付与されます。

図4

図4

プロ生ちゃんモデルにスクリプトを設定する

次に,Projectの/Script/BazookaをHierarchyのpronamachanへドラッグアンドドロップします図5)⁠この操作によって,プロ生ちゃんをキーボードやマウスで操作するスクリプトが設定されます。

図5

図5

続いてpronamachanの「Tag」をPlayerにします。まずHierarchyの[pronamachan]をクリックします。そしてInspectorの「Tag」[Player]を選択します。これにより,プロ生ちゃんモデルのオブジェクトのタグがPlayerになります。

図6

図6

Unityにはオブジェクトにタグ付けする機能があり,スクリプトからタグ名をキーにしてオブジェクトを検索することができます。このゲームではHierarchyのMain Cameraに設定されているThirdPersonCamera.csの中でこのタグが使われています。このスクリプトはカメラをプレイヤーキャラの後ろから追尾させる処理をしています。その際にプレイヤーキャラのオブジェクトを取得する処理でこのタグを使っています。つまり,このスクリプトはタグ名だけに依存しているので,3Dモデルを入替えても⁠Player⁠というタグがついているものであればどんな3Dモデルでもカメラで追尾させることが可能です。Unityにはこのようなコンポーネントの独立性を高め,再利用可能な設計をサポートする機能がたくさんあります。

著者プロフィール

やまろう

フリーランスITエンジニア。

業務系SIerに10数年勤務後独立。現在はUnityでスマートフォンのネイティブゲーム開発に従事。仕事の傍ら,個人でフリーゲームを開発している。

URL: http://mikumikuplay.com/

ニコニコ生放送にてプログラミングに関する生放送を配信中。
http://com.nicovideo.jp/community/co2268886

コメント

  • えー・・・

    プロ生ちゃんのバズーカが浮いていてプロ生ちゃんも小さいのですが…

    Commented : #3  ^^ (2016/11/05, 11:39)

  • 備忘録

    PronamachanのAnimatorのApply Root Motionのチェックを
    し忘れないこと

    Commented : #2  Unity5 4日目 (2015/11/05, 17:14)

  • Unity5での捕捉

    Pronamachanの
    AnimaterのApply Root Motionにチェックを入れなければ、
    プロ生ちゃんは動かない
    初期状態ではチェックが入ってないため、
    忘れがち……という備忘録です

    Commented : #1  Unity5 4日目 (2015/11/05, 15:33)

コメントの記入