Unityを使った3Dゲームの作り方(かめくめ)ゲーム開発エンジンUnityを使った3Dゲームの制作に参考になる情報を公開しています。2018.02.15今回はMakeHuman1.1.1で作った3DモデルをUnity2017にそのまま取り込んで使用したり、Blender2.78に取り込んでアニメーションを付けた3DモデルをUnityに取り込んで使用してみたいと思います。Blenderは現在の最新バージョンは2.79ですが、Rigify関連でうまく出来ない為2.78を使っています。MakeHumanでは簡単な設定だけで3Dキャラクターモデルを作成出来ますが、それをBlenderに取り込みアニメーションを付けた後にUnityに取り込むとなると色々作業が必要になってきます。(^_^;)そんなわけでそれぞれの現時点でのほぼ最新バージョンで連携してみます。スポンサーリンクMakeHumanでモデルを作成し出力するMakeHumanはwww.makehumancommunity.orgwww.makehumancommunity.org↑からダウンロード出来ます。MakeHumanの使い方についてはMakeHuman1.1.0を使って3Dモデルを作成しUnityに取り込むMakeHumanが1.1.0にバージョンアップされていたので3Dモデルを出力してUnityに取り込んでみました。gametukurikata.com2016.09.05とほぼ同じなのでそちらをご覧頂くとして・・・(^_^;)MHX2ファイルを出力する為にプラグインをダウンロードするMakeHumanからファイルを出力する時にMakeHumanのプラグインが必要になるのでそれをダウンロードしておきます。Toolsというアイコンがあるのでそれをクリックした後、blender_plugins_for_1.1.1.zipmakehuman_plugins_for_1.1.1.zipの2つをダウンロードします。blender_plugins_for_1.1.1.zipは後でブレンダーで使います。makehuman_plugins_for_1.1.1.zipをダウンロードしたら、ファイルを解凍し9_export_mhx2フォルダをMakeHumanのソフトのフォルダ以下にあるpluginsの中にコピーします。9_export_mhx2はMakeHumanのファイルとしてデータを出力する為に必要になります。これをMakeHumanのpluginsフォルダ以下に移動させるとMakeHumanのファイルの出力形式にMHX2が表示されるようになります。適当なキャラクターを出力する今回はモデルを作成するより連携をする為の処理をするだけなので、最小限の設定だけを行います。Unityにそのまま取り込むモデルの作成まずはUnityにそのまま取り込むようのモデルを出力してみます。ポーズアニメーションタブを選択し、さらにスケルトンタブを選択します。engineを選択します。ファイルタブを選択しファイルを出力します。メッシュフォーマットはfbxを選択し、ファイルの出力先を選択し名前をtounityとして出力します。これでUnityでそのまま取り込むファイルの出力が出来ました。Blenderに取り込むモデルの作成Blenderに取り込むモデルはmhx2ファイル形式にし、単位をメートルにします。これでBlenderで取り込む用のモデルの作成が終わりました。Unityでモデルを取り込む先ほどMakeHumanで作成したFBXファイルをUnityに取り込んでみます。Asset...を選択し、先ほど出力したtounity.fbxファイルを選択します。TypeをHumanoidにしてApplyを押すだけです。↑のような感じに普通に動かすことが出来ました。Blenderでモデルを取り込むBlenderにモデルを取り込む理由はモデルにアニメーションを付ける為です。いくつか先にやる事があるので、そちらをやっていきます。Unityで取り込む時の設定をしてくれるスクリプトのダウンロードBlenderでRigifyを取り付けたモデルやアニメーションをUnityに取り込む為にはBlenderの知識が結構必要みたいです。そこでUnityに取り込めるように変換してくれるスクリプトを作成している方がいましたので、そちらをダウンロードして使わせていただきます。やり方も動画で紹介されています。Imp...www.youtube.comの動画からスクリプトのダウンロード先に移動出来ます。スクリプトをマウスでコピー(ダウンロードの仕方がわからない・・・(^_^;))してデスクトップ等にpy(パイソン)の拡張子のファイルを作り名前をrigify4unity.pyとして、そこに貼り付けます。次にBlenderでの設定を行います。最初にダウンロードしたblender_plugins_for_1.1.1.zipの取り込みとrigify4unity.pyの取り込みを行います。Preferencesに変えます。Add-onsタブを選択します。fileを選択し、blender_plugins_for_1.1.1.zip、rigify4unity.pyの2つのファイルをそれぞれ選択し取り込みます。取り込んだらAdd-onsの左上の検索窓でrigiで検索し出てきた2つのRigify関連のチェックを入れます。UnityはRigifyを取り付けたモデルをUnityに取り込む時に使用するアドオンです。2にチェックを入れます。これでBlenderにMakeHumanで出力したMHX2ファイルを取り込む事が出来るようになります。Scriptのチェックを入れます。これでBlenderでの設定が終了しました。Viewウインドウに戻してください。Blenderでmhx2ファイルを取り込むそれではMakeHumanで出力したmhx2ファイルを取り込みます。Blender2.78を開いたら、元々あるオブジェクトはいらないのでAキーを押して全選択したらXキーを押した後Enterキーを押して削除します。BlenderメニューのFileからImport→MakeHumanを選択し取り込むファイルを選択します。Dataにチェックを入れます。TypeをRigifyを選択します。することで、Rigifyの設定が済んだ状態の3Dモデルが取り込まれます。Rigifyの取り付けが終わっており、Poseモードでアニメーションを付けたりする事も出来ますがファイルを出力しUnityで取り込むとうまく出来ない為いくつかの処理を実行します。rigボタンがあるので押します。するとUnityで取り込んだ時にうまくなるように変換されます。この時人型モデルとRigとのウエイトが解除されるので、再度親子関係とウエイトの設定を行います。Weightsを選択します。↑のような感じで行います。眼球もRigの子要素にしないと眼球が人型モデルと一緒に動きません。アニメーションを付ける為の設定Rigifyの設定とUnityへの出力の設定が出来たので後はアニメーションを付けて出力しUnityに取り込むだけです。実際のアニメーションの作り方はBlenderを使ってUnityで使うアニメーションを作成するUnityで使用するキャラクター用のアニメーションをBlenderを使って作成していきます。作成方法を学べば自分のゲームに自作のアニメーションを使うことが出来ます。gametukurikata.com2016.02.08を参照してください。ここではアニメーションを付ける前の設定をしておきます。Nキーを押してウインドウを開きます。ウインドウを下にスクロールすると↑のようにRigifyのレイヤーの表示・非表示を切り替えられるボタンが見つかります。IKを0にしておきます。IKを0にするとIKをあり得ない位置に動かしても体が変に伸びないようになります。3DモデルとアニメーションをFBXファイルで出力3Dモデルとアニメーションを出力します。converterの方が簡単にできますのでこちらを使います。fileの右のフォルダアイコンをクリックし、出力先のフォルダと出力ファイル名を指定します。fileボタンを押すと指定したファイル名でファイルが出力されます。後はUnity側でこのFBXファイルを取り込みます。取り込み方法はMakeHuman→Unityの時と同じです。RigをHumanoid型に変更します。これでBlenderから出力したモデルをUnityで取り込めました。後は普通のキャラクターと同じように扱えます。↑のようにボーンの名前もORGで統一されて綺麗になっていますね。(^^)/終わりにMakeHumanで作ったキャラクターをBlenderとUnityに取り込む方法をやりましたが、テクスチャの設定などは行っていない為そこは別途やる必要があります。一一)動画内で紹介されているスクリプトはBlender2.79では動作しないのでBlender2.78を使いました。コピーかめくめちゃんをフォローする7Unityを使った3Dゲームの作り方(かめくめ)Unityを使った3Dゲームの作り方(かめくめ)関連記事BlenderBlenderを使ってUnityで使うアニメーションを作成するUnityで使用するキャラクター用のアニメーションをBlenderを使って作成していきます。作成方法を学べば自分のゲームに自前のアニメーションを使うことが出来ます。Blenderblender2.76bにmakehumanデータの取り込みとUnityへのインポート2MakeHumanで作成したキャラクターをBlenderに取り込み、ボーンを設定しリグを取りつけます。Unityで使うアニメーションを作成する時に便利ですBlenderBlenderのアドオンMakeClothesを使ってジャケットと帽子を作成するBlenderのアドオンMakeClothesを使ってジャケットと帽子を作成しMakeHumanで使用出来るようにします。Blenderバンプマップ、ノーマルマップ、ハイトマップ、ディスプレイスメントマップについてバンプマップ、ノーマルマップ、ハイトマップ、ディスプレイスメントマップの違いと、それぞれをUnityやGIMP、Blenderを使って作成してみます。BlenderBlender2.76bにMakeHumanデータの取り込みとUnityへのインポート1人型キャラクター作成ソフトMakeHumanで作成したキャラクターを3DCG作成ソフトBlenderへの取り込み方と出力、それからUnityへと取り込む方法BlenderMakeHumanで使える服をblenderのアドオンMakeClothesで作成する3Dモデル作成ツールMakeHumanで使える服をblenderのアドオンMakeClothesで作成していきます。Unityでゲームオブジェクトのプーリングを行ってゲームオブジェクトを再利用するUnityでタイムラインを使ってゲームのイベントシーンの動きを作成してみるホームBlenderスポンサーリンクサイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事に関する質問は送らないでください、返信は期待しないでください(._.))。kamekumechan@gmail.comいずれはSIRENやバイオハザードみたいなアクションゲームを作りたいと思っています。ゲームシナリオが書けないので面白いゲームはなかなか作れません・・・・。(^_^;)名前の由来はカメが好きだからです。プロフィールになってないな・・・・(-.-)Unityをこれから始める人へこれからUnityを使ってみようという方はUnityを使った3Dゲームの作り方(かめくめ)の歩き方Unityを使った3Dゲームの作り方(かめくめ)で、はじめてUnityの学習をする時の当ブログの記事を読む順番を書きました。機能を積み上げていく形になるので便利かも?gametukurikata.com2019.06.21の記事に記載の順番で見て頂くとUnityの基本的な使い方がわかり、簡単なアクションゲームや、TPSゲームの作成までが出来ます。自作タイピングゲームタイピングゲームを作りました。WebGL形式なのでPCのブラウザで遊べます。以下からプレイ出来ます。FinalTypingUnityを使って作成したローマ字入力のタイピングゲームです。gametukurikata.com2022.01.02お知らせ2023/01/24個人的にUnity2022.2.3f1をインストールしました。2022/10/14UnityのIKを使って足の位置と角度を地面に合わせる機能Unityのゲームでキャラクターの両足が別の高さの地面の上にある時にそれぞれの足をそれぞれの地面につけるようにする機能を作成しますgametukurikata.com2016.04.11機能を少し修正しました。2020/09/19コメント欄は閉鎖しました。今までコメントを投稿してくださった方はありがとうございました。(^^)/2018/08/07わたくしに出来る事は既に記事にしてあるので、ブログ右上の検索窓を活用してください。(._.)またブログの最初の方の機能を積み上げていく記事に関しての疑問点は当ブログ記事のスクリプトの説明と寄せられた質問への回答Unityを使った3Dゲームの作り方(かめくめ)の機能積み上げ形式の記事のスクリプトの説明と寄せられた記事の機能についての質問への回答を掲載しています。gametukurikata.com2019.08.01Unityを使い始めたばかりの人がつまづきやすい点を解消するUnityを使い始めたばかりの人が結構な確率で陥る不具合や疑問点を解消していきます。基本的にはブログに寄せられた質問への回答という感じです。gametukurikata.com2018.12.04も参照してみてください。小・中学生によるデジタルコンテンツ開発の全国大会ですuycc.unity3d.jp2022年大会の先行エントリーが開始されているようです。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。記事の内容に質問がある方へUnityを使った3Dゲームの作り方(かめくめ)の歩き方UnityのJavaScriptとC#を読み替えてどちらでも対応出来るようにするホーム検索トップサイドバータイトルとURLをコピーしました。