[[PageNavi(StubList)]]
= jThree
[http://jthree.jp/ jThree] とはざっぱにはブラウザーでMMDをやるツール。一応Android でもできたから、たぶんほとんどのブラウザーで動かせるんじゃないかな。
正確には
1. [https://developer.mozilla.org/ja/docs/Web/WebGL WebGL] というブラウザーのスクリプト言語(普通はjavascript)で直接OpenGLを扱うプロトコルがあって
2. でもあまりに細かい命令しかないから、オブジェクト単位で扱えるようにした [http://threejs.org/ three.js] というのがあって、
3. それでも文法が良く分からないから、[https://jquery.com/ jQuery] もつかって、XHTML 感覚で扱えるようにしたものが
jThree らしい。よく「スクリプト0行で書ける」とか宣伝してるけど、本当にMMDモーションとモデルがXMLで指定した通りに、'''バイナリーのまま読み込める'''ので、
本当にスクリプトは書かなくていい。変わりにXMLは書くし、モーションもあらかじめMMDなどで作る必要がある。
もちろん、MMDMotionなら'''Macでもモーションを作れる'''。
[[PageOutline(start=2)]]
== jThree 実験記録
何ができて、何ができないかを記録し、将来的にMMDモーションで何かを解決するツールを提供することを考える。
jThree v2.1.2, MMDプラグインが1.6.4 のとき
=== 動作
|| OS || 環境 || ブラウザー || 閲覧 || 操作 || {{{file:///}}} || 物理演算 || 音楽同期 ||
|| Windows 7 (64 bit) || Core i5 || firefox || △(ブラウザーのbodyでは難あり。div箱内は○) || ○ || ○ || × || ○ ||
|| Windows 7 (64 bit) || Core i5 || ie 12 || ○ || ○ || × || △ || ○ ||
|| Windows 7 (32 bit) || atom || firefox || × || × || × || × || ○ (音が独立で鳴るだけ) ||
|| Windows 7 (32 bit) || atom || ie 12 || ○ || ○ || × || △ || ○||
|| android || || 内部ブラウザー || × || × || × || × || × ||
|| android || || Chrome || ○ || △ || × || △ || × ||
|| android || || firefox || ○ || ○ || × || △ || ○ ||
一応 Windows 64 bit Chrome が開発環境らしいけど、まだ試してない。
ie が意外と使える範囲が広い。android ではなぜか Chrome より firefox の方が使える!
また、タッチパネルでの操作はやっぱ楽しい。
=== モデル読み込み
サーバーにアップロードすると再配布になってしまうので、お見せできないが、
ローカルでいろいろ読みこんでみた感想。
* PMX モデルと Xファイルモデルが使える。PMDは全くだめ。
* PMX モデルではスフィアマップに PNG 形式が使えたりするが、 BMP しか使えない。
* テクスチャーには PNG 形式か BMP 形式しか使えない。TGA は変換しなければいけない。
* トーンはPMD時代ではBMPのみ受け付けるものだったが、なぜか PNG のみ受け付ける。(要するに全PMDモデルは大幅な変更が必要)
* 外部親接続はできない。だから、モデルに物を持たせることができない。
* モデル内IK は機能しているらしい。
* モーフは頂点モーフ(形状変化)にだけに対応しているらしい。色換え・テクスチャー換えは不可。
* セキュリティー上の理由で、File: プロトコルはまず使えない。そこでhttpサーバーを使うのだが、
そうするとファイル名の大文字と小文字が区別される。案外気づかないのか結構な数のモデルが、
テクスチャーのファイル名の大文字と小文字があってないので、真っ黒になる部分が出てくる。
=== モーション読み込み
* モーフは頂点モーフにしか対応しないが、ボーンは正確に対応しているらしい。
=== MMDMotion の力で何とかする
[[PageNavi(StubList)]]