MikuMikuDance on FxOS
アジェンダ
• 自己紹介
• 前回のハイライトと反省
• WebGLを使う際の注意点
• MMDをWebGL動かす
– PC
– KEON
– Nexus S
自己紹介
• @inuchin
• 表→ブリリアントサービス所属
• 裏→ディーワード代表
• 3D歴 おおよそ15年
前回のハイライトと反省
• 第2回での発表は、3Dを触ってない人向けに
さわりの部分だけだったので、物足りない、という意見が出てた
• 今回は振り切ります
前回のハイライトと反省
three.js http://threejs.org/
WebGLを使う際の注意点
• Khronos.orgにある「WebGL and OpenGL Differrences」を参照 http://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences
• 2のべき乗に関する制限(Non-Power-Of-Two)
• 頂点データセマンティクスの制限
• doubleが使えない
• 3DTexureが使えない
• texture2DLodが頂点シェーダでしか使えない
• フラグメントシェーダーの精度はGPU依存
MMDをWebGLで動かす
• MMD.jsを借りてきてドヤ顔します https://github.com/edvakf/MMD.js
– PMD/VMDに対応
– トゥーンシェーダー(CLUT)
–セルフシャドウ(PSM)
• モデルは「つみだんご」氏のぜかましちゃんをお借りしています
KEONで動かす
• 動きません
• V1.1では完全にハングアップ
• Nightlyを入れると、ハングアップはしないものの、画面にポリゴンは表示されない
Nexus Sで動かす
• 遅いですが動作はします
• 負荷はレンダリングよりもIK処理の模様
• Javascript JITが無いとか?
• asm.jsとかが使えれば早くなりそうな予感
どこが遅いのか
• なんとなく行列計算かな(モーション)
• フラグメントシェーダーがリッチかも
• Windowsだからー(Mac上のFFの方が早い)
• モデルが重すぎ