Help us understand the problem. What is going on with this article?

プロ生ちゃん Unity パッケージで Unity 入門してみたかったお話

More than 5 years have passed since last update.

はじめに

このエントリーは プロ生ちゃん Advent Calendar 2014 の第7日目の記事です。

プロ生ちゃんと言ったらやっぱり3Dモデルを動かしたい、ということで少し前に公開されたプロ生ちゃん Unity パッケージを Unity で動かしてみたかったお話を書きます。

今まで、Unity のネイティブプラグインでネットワーク通信をするコードなどは書いたことがあったのですが、
ゲーム部分というか Unity 本体の方はほとんど触ったことがなかったので、全くの入門からやることにします。

題材

時間があるときに読もうと思って買ってそのままになっていた、こちらの本をこの機会に読むことにしました。

Unityゲーム開発 オンライン3Dアクションゲームの作り方
unity_game.jpg

この本は初めて Unity を触る人向けに、かなり本格的なサンプルゲームを作りながら、その開発法を学んでいけるものになっています。詳細な手順が記述されているので、本書のとおりに Unity を操作していけば迷うことなくサンプルゲームの開発が進んでいきます。

サンプルゲームの開発を少々

ということで、わたしも本の手順通りに4, 5時間ほど手を動かしてみたところ、こんなにかっこいい戦士やドラゴンの3Dモデルを動かすことができました!
UNIDRA.png

Unity は基本的に 3D オブジェクトにスクリプトをアタッチすることで開発していくようですね。オブジェクト同士やスクリプト間のメッセージのやりとりに際して、通常のように相手のインスタンスへの参照を持っておいて、それのメソッドを呼ぶ、というのではなく、

SendMessage("Foge", arg);

のように全体にメッセージを投げて、それを処理できる関数を持っているスクリプトが反応するようにしておく、というのが Unity のスタイルのようです。こうしておくことで各スクリプトを疎結合に保つというわけですね。

プロ生ちゃん 3D モデルを取り込む

プロ生ちゃんアドベントカレンダーのネタとして、ここらでプロ生ちゃんを登場させたいですね。
冒頭のリンクからさらにニコニ立体に飛び、 「暮井 慧(プロ生ちゃん) MMD & Unity 公式データ」をダウンロードしました。
落ちてきた zip ファイルを解凍すると unity というフォルダの中に .unitypackage ファイルが入っているのでそれを説明のとおりに Unity にインポートします。Prefab の中に入っている pronamachan_s (スパッツバージョン!) をシーンの Hierarchy にドラッグアンドドロップすれば取り込みができました。簡単ですね!

import_pronamachan.png

モーションを設定する

本の手順通りに作った女戦士には待機・走り・攻撃のモーションを備えた AnimatorController が設定されているので、これをそのままプロ生ちゃんに設定してみました。

animator.png

これでプレビューを走らせてみると、プロ生ちゃんが待機モーションを取ってくれました!
staying.png

攻撃モーションもこの通り。
attack1.png

attack2.png

走らない・・・

ただ、ここで問題にぶつかってしまいました。女戦士の場合には問題なくできていた、マウスクリックでの移動ができないのです。クリックしてもその場でわずかに向きが変わるだけで、走りだしてくれません。
どうも、動きからすると地面に足が引っかかっているのかな、という感じなのですが、どうにもそれを直すことができませんでした。プロ生ちゃんと女戦士の大きさの違いとかコライダーの設定が関係しているのだと思いますが・・・
今回は残念ながらここまでとなってしまいました。

おわりに

Unity を使えばとても簡単に 3D ゲームを作ることができそうですね。また時間を見つけてはいろいろいじってみようと思います。それでは。プロ生ちゃんかわいいっ!

d_nishiyama85
都内でプログラマーやってます。むかしは物理とか数学とか。Ph.D.
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away