UnityとnodeとMMDと
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

UnityとnodeとMMDと

on

  • 11,819 views

 

Statistics

Views

Total Views
11,819
Views on SlideShare
6,473
Embed Views
5,346

Actions

Likes
17
Downloads
42
Comments
0

17 Embeds 5,346

http://d.hatena.ne.jp 4285
http://vocaloid.blog120.fc2.com 324
http://stersblog.blog15.fc2.com 269
http://inoook.tumblr.com 170
http://control.blog.fc2.com 128
https://mj89sp3sau2k7lj1eg3k40hkeppguj6j-a-sites-opensocial.googleusercontent.com 103
http://krustf.hateblo.jp 25
https://twitter.com 14
http://admin.blog.fc2.com 12
http://twitter.com 4
https://si0.twimg.com 3
http://cache.yahoofs.jp 2
http://yandex.ru 2
http://webcache.googleusercontent.com 2
http://translate.googleusercontent.com 1
https://www.google.co.jp 1
http://geechscamp.lovepop.jp 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

UnityとnodeとMMDと Presentation Transcript

  • 1. Unity×node×MMD @sters92012/09/15 第二回 闇鍋プログラミング勉強会
  • 2. 自己紹介 a• ごみばこ @sters9• 大学生• Webサイト作成• セキュリティ勉強中• node.jsで稼働中のTwitterBOT 計算くん @calc_man
  • 3. とは?_人人人人人人人_> JavaScript < ̄^Y^Y^Y^Y^Y^Y^ ̄
  • 4. とは?• サーバサイド• V8エンジン• ノンブロッキングI/O• イベント駆動• パッケージ/モジュール管理
  • 5. Lets Start!1. 公式サイトからDL2. インストール3. Enjoy!! Windows/Mac/Linux AllOK!
  • 6. こんにちは世界// app.jsvar http = require(http);http.createServer(function (req, res) { res.writeHead(200, {Content-Type: text/plain}); res.end(Hello World ¥n);}).listen(1337, "127.0.0.1");console.log(Server running at http://127.0.0.1:1337/);
  • 7. こんにちは世界 node app.js で起動ブラウザで http://127.0.0.1:1337/ を開く
  • 8. こんにちは世界
  • 9. パッケージ管理・どこからでも使いたいnpm install -g PackageName・アプリ内だけで使いたいnpm install PackageNameパッケージの後ろに"@バージョン"で バージョン指定可能
  • 10. パッケージ管理アプリのルートにpackage.jsonを配置{ "name": "example-app" , “dependencies” "version": "0.0.1" , "private": true, を編集して "dependencies": { npm install "express": "2.3.11" , "jade": ">= 0.0.1" , でもOK "socket.io": "0.6.18" }}
  • 11. とは?
  • 12. とは?<(^o^)>┌┛’,;’;≡三
  • 13. とは?
  • 14. とは?• ゲームエンジン• マルチプラットフォーム• 統合開発環境• 十分使えるフリー版!!
  • 15. とは?• いろんな形式に対応 fbx, max, blend, ... jpeg, png, gif, psd, ... mp3, wav, avi, mpg, ...• スクリプトが書ける C#, JavaScript, Boo
  • 16. Lets Start!1. 公式サイトからDL2. インストール3. Enjoy!! あと省略。
  • 17. MMDとは?
  • 18. MMDとは?• 3DCG動画作成ツール• モーションが付けられる• エフェクトが付けられるらしい• Kinectとかリップシンクロとかできるらしい• 有志制作のモデルが豊富
  • 19. Lets Start!1. 公式サイトからDL2. インストール3. Enjoy!! やっぱり省略。
  • 20. もしかして・・・• Unityのゲーム画面• Node.jsのサーバ• MMDのモデル
  • 21. もしかして・・・簡単にMMORPG(もどき)が作れるんじゃ!? やってみよう! (ここで闇鍋の具材になってしまった)
  • 22. ネイティブアプリ??ダウンロードやインストールが面倒!
  • 23. Webアプリ? 通信できるのかな? HTTPで淡々と。 サーバからのプッシュ配信が難しい Cometでできる…けど別の問題が…
  • 24. G先生に聞くと。http://wise9.jp/archives/3930
  • 25. !!
  • 26. socket.io とは? Socket.IO は複数の通信メカニズムを抽象化することで、 全てのブラウザ、デバイスでリアルタイムアプリを実装可能にするために開発されました。とても手軽にリアルタイムなアプリを 100% JavaScript で作成可能です。
  • 27. Unityで使える…?( ^o^) socket.ioすげえええええ
  • 28. Unityで使える…?( ˘⊖˘) 。o( もしかしてクライアントは そのまんまUnityでも使えるんじゃ…? )
  • 29. Unityで使える…? ┗(☋` )┓三
  • 30. Unityで使える…?( ) ☛ ザコめ・・・
  • 31. Unityで使える…?▂▅▇█▓▒░(ω)░▒▓█▇▅▂ ウワアアアアアアアア
  • 32. Unityで使える…?ちなみにソースを見ると・・・
  • 33. Unityで使える…?▂▅▇█▓▒░(ω)░▒▓█▇▅▂ ウワアアアアアアアア
  • 34. Unityで使える…? というわけで諦めます ✌(ω)✌ 他にも沢山エラーが…そもそもWebSocketが無いと駄目じゃ…
  • 35. ということで案1:UnityのNetwork案2:普通のWebSocket案3:Unity←(データ)→ブラウザ
  • 36. Unityとブラウザのやり取り• Unityからブラウザ Applicationクラス ExternalCall(関数名, 渡すデータ…) ExternalEval(実行する文字列)• ブラウザからUnity Unityオブジェクト SendMessage(ゲームオブジェクト, 関数名, 渡すデータ)
  • 37. Unityからブラウザへ // ブラウザ側 JavaScriptで記述 function position() { console.log(arguments); }
  • 38. Unityからブラウザへ// Unity側 C#で記述Application.ExternalCall("position", 0, 0, 0);var p = new Dictionary<string, int> () { {"x", 0}, {"y", 0}, {"z", 0} };Application.ExternalCall("position", p);var p2 = new pos();p2.x = 0; p2.y = 0; p2.z = 0;Application.ExternalCall("position", p2);Application.ExternalEval("alert(Hi!)");
  • 39. Unityからブラウザへ クラスを渡すのは駄目
  • 40. Unityからブラウザへ
  • 41. Unityからブラウザへ
  • 42. ブラウザからUnityへ// Unity側 C#で記述void getData(string x) { guiText.text = x;}void getData2(object x) { guiText.text += "¥n" + x.ToString();}
  • 43. ブラウザからUnityへ// ブラウザ側 JavaScriptで記述setTimeout(function() { var unity = GetUnity(); if(unity == null) return; unity.SendMessage(GUI Text, getData, "its test"); unity.SendMessage(GUI Text, getData2, "message"); unity.SendMessage(GUI Text, getData, 12345); unity.SendMessage(GUI Text, getData2, 67890); unity.SendMessage(GUI Text, getData, [1,2,3]); unity.SendMessage(GUI Text, getData2, [4,5,6]); unity.SendMessage(GUI Text, getData, {x:1}); unity.SendMessage(GUI Text, getData2, {y:2});}, 5000);
  • 44. ブラウザからUnityへ型にあったメソッドしか呼ばれない オブジェクトは渡せない
  • 45. Unity×MMDMikuMikuDance For Unity !!
  • 46. MFUとは?・Unityへのインポータ・シェーダ・物理演算・その他プラグイン・ツール・ここでは r116 を使ってます。・SourceForgeからDLできるものはr114
  • 47. MFUを使ってみる MFUの準備
  • 48. MFUを使ってみる 博麗の巫女
  • 49. MFUを使ってみる ファイルの用意
  • 50. MFUを使ってみる PMD Loader
  • 51. MFUを使ってみる 表示すると・・・
  • 52. MFUを使ってみる FixedJointに置換
  • 53. MFUを使ってみる 確認してみる
  • 54. MFUを使ってみる VMD Loader
  • 55. MFUを使ってみる 動きがおかしい…
  • 56. MFUを使ってみる MMDIKBaker
  • 57. MFUを使ってみる MMDIKBakerを使う
  • 58. MFUを使ってみる MMDIKBakerを使う
  • 59. MFUを使ってみる MMDIKBakerを使う
  • 60. MFUを使ってみる 再度確認…
  • 61. MFUを使ってみる ミクダヨ-
  • 62. MFUを使ってみる インポート
  • 63. MFUを使ってみる インポート
  • 64. MFUを使ってみるモーションの使い回し
  • 65. MFUを使ってみるモーションの使い回し
  • 66. MFUを使ってみる 動かない…
  • 67. MFUを使ってみるVMDLoaderに入れて…
  • 68. MFUを使ってみる Assetが出来た
  • 69. MFUを使ってみる ちなみに… どっち!?
  • 70. MFUを使ってみるおまけ: VMDLoaderScript.cs
  • 71. MFUを使ってみるおまけ: VMDLoaderScript.cs
  • 72. MFUを使ってみる 再生
  • 73. MFUを使ってみる 再生・恐怖・肩?腕?使い回しだからかちょっとおかしい・MMDIKBakerに掛ける前のモノをMMDで修正・再度MMDIKBakerに投げる・VMDImporterに投げる すると・・・ .
  • 74. MFUを使ってみる できた
  • 75. MFUを使ってみる できた・原因不明・PMDEditor付属のVMDViewでFixするとできた
  • 76. MFUを使ってみる 今度こそできた
  • 77. MFUを使ってみる ちなみに
  • 78. でぷろいしてありますhttp://go.ascii.jp/yaminabe2
  • 79. 今朝、某動画サイトにて
  • 80. !! ,. -‐""¨¨¨ヽ (.___,,,... -ァァフ| |i i| }! }} //| |l、{ j} /,,ィ//| i|:!ヾ、_ノ/ {:}//ヘ |リ } ,ノ _,!V,ハ | あ・・・ありのまま /´fト、_{ル{,ィeラ , タ人 今起こった事を話(略 / ヾ|宀| {´,)⌒`/ |<ヽトiゝ ,゙ / )ヽ iLレ | | ヾlトハ〉 |/_/ ハ !ニ⊇ /:} V:::::ヽ // 二二二7T / __ /:::::::/`ヽ /´r -―一ァ‐゙T´ "´ /::::/-‐ \ / // 广¨´ / /:::::/´ ̄`ヽ ⌒ヽ ノ / ノ:::::`ー-、___/:::::// ヽ }_/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::... イ
  • 81. 丸かぶりじゃねーか!!
  • 82. 一応:あちらとは 関係ありません。DXライブラリならC++かなあ… 大変そうだ…
  • 83. ゲーム作りは何を使っても 大変…
  • 84. 素人さんには出来ない?
  • 85. でも。
  • 86. ツールたくさん!!コンテンツたくさん!!
  • 87. Unityつかってみよう!!MFU つかってみよう!! 強引すぎワロタ…
  • 88. でも規約に気をつけて!! 改変とか転載とかとか…
  • 89. ありがとうございました