Mokosoft開発者ブログスマートフォン用の表示で見るMokosoft開発者ブログこんなブログ読んでも時間の無駄ですよこの広告は、90日以上更新していないブログに表示しています。2014-04-09公開されたUnityちゃん3Dデータを使ってアプリ版ドラクエっぽい物を作ってみる方法4月7日19時からUnity公式キャラクタのUnityちゃんが公開されました。UNITY-CHAN!どういった表記が正しいのかいまいちわかりませんが、高品質な3Dモデリングデータ+ボーンアニメーション+音声が無料で使えるようになりました。これを使ってドラクエ的なものを動かしてみたいと思います。FLASH書き出し版はこちら読み込み時、バーチャル十字キーが出てこない時があるので、その時は再読み込みしてみてください。歩いたら戦闘に突入して、戦闘は同じことの繰り返しでそのままエンドレスです。フィールド用のシーンを作り、キャラクタを移動させる。特定条件でエンカウントさせ、バトル用のシーンへ切り替える。バトル用のシーンで、バトル処理。フィールドシーンを作るまずは空プロジェクトを作成します。StandardAssetは後からも追加できるので、ここでは入れなくていいでしょう。Unityちゃんパッケージをインポートします。ダウンロードしてきたファイルを開くと、インポートができます。その他、今回は下記Assetを使っています。モバイル向けジョイスティックコントローラーまずはTerrainを使ってフィールドを作ってみましょう。Terrainを使うと直感的な操作で、地形を作成することができます。昔ポピュラスというゲームがありましたが、あれに近い感じで、地面を盛り上げたり、ほったりして、地形を作成するわけです。最初はとても大きいフィールドが作成されるので、Terrainオブジェクトのインスペクタで大きさを修正します。あたりがそれに当たります。Terrainの基本操作はここが詳しいです。コツがいまいちわかりませんが、地形を作成してみました。Locomotionの中にあるUnitychan、MainCameraをシーンへ配置します。元からあったMainCameraは削除しときましょう。これだけで、Unityちゃんがキーボードを使って歩き回れる環境が完成です。あと、背景の青空ですが、これはSkyboxというものを、カメラへ貼り付けてやればできます。この状態では、キーボードによる操作系なので、キーパッドにより操作に切り替えたいと思います。Assetから、Controllerプレハブをシーンへ追加します。Controllerの中のButtonとRightjoystickはDisable状態へとしておきます。Controllerオブジェクトは(0,0,0)に配置してやらないと、画面外へはみ出してしまいます。シーンに配置したUnityちゃんへUMJDemo_PlayerControllerスクリプトを追加します。ジョイスティックとの関連付けをこんなかんじでしてみました。後は、キーボードの制御をしている、UnityChanControlScriptWithRigidBodyスクリプトのFixedUpdate内の処理をコメントアウトして、UMJDemo_PlayerControllerで動作するように適宜修正してやれば、それっぽくなります。動きは荒いというか適当なので、本当にそれらしくする場合には、分岐処理を書く必要があるでしょう。キーボード制御系では、キーボードの操作キーに合わせて、UnityちゃんのAnimatorコンポーネントへパラメーターを送り、アニメーションを変化させていたので、UMJの方でも、移動時にアニメーションをするよう、パラメーターを送るようにしておきます。バトルシーンを作るこちらも同様に、Terrainでフィールドを作成し、敵、味方のキャラクタを配置しておきます。敵キャラにUnityMaskManを使用。こんな感じで配置して、キャラの斜め前方にそれぞれ斜め上から見下ろすカメラを配置します。カメラの表示切り替えは簡単です。カメラオブジェクトをスクリプトで呼び出しておき、enabledを切り替えれば、カメラ表示が切り替わります。Editorを使用しています。Countに応じてシーンビューにも、パスの点が追加されます。指定してやれば、iTweenで利用ができるようになります。シーン開始時にカメラをぐいっと移動させる処理をいれときます。吹き出しやボタンはNGUIで定義をし、alpha値を変更することで表示・非表示を制御します。タイミング良くアニメーションの切り替えと、カメラの切り替え、表示物の切り替えをやれば、それっぽく見えるような気がしますね。他にも、ダメージ時にパーティクルを表示してやったり、ターン制で敵からの攻撃なんかも付け加えてやるとそれっぽくなるかもです。アニメーションの切り替えはMecanimが利用できますが、最初から添付されてるものはサンプル用になっているので、カスタマイズしてやれば使えるようになると思います。後は、フィールドシーンで移動中にランダムエンカウントを発生させて、バトルシーンへ遷移させれば完了です。超適当ランダムエンカウントです。フェードアウト処理はこちらのスクリプトを利用しています。戦闘が終了した後に、フィールドへ戻って、先ほどいた場所へキャラを配置させる処理だったりと、必要な処理は数え切れないほどあるのですが、その辺の処理を積み重ねていけば、3Dの知識なんて全然ない私なんかでもゲームを作れちゃう時代になったってことですよね。そのためにはこういった利用できる3Dデータが色々と公開されていくのは非常に助かるので、どんどん増えていってほしいなと思います。できれば、全作業過程と成果物をブログに掲載したいのですが、それらのキャプして貼り付けるだけで大変な作業なので、今後は動画だとか、なんだとかがいいのかもしれませんねー。奴は大変なものを盗んでいきました。それはあなたの「時間」です。奴は大変なものを盗んでいきました。それはあなたの「時間」です。参加しました...SMAP解散をモチーフにしたアプリ登場。開発はあの会社だった。月別アーカイブリンクMokosoft公式サイト検索にほんブログ村はてなブログをはじめよう!mad_ochiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。