game community summit 2013 unityでmmdを動かす会
TRANSCRIPT
一人でできるもん!MikuMikuDance for Unity とフリーソフトを組み合わ
せたゲーム制作ワークフロー
Unity で MMD を動かす会 竹渕瑛一
1GCS2013 Unity で MMD を動かす会
自己紹介• 竹渕瑛一 ( 神奈川工科大学大学院修士 2 年 )
• 研究はゲームか,フォークソノミー( Pixiv )のどちらか
• 最近はフォークソノミーに比重ががが• https://twitter.com/GRGSIBERIA
• Unity で MMD を動かす会の中の人• MikuMikuDance for Unity つくってます• ゲーム制作を楽しくできないもんかな,と思いなが
ら色々なものを作ってます
2GCS2013 Unity で MMD を動かす会
MikuMikuDance for Unity
• MikuMikuDance のモデルやアニメーションを Unity で動かすためのプラグイン的なもの
• MMD のデータを Unity に取り込むことができるのです
@_mkt 3GCS2013 Unity で MMD を動かす会
MikuMikuDance for Unity
• メリット• モデリングできなくてもキャラゲー作れる• MMD で作ったアニメーションを使える• Oculus でミクペロできる ← new!!!
@GOROman
4GCS2013 Unity で MMD を動かす会
Unity で MMD を動かす会• Facebook コミュニティ
• MikuMikuDance for Unity の開発者用コミュニティ• イベントの告知とか,更新情報とかつぶやいてる• バグとか最近作ったものなども歓迎
• コミッタ大歓迎• なんか不便だから改造したい• 使い方の記事とか書きました• こんなもの作ってみました等々
https://www.facebook.com/groups/191426844258883/
6GCS2013 Unity で MMD を動かす会
Unity で MMD を動かす会• Twitter での活動
• 「 MMD Unity 」で検索するとすごい• こちらのほうが最新情報を拾える
• もしくは「 #MMDforUnity 」• あまりつぶやかれない (´ ・ ω ・` )
GCS2013 Unity で MMD を動かす会 7
イントロダクション
GCS2013 Unity で MMD を動かす会 8
イントロダクション• 3D で作ったミクさんがスプーに見える……• 絵が描けなくてテクスチャもかけない……• ノーマルマップ? 手書きだけど……
9
こんな悩みを抱えていませんか?
GCS2013 Unity で MMD を動かす会
イントロダクション• プログラマーはデザインできない(大前提)
• どうやってデザインスキルを補うか• もっと簡単にデザインを凝りたい
10
プログラマーだけで作れないゲームGCS2013 Unity で MMD を動かす会
イントロダクション• フリー素材やフリーソフトに頼ろう
• でもクオリティ低いんじゃないの?• フリーソフトを覚えるのが手間• そもそも 3D にフリーなんてないんじゃないの?
11
_Y_ r ' 。∧。y . ゝ∨ノ ,,, ィ f...,,,__ ) ~~ ( _,,. /∠ ゙ `'''t-n ヾ ̄ "'''= ー -.....,,, ,i i, ,z'"  ̄ ̄ / n ゙゙ '''' ー --... , i > < i 文明はどんどん発達し r”^ ヽ く :::::|::|::: 〔〕〔〕 i > < i . ていく・・・・・・。 入 _,.. ノ ℃  ̄ U  ̄_二ニ`=.,, ー - ...,,,__ |, r '''"7 ヽ、 | __,,,... - ー ,,.=' > ーz -,,,...--,‐,‐;;:'''""~ ~''':x.,, ~"|{ G ゝ G }|"~ ,,z:''" ___ ~"'=| ゝ、 .3 _ ノ |=''"~ <ー< > / l  ̄ ̄\ .| ) ) ( ( | /  ̄ ゙̄i ;: 、 「 ̄ ̄ ̄ ̄ |  ̄ |  ̄ ̄ ̄\ ))| r '´  ̄「中 ]  ̄`ヾ v 、 `- ──────◎ ◎ 一 ' ├―┤=├―┤ |li:, | 「 ̄ | i ̄i | 「 .//|| 「l n|:; ||//__| L _ 」 || _ _.|| l」 u|:; | ニ⊃ | |⊂ ニ | || ,|/ | _ . └ ー┘ . _ | ||/ ヘ 「 ̄ ̄ ̄ | /
年を取る間に
GCS2013 Unity で MMD を動かす会
イントロダクション• セッション概要
• 今日の内容• 個人での 3D ゲーム開発の現状• フリー素材とフリーソフトを利用した開発
• 対象読者• 主にプログラマー、デザイン初心者• Unity でゲーム開発している人
• 目標• 素材をノースキルで一人で揃えられるようになる• 素人目で誤魔化せる程度の技術を身につける
12GCS2013 Unity で MMD を動かす会
イントロダクション• もくじ
• イントロダクション• 個人での 3D ゲーム開発の現状• フリー素材とフリーソフトを利用した開発
• 3D モデルを揃える• 3D モデルを読み込む• アニメーションを読み込む• テクスチャを揃える• ノーマルマップを作る
• おわりに
GCS2013 Unity で MMD を動かす会 13
個人での 3D ゲーム開発の現状
14GCS2013 Unity で MMD を動かす会
個人での 3D ゲーム開発の現状• 3D ゲーム開発に潜んでいるデザイン
• キャラクターデザイン• 背景デザイン• レベルデザイン• UI デザイン• アニメーション• エフェクト• 音( BGM 、効果音)
GCS2013 Unity で MMD を動かす会 15
今回の対象
個人での 3D ゲーム開発の現状• キャラデザ、背景デザイン
• ゲームの外観(見た目)を決める要素• ゲームの雰囲気だったり世界観を伝える• 面白さにも直結するから余計難しい
GCS2013 Unity で MMD を動かす会 16
プログラマーがここをやると世にも奇妙なものが出来上がってしまう
個人での 3D ゲーム開発の現状• どんなデザインスキルが足りてないか
• 観察力がない• 記憶力がない• 細部の比較ができない• ツールを使いこなせない
GCS2013 Unity で MMD を動かす会 17
\ (^o^) /
これらを代わりにやってくれる方法を模索しましょう
個人での 3D ゲーム開発の現状• フリー素材を借りる時の悩みどころ
• クオリティが低くないか• ありきたりな表現にならないか• 借りる時のライセンスは大丈夫か
• 簡単に素材を作れるソフトの悩みどころ• そんなもんそもそもあるのか• 実は簡単じゃない、難しい• ちょっとお金がかかるんじゃないの?
GCS2013 Unity で MMD を動かす会 18
今回はこの 2点に焦点を当てて説明します
フリー素材とフリーソフトを利用した開発
GCS2013 Unity で MMD を動かす会 19
フリー素材とフリーソフトを利用した開発•おしながき
• 3D モデルを揃える• 3D モデルを読み込む• アニメーションを読み込む• テクスチャを揃える• ノーマルマップを作る
GCS2013 Unity で MMD を動かす会 20
3D モデルを揃える
• 3D モデルにも種類がある• キャラクター• 建物• 置物• Etc…
GCS2013 Unity で MMD を動かす会 21
Google Sketchup から借りる
MikuMikuDance から借りる
3D モデルを揃える• キャラクターの探し方
• ニコニコ動画• 「 MMD モデル配布あり」タグで検索• キャラクター名で検索すると出てくるかも
• VPVP Wiki• 記事の有無が激しい• 色々雑多で情報が古いこともある……
• MMD Wiki ← new!!• http://mikumikudance.wikia.com/wiki/MikuMikuDance_Wiki• 海外の有志が勝手に作成• なんと、 Readme の内容も翻訳されてる(こともある)
GCS2013 Unity で MMD を動かす会 22
3D モデルを揃える• MMD wiki の外観
GCS2013 Unity で MMD を動かす会 23
3D モデルを揃える• 紹介されているモデルを見てみる
• モデルのバージョン• 作成者• ダウンロード場所• 利用条件• 改変あり• 再配布あり• Readme の英訳
GCS2013 Unity で MMD を動かす会 24
3D モデルを揃える•建物や置物の場合
• MMD のアクセサリ類から借りる• PMD/PMX Editor で PMD 化したものを使う
• Google 3D Gallery から借りる• skp ファイルを X ファイル形式に変換して使う
• 導入記事 bit.ly/r8GkMB• 量が多いのでこちらを使う
GCS2013 Unity で MMD を動かす会 25
3D モデルを揃える• Google 3D Gallery とは
• Google Sketchup で作成したデータを公開できるところ
• ライセンスは全て商用利用可、再配布、改変あり• ほぼ、パブリック・ドメインに近い状態
GCS2013 Unity で MMD を動かす会 26
http://sketchup.google.com/3dwarehouse/?hl=ja&hl=ja
3D モデルを読み込む• MikuMikuDance for Unity を導入しよう
• 最新リビジョンの導入方法• 執筆時の最新版は r144• http://sourceforge.jp/projects/mmd-for-unity/• ソースコード→ Subversion→ リポジトリ閲覧
GCS2013 Unity で MMD を動かす会 27
3D モデルを読み込む• MikuMikuDance for Unity を使いましょう
• かなり下のほうに旧リポジトリブラウザで表示• /trunk/MikuMikuDance for Unityへ移動• Download GNU tarball でダウンロード
GCS2013 Unity で MMD を動かす会 28
3D モデルを読み込む• 3回ぐらい解凍してフォルダができます
• できたフォルダを Unity の Projectへ入れる• メニューバーに Plugins が表示されたら完了!
• たまに表示されないこともある• メニューをクリックするとたぶん表示される• それでも表示されなかったら再起動
GCS2013 Unity で MMD を動かす会 29
3D モデルを読み込む• MikuMikuDance for Unity の構成
• PMD Loader• MMD のモデルを読み込む
• VMD Loader• MMD のアニメーションを読み込む
• X File Importer• Google Sketchup から出力した X ファイルを読み込む
GCS2013 Unity で MMD を動かす会 30
3D モデルを読み込む• PMD Loader のインターフェース
• PMD File• ここに MMD の PMD ファイルを投げる
• Shader Type• シェーダーの種類、 MMDShader でトゥーン調
• Rigidbody• 剛体の有無
• Use IK• IK の有無
GCS2013 Unity で MMD を動かす会 31
PMD ファイルを埋めると Convertボタンが出現します
3D モデルを読み込む• コンバート完了すると……
• こんな感じで Prefab も生成されます• そしてミクさんであんなことやこんなこと( ry
GCS2013 Unity で MMD を動かす会 32
3D モデルを読み込む• XFileImporter も使い方は同じ
• X File に X ファイルを D&D すればいいだけ• ガンダムとか姫路城とか戦車とか……
• 版権物は扱いに注意
GCS2013 Unity で MMD を動かす会 33
アニメーションを読み込む• これもやっぱり MikuMikuDance for Unity
• MMD の VMD ファイルを読み込むことができます• MMD で作ったアニメーションが使える• アニメーションのアセットファイルも出力可能
• 配布されているアニメーションのライセンスに注意
GCS2013 Unity で MMD を動かす会 34
アニメーションを読み込む1. MMD で作った VMD ファイルを Projectへ2. VMD Importer を起動する3. 項目を埋めて Convert4. 完了!
GCS2013 Unity で MMD を動かす会 35
Prefab 化した MMD のモデル
適用したい VMD ファイル
アニメーションクリップをファイルに変換するか否か
線形補間の品質1 は補完なし、 3ぐらいでスムーズ多くするとファイルサイズ多くなるので注意
アニメーションを読み込む• アニメーションクリップをファイルにした場合
GCS2013 Unity で MMD を動かす会 36
Prefab と同じフォルダにアニメーションクリップが生成されるこれを Prefab の Animation に入れてあげる
アニメーションを読み込む• Animation にクリップを適用させる
GCS2013 Unity で MMD を動かす会 37
ここからは普通の Unity と使い方は同じ
アニメーションを読み込む•表情と剛体について
• 表情はモデル名 /Expression以下にあります• これの Z座標を操作することでモーフィングできます• 1.0以上になると表情が崩れるので注意
• 剛体には色々注意点が• Unity は PhisX 、 MMD は Bullet を使ってます• そもそも物理エンジンが異なるので正確さは無視してま
す
GCS2013 Unity で MMD を動かす会 38
アニメーションを読み込む• アニメーションの探し方
• 現状、 VPVP wiki でも MMD wiki でもまとまってない
• ニコニコでは「 MMD モーション配布あり」タグで探せるものの、数がやたら多いので見つけるのが大変
• たまに、汎用的なモーションを紹介しているブログ記事がある
• なかなか見つからないこともあるのでよく自作してます
• アニメーションを鑑賞できるサイトがあるといいなぁ……
• ( MMD for Unity あるし……)
GCS2013 Unity で MMD を動かす会 39
テクスチャを揃える• テクスチャの揃え方
• フリー素材を借りてくるか、自分で撮影する• 基本的には GIMP を使い、たまに専用のツールを使
う• プラグインで拡張する• 画像処理系の論文に強いと GIMP マスターになれる()
GCS2013 Unity で MMD を動かす会 40
テクスチャを揃える• テクスチャのフリー素材
• 有名ドコロ• CG Textures ( http://www.cgtextures.com/index.php)• 無料でテクスチャやパターン画像を手に入れられるサイ
ト(http://kachibito.net/web-design/29-free-texture-site.html)
GCS2013 Unity で MMD を動かす会 41
CG Textures は大量にある
テクスチャを揃える• フリー素材を利用する時の注意点
• ライセンスの確認は必須(個人、非商用等々)• シームレス化されていないものもある
• そのまま使うと継ぎ目が……• GIMP でシームレス化するのが簡単
GCS2013 Unity で MMD を動かす会 42
テクスチャを揃える• シームレス化されていないテクスチャの調整
• フリーソフトの GIMP 2.8 を利用します• シームレス化されていない CG Textures の画像 1枚
GCS2013 Unity で MMD を動かす会 43
テクスチャを揃える• GIMP のシームレス化フィルタを使う
• フィルタ→マップ→シームレス化• でも、実際に使うと模様が出てしまう……
GCS2013 Unity で MMD を動かす会 44
暗かったので夕焼けっぽく
テクスチャを揃える•模様が出る原因
• 目立つ石ころやシミがある• 暗い所と明るい所の差が激しい
•模様が出た場合の対策• もっと大きく、広い範囲で撮影した写真を使う• ハイパスフィルターで調整する• 目立つものを修正ツールなどで消す
GCS2013 Unity で MMD を動かす会 45
テクスチャを揃える•レタッチする時のヒント
• 修正・スタンプツールの透明度は MAX でやらない• 急激に変化する部分ができてしまう• 修正した部分が微妙に浮いてしまう
• スタンプツールと修正ツールの違い• スタンプは指定した場所を借りてくる• 修正ツールは修正箇所をぼかす• ただし、修正ツールでも不自然になることもあるので、ブラシの大きさ、透明度などを変えながら試して覚える
• 意外とクリック連打でどうにかなってしまう• ぐいぐい引っ張るより、たまに透明度下げて連打してみ
る
GCS2013 Unity で MMD を動かす会 46
テクスチャを揃える•レタッチする時のヒント
• ハイパスフィルターでどうにかなるかも……• フィルタ→強調→ High Pass filter• Radius: 10, Brightness: 100-128ぐらい(要調整)• (なかったらハイパスフィルターでググってください…
…)
GCS2013 Unity で MMD を動かす会 47
テクスチャを揃える•レタッチする時の注意点
• シームレス化は規則的なパターンに弱い• どうにもならないときはオフセットを使う
• レイヤー→変形→オフセット→オフセットを (x/2) と (y/2)に
• それでもズレる場合があるので楽な方で……
GCS2013 Unity で MMD を動かす会 48
シームレス化はずらして合成するのでこうなってしまうこの程度なら修正ツールでどうにかできるかもしれない
テクスチャを揃える• どれぐらい変わるか
GCS2013 Unity で MMD を動かす会 49
これ以上、模様が目立たないものを作るのは難しい……
テクスチャを揃える• 揃えたテクスチャの使い道
• 板ポリやキューブに貼り付けて使う• 幾何学的なステージなら十分に良いものが作れる• 屋内とかもキューブだけで作れる!
• Terrain のブラシとして使う• テクスチャのスケールに注意• そのまま使うには大きすぎたり小さすぎたりします
• 既存モデルのテクスチャを差し替える• 特に家具とかはテクスチャだけ変えたい時もある
GCS2013 Unity で MMD を動かす会 50
ノーマルマップを作る• ノーマルマップを作ろう!
• スカルプトなしでテクスチャ 1枚から自動生成する• Knald というソフトが無料で提供されている
GCS2013 Unity で MMD を動かす会 51
ノーマルマップを作る• Knald を手に入れる
• https://www.knaldtech.com/• アカウント登録が必要• ベータ版だから無料なので今後、有償化するかも…
…
• インストールとかは割愛• 登録しないとインストールできないので注意• もちろん、アクティベーションコードはメールで送
られる
GCS2013 Unity で MMD を動かす会 52
ノーマルマップを作る• Knald を使ってみる
• テクスチャの読み込みは File→Load Color Map• Show 3D Preview Window でノーマルの確認できる
GCS2013 Unity で MMD を動かす会 53
ノーマルマップを作る• 3D Preview Window
• 円柱、平面、球体、任意のモデルで確認できる• ライティングのプリセットは 4種類• Preview 3D→Load Diffuse で色の読み込み
GCS2013 Unity で MMD を動かす会 54
ノーマルマップを作る•変換するときの調整
• Color To Normals で調整する
GCS2013 Unity で MMD を動かす会 55
ノーマルマップを作る• Color To Normals の意味
• Intensity• 凹凸具合の調整をする• Invert で凹凸を逆にする
• Extra Fine~ Extra Large• 高周波~低周波の調整をする• ジャギってる部分を強調したいのなら、 Extra Fine を多め
に• 調整が終わったらフォルダを指定して Export \
(^o^) /
GCS2013 Unity で MMD を動かす会 56
ノーマルマップを作る• Knald+ Unity の注意点
• Bumped Diffuse などのマテリアルに使ってみる場合• Fix now をしてあげないと変な反射の仕方をします• 必ず fix now をやってあげてください
GCS2013 Unity で MMD を動かす会 57
Fix now をしないときちんと反射しません
ノーマルマップを作る• ノーマルマップの使い道
• 壁とか床をリアルにしたい• 置物とかのディティールを良くしたい• (当然,重くなるので使い方に注意しよう)
GCS2013 Unity で MMD を動かす会 58
おわりに• まとめ
• MikuMikuDance for Unity の使い方• モデルデータは MMD wiki から探そう• PMD Loader, VMD Loader, XFileImporter の使い方を整理した
• テクスチャーの揃え方• CG Textures でフリーのテクスチャを揃えた• GIMP を使って非シームレスなテクスチャをレタッチした• Knald でテクスチャのノーマルマップを作った
GCS2013 Unity で MMD を動かす会 59
おわりに• まとめ
• 今回の手法によってできること• リッチな背景のあるキャラゲーをフリー素材だけで作れ
る• いざというときもフリーソフトを使って加工できる• 素材を借りることでデザインスキルの代わりになった
• ゲーム開発に必要な作業工程全体からだと……• 素材作成に必要な時間をほとんどカットできる• ノースキルでもできることが多いので初心者でもくじけ
ない
GCS2013 Unity で MMD を動かす会 60
おわりに• ノンスキルでできるのか?
• モデルデータとテクスチャは余裕• ほとんどが加工なしで使うことができる
• テクスチャのレタッチに関しては少しだけ知識が必要
• 少しコツのようなものが必要• ちょっだけ練習する必要がある
• 意外と素材を探すのが大変• 目当てのものが見つかりにくいというのがある• アニメーションは見つからない……
GCS2013 Unity で MMD を動かす会 61
おわりに•浮かび上がった問題点
• 情報が集約されてない• MMD wiki のようにアニメーションも集約すべき• MMD でも Google 3D Gallery のようなものがあると助かる• レタッチ技術は試行錯誤感が強く、記事も少ない
• オリジナル作れない……• 家具とかならまだしもキャラクターが……• レベルデザインという課題も残る……
GCS2013 Unity で MMD を動かす会 62
思っていたより先が長い\ (^o^) /
動かす会の今後の予定• MikuMikuDance for Unity の長期的な予定
• Unity 4.2 が出たら Mecanim に対応するかも• Mecanim API なるものがリリースされる• スクリプトで直接 Avator の設定ができればいいな……
• PMX に対応するかも• PMX Loader なるものを作ってくれた人がいた• 現行版に対応できるよう改築する予定
GCS2013 Unity で MMD を動かす会 63
動かす会の今後の予定• イベント
• 第 4回ディジタルコンテンツクリエーション研究会• 26~ 27 日に神奈川工科大学で行います• MMD for Unity を利用した制作発表をします• http://www.ipsj.or.jp/sig/dcc/schedule.html#DCC04
• また今年も夏コミ出します• 8月 12 日(月)、東へ 52b 「東天満 Unity 研究会」• 寄稿者を絶賛募集中!• MMD もしくは Unity関連のエッセイ、研究論文、教本等
GCS2013 Unity で MMD を動かす会 64
さいごに• 今後も MMD for Unity を少しずつ成長させます• 新しいソフトウェアの準備を進めてます
GCS2013 Unity で MMD を動かす会 65
今後も MMD for Unity とUnity で MMD を動かす会をよろしくお願いします!
ご清聴ありがとうございました
GCS2013 Unity で MMD を動かす会 66
テクスチャを撮影する• どうしても~のテクスチャが見つからない!
• ネットで探しても見つからないよぅ• ライセンスの関係で使えなかった• 外出したら欲しいテクスチャがあった
GCS2013 Unity で MMD を動かす会 67
実際に足を運んで撮影するしかない!
テクスチャを撮影する•撮影に必要なもの
• カメラ(+レンズ)• 三脚
• カメラを安定させるために使う• 銀一 シルクグレーカード
• 光源で撮った素材の色が変わってしまうときに使う
GCS2013 Unity で MMD を動かす会 68
お金がかかる\ (^o^) /
テクスチャを撮影する•カメラの選び方
• 断然デジタルカメラ• 一眼レフはレンズ付きのエントリー機で 3万円ぐらい• ミラーレス一眼はコンパクトながら一眼レフの性能があ
る• コンパクトデジタルは解像度が小さく、ノイズが多いの
で注意• メーカーはキヤノンかソニーが安心
• 他にもリコーやオリンパスがある
GCS2013 Unity で MMD を動かす会 69
テクスチャを撮影する•三脚の選び方
• 最初はモノポッド(一脚)がお勧め• 足が一本の三脚• 軽くて設置が楽
• 当たり前だけど軽くて丈夫なもの(高い)• アルミよりカーボンのほうが高い傾向がある• 最初は安めなもので済ませたほうがいいかも
GCS2013 Unity で MMD を動かす会 70
テクスチャを撮影する•銀一 シルクグレーカードとは?
• 光の反射率が 18%の不思議な紙• ホワイトバランスを調整するための紙• この紙が RGB ( 117,117,117 )になるよう露光量を調整す
ると白色光が当たった状態とほぼ同じになる• 1回目のスクエニオープンカンファレンスでやってた
• http://cgworld.jp/feature/report/1111-sqex-conf-2.html
GCS2013 Unity で MMD を動かす会 71
テクスチャを撮影する•撮影の仕方
• テクスチャを撮影するためにしっかり支える• 50mm より望遠で撮影しないと写真の端がゆがむ• F値は 6~ 8 で気持ち多めで• 暗い場合は ISO感度を上げる
• HDRI を撮影したい場合• 被写体の中に銀一シルクグレーカードを入れる• 撮影モードは Auto Expose Bracketing ( AEB )で ±1~ 2• 長押しで露出の異なる写真を 3枚連続撮影する• かなりブレるのできちんと固定して撮影しよう
• 両方ともフラッシュ禁止にすること• ISO感度で調整する、できればオートで
GCS2013 Unity で MMD を動かす会 72
テクスチャを撮影する• HDRI を作る目的
• イラスト風の背景写真を撮影したい• かなり脱線するので以下を参照• http://ayaemo.skr.jp/photodramatica.html
• 白潰れや黒潰れをなんとかする• 暗い中でも均一な階調のテクスチャが欲しい
GCS2013 Unity で MMD を動かす会 73