学生向けUnityPro版年間ライセンス(12900JPY)を買ったので流れをまとめてみる。

学生限定ですがUnityPro版が12900JPYで買えたので申し込みまでの流れをまとめてみようかなと思います。

まず方法としてStudicaから買うという方法がありました(過去形)。

http://www.studica.com/unity
最初はここで買おうとしてたのですが購入を申し込む段階で怪しげな規約が…

これの一番最後の項目ですが、意訳すると「私は日本韓国中国その他東南アジアの学生ではありません。」ということでして、僕は日本の学生ですのでもちろん買えません。(規約ガン無視で申し込みをしたのですが、個人情報を書く欄でJapanを選択せざるを得ないので買えないです。)

【注意】studicaでアカデミック版購入の危険性 - Star☆Dust〜ゲームとか萌えるAIとか作りたい〜 - Yahoo!ブログ
まぁこういうこともあるので、Studicaはやめておきましょう。

ここからが本編です。
じゃあどうやって買ったのかということですが、Unityのセール部門のほうにメールしました。
UnityFAQの「学生向けや教育機関向けの安価なライセンスはありませんか?」の欄を見てください。
ここでsales(at)Unity3d.jpにご相談くださいということが書いてあると思います。

①――――――――――――――――――――――――――――――――――――――――――――――――――――

とりあえずそのメールアドレスに連絡しました。
すると、数時間後にUnityの人からメールが帰って来まして、
「学生向けライセンスにつきまして、銀行振込にてご対応しております。まずはお見積書を発行いたしますので、添付の見積依頼書に必要事項をご記入のうえ、ご返信ください。」
とのメールが帰って来ました。
同時に見積り依頼書のxlsxファイル(エクセルファイル)が添付されているのでそれに記入をします。
②――――――――――――――――――――――――――――――――――――――――――――――――――――
見積り依頼書には記入する欄が設けてあるのでそこに記入しましょう。

・住所や氏名や連絡先(下図の赤い文字の部分)
・欲しいライセンス(形式はStudicaを参照とのことです。)
 ー僕は項目に「新規」、UnityProの欄だけに○をつけて、備考欄に「学生向け 年間ライセンス」と記入しました。


③――――――――――――――――――――――――――――――――――――――――――――――――――――


すると数時間後に右図のような見積り書がPDFで届きます。
ついでにメールには
・見積り書に押印またはサインをしたもの
・学生証の画像(スキャンしたもの)
を添付して返信して下さい。

と書いてあります。

自分は見積り書を印刷したのち押印し、さらにそれを学生証とともにスキャンしてPDF化する。という作業をしました。
そして作ったPDFをUnity側に返信します。

またこの他にもメールに
ユニティーテクノロジーズジャパン合同会社の銀行口座が書いてあります。

④――――――――――――――――――――――――――――――――――――――――――――――――――――

指定の口座に銀行振込します
(消費税込で13545JPYを振り込みました)。

以上で申し込みは完了となり、数時間後にUnityのライセンスがメールで送られてきます。


非常に長い説明でしたが、簡単にまとめると
・sales(at)〜にメールする。
・Unityからの返信で送られてくる見積り依頼書に記入する。(ライセンスの種類に注意)
・記入した依頼書をUnity側に送る。
・Unityから見積り書が届くので、それに押印またはサインをして返信する。
・ユニティーテクノロジーズジャパンの指定の口座に振り込む。
・ライセンスが降ってくる。

です。以上です。

裏OculusFestivalに参加してきました。

10/5に裏OcuFesに参加と登壇をしてきました。
俺が登壇して話した内容はこんな感じ↓

とりあえず、勉強会とは違って何かを教える感じではないので、ネタ重視で行きましたが、反応としては笑いがとれたのでほっとしました。よかったよかった。
参加者をざっと見てきたのですが、大体社会人でびっくりしました。(大学生俺だけだったのでは説がありましたね…)登壇も社会人が大多数で、参加者も社会人がいっぱい、あとは大学院生とか高校生がひとりずつみたいな感じでした。
そんなわけで非常に濃いメンツというか、内容がすっごく濃かったのが印象的でした。お金の力ももちろんあると思いますが、それ以前にプログラミング能力とかガチ考察とか個人個人に高いスキルがあったのがとてもおもしろかったです。

これからはスライドに書いてあるような感じで作っていきたいと思います。ネタバレスライドですが、まぁいいっしょ…
ニコニコのコメントは結構役立つというか視聴者が何を求めているのか本当にわかりやすく書いてくれるのでいいですね。そしてそれが大体俺の欲望と合ってるのがまた良い。
楽しく作っていきたいと思います。


それとはちま寄稿、俺的ゲーム速報@刃、初音ミクみく、日刊VOCALOIDガイド、ガジェット通信…etcなどの有名サイトにとりあげてもらえました。ありがとうございます!
スライドの3枚めに12700再生とか書いてありますけど、これ書いている段階(10/10 12時頃)で、すでに27400再生くらいだし、有名サイト効果凄いって感じですね。
モチベーションうpにつながるので感謝してます。

以上です。

Unity上のミクにしゃべってもらうまでのメモ

メモ書きなのでざっくり描きます。
MMD for Unity(以下M4U)でTda式アペンドミクさんをimportしてしゃべらせるまで

Tda式ミクアペンド.pmdhttp://bowlroll.net/up/dl16535 で調達する。(パス忘れた)
(pmxはM4Uで不可だし、PMDエディターでゴリ押しするとimportはできるけど、ボーンが死んでる。)

M4UでPMDをimportする。

importしたミクさんのボーンが壊れているので直してあげる。
http://d.hatena.ne.jp/hecomi/20130701/1372688924 を参考に。
追記:一見難しそうに見えますが、CCDIKSolverをいじったほうが良いかなと思います(こっちのほうが簡単)。
親子関係をいじるほうだと変に間違ってしまうことがあるので。

これで一応VMDはLoadできるようになったので適当にVMDをLoadする。
(ただしMMDver8.xで作ったモーションは動かない。自分はver7.39でやってます)

一応これでできそうに思うけど、重大な罠があって
VMDをAnimationに変換処理するときにExpression(表情)は変換されない(バグ?)
これを(ここ)を参考にコードを書きなおす。


これでMMDで作ったモーション(表情含)を完全に読み込むことが可能。

次はしゃべってもらうための音源作りとしてVOCALOID02Editorを用いる。

要はトークロイドしてもらうわけだけど、http://www.nicovideo.jp/watch/sm13651475
この解説動画を参考に作る。

音源が完成したらWAVとVSQを出力する。

VSQはモーション作成に使う。MMDを用いて上のmenuの「表情→vsqによるリップシンク」からVSQを読み込んで口パクモーションを自動的に生成する。
ただしVSQは0小節目も含んでいるためその分リップシンクのモーションフレームが240ほど後ろにいってるので、そこを範囲選択してvmdを保存する。

WAVについても最初の8秒くらいが0小節目として無音が登録されてしまっているので
SoundEngineFreeを用いて、無音部分を削る。
(WAV読み込み→波形タイムラインで右クリック→無音→両端無音削除)

以上で0フレーム目からはじまる口パクモーションとWAV音源を作れたのでそれぞれUnityにつっこむ

あとはVMDLoaderでさっき作った口パクモーションをLoadして、WAVをなんとかアニメーションに対応するように実行するようにコードを書く。


終わり。

以上メモ書きでした・。・

まとめるとM4Uを使ってミクでなにかするにあたって
・ボーンがぶっ壊れてるので直す。
・MMDv7.xxでモーションを作る。
・表情モーションをアニメーション変換できるようにコードを書き直す
・音源と口パクモーションをきれいにする。
ということです。

UnityにGoogle3Dのモデルをインポートして衝突判定をつける話。

先日OculusRiftが届きまして、早速Mikulusとか進撃の巨人風の立体機動装置体験ソフトで遊んだりしてました。
そして一年前に少し触ったことがあったUnityで何か作ろうかなと思ってちまちまやっていた次第です。
今回はUnityにGoogle3Dの無数にあるモデルをインポートしてメッシュにに衝突判定を判定をつけるという話をしたいと思います。

やっぱり建物をTerrainに置くときはAssetStoreにあるモデルを使うのが普通なのかなと思います。
でも

高い!

ということでGoogle3Dのモデルを使おうというのが今回の話です。
MMDでもお世話になったし、Unityでも使えたら便利だなぁと思ったらできるっぽいので)

用意するもの
・Unity(今回はUnity4を使っています。)
・Google3Dから落としてきたモデル
・AutoDesk FBX Converter(ここからダウンロードできます。PluginではなくConverter本体を落としてください。
今回私が使うのはFBX 2013.3 Converter for Windows 64-bitです。)
(今回はWindows7 64bitを前提に話をします。)


Unityはあらかじめ開いておきましょう。
次にGoogle3Dからモデルを落としてきましょう。
手頃なホワイトハウスがあったので例として今回はそれを用います。
URL:http://sketchup.google.com/3dwarehouse/details?mid=270dac48b7b602e0ab9b7ce77d5e846e&prevstart=24

画像右下の「モデルをダウンロードボタン」をクリックすると画像のように選択肢が出ると思います。

このうちCollada(.zip)というものを選んで下さい。

DLして解凍しましょう。

そうすると解凍したフォルダのなかにmodelというフォルダがあり
その中にwarehouse_model.daeというファイルがあると思います。

そちらは一旦置いておきまして次はFBXConverterを起動します。

そのうち左側のSource filesの中に先ほどのwarehouse_model.daeドラッグアンドドロップして、ファイルを追加します

右側のDestination filesの下の方に
Destination format
Destination file options
があると思うので
Destionation formatをFBX2013にして、
Destion file optionsのEmbed mediaをチェックします。
そしてその下のConvertボタンをクリックします。

特にファイルパスをいじってなければ先ほどのwarehouse_model.daeと同じフォルダにwarehouse_model.fbxが追加されているはずです。
あとはこれをUnityに追加します。


そうすると

こんなかんじで追加されました。
しかしこのままだと衝突判定がなくすり抜けてしまうので衝突判定を追加します。

あと何をするかというとmeshにmesh colliderを追加するだけです。


mesh51-56がありますが、54が外壁のメッシュ(?)っぽいです。
そこにComponent->Physics->Mesh Colliderをクリックしてmesh54にMesh Colliderを追加します。

これで外壁には衝突判定がつきました。


完全に衝突判定つけるならそれぞれのmeshにMeshColliderをつけないといけないっぽいです。
全体にMeshCollider一括して付けられないのかな。
やり方知ってる人いたら教えて下さい。

久しぶりに日記

6/22の勉強会お疲れ様でした。
なんとか大盛況のまま終えることができてよかったです。(懇親会ドタキャン勢のせいで多少財布が軽くなったのはまぁ置いておく)

当日はハッシュタグ#tkbcsmt がTwitterJPトレンド一位になるとか斧(物理)が登場するなど大変面白い感じでした。
講演のほうもなかなか順調に進んでくれて、特に問題もなかったです。
自分の講演ですが、C#勉強会といいつつXamlの話してたなぁとちょっと反省。
おそらく第二回もやりますが、来年とかになるかな。やる気はあるけど、時間がない奴。


それで勉強会の話は終わりにして、卒研の話。
卒研の内容はあまり詳しくは言えませんが、スマートフォンアプリ開発になりました。
Xamarin使ってC#たのしいいいいってやろうと思ったんですが、Xamarin高いので断念。あとはJavaやらないとなとか思ってたし別に…
といいたいところですが、やっぱりC#ってすごく便利なんだなと思わせてくれます。varとかラムダ式とかLINQとか。

これからAndroidStudioでゴリゴリコード書いて行きたいと思います。
サーバとの通信もしなくちゃいけないのでPHPも勉強する必要があるかなと思ってます。
ただPHPはそこまで学習コスト高くなさそう(言語仕様に振り回される可能性は多々あるが…)なのと、JavaについてもC#で培った経験が大いに活かされてるので
卒研用の開発時間的にはギリギリなんとかなるかなというのが所感です。
ぶっちゃけテーマが凄くニッチなので、実装できるかは不安です。ただ某社のプロジェクトが卒研お手伝いしてくれる(本当は学校の授業として何かコンテンツを作るのだが、その授業が大学院生向けで4年生の自分は単位がでないし授業要件満たす必要ないので単純に手伝ってくれるというありがたい話)のでなんとかしたい。


そういえばOculus Rift買ってしまいました。
本当は買っても遊ぶ時間あまり無さそうだなと思って敬遠してたんですが、結局買ってしまいました。
経緯としてはTwitterでMikulusしたい!!って暴れてたら突然知らない人(筑波大関係者)から「Mikulusしてみます?」とリプライが飛んできて、二つ返事でやります!と答えた結果いろいろあってMikulus体験出来ましたと。
Twitterの有効活用ですね。ほんとに。こういう時ばっかりは79000ツイートもしてる甲斐があるってもんだなと思うわけです。
でもTwitterに時間削られるのも良くないと思っていて1年前からちょっと意識してます。といっても全然減ってないのですが。
まぁでもこれを終わらせるまでは絶対にtwitterしない!って宣言して普通に止められるので、どこかから圧力あったら普通に辞められそう。

話を戻してOculus体験した感想ですが、ミクさんがそこにいたなと。あまりに自然すぎてびっくりしてしまいました。Tda式アペンドミクさんの腰装備についてるしっぽを触りたくなって手を伸ばしてしまったし、普通にそれがその人に見られてるわけですから本当は恥ずかしかったけど、それを上回る興奮があったわけです。
これは買わなくちゃ(使命感)ということで早速その夜ポチったってワケです。でも35600円は安い。そのうち届くっぽいし楽しみですね。

というわけで久しぶりに日記書きました。ミクのために卒研さっさと終わらせてOculusもといMikulusしたいですね。頑張ります。

勉強会をする話。

4/20頃にmaythplic君、mimi_nary君がC#勉強会あったらやりたいね。という話をしていていつの間にか俺が主催者となって勉強会をする流れになってた。
なんだこれゎ

とりあえず、6/22にやるのでこのBlog見てる方でもしよければ参加してみてください。
ちなみに僕はBlend for VS2012でかっこいいUIを作ろうという話をします。

メンツを見てる限りMicr○SoftMVP(Micr○Softお墨付きのC#er)とかC#ぐぐると2番めのページの管理者とか他怖い人達ばっかりいますが、
この先生きのこるにはどうすればよいでしょうか。

頑張りまーす。

すべてのウィンドウタイトルを”みくあぺ”にしてやる…

[DllImport("user32.dll")]
private static extern bool SetWindowText(IntPtr hWnd, string lpString);

[STAThread]
private void Allmikuape_Click(object sender, RoutedEventArgs e)
{
foreach (var process in Process.GetProcesses())
{
IntPtr windowHandle = process.MainWindowHandle;

if (windowHandle != IntPtr.Zero)
SetWindowText(windowHandle, "みくあぺ");

}
}