資料室 ページ指定表示
資料室 ページ指定表示
 ■Report Liblary..._____________
| HOME | | 最新3ページ | | 最新100リスト | | 10回毎一覧 | | ANDOR  | | 辞書 |

Close

Only
000050.JavaScriptでMQO to VMLコンバータ 
  (2004年10月14日(木) 20:01)

Open
JavaScriptでMQO to VMLコンバータ

●どんなものなのか
タイトル通りですが、Metasequoia形式(*.mqo)から、
VectorMarkupLanguage(以後VML)に変換するプログラムです。
IE6では標準のままで見れますが、他は知りません。
3D表示するのに最低限+α程度のデータを解析し、VMLとして表示します。
カラーは取れるけど、ミラーとかテクスチャーとかは対応してません。
ドラッグによる回転も出来ますがかなり重いです。
で、VMLは3D用のデータではないので3次元座標を持っておらず、非可逆です。
生成されたVMLコードをHTML内で表示するなりして遊んでください。

●簡単な使い方
Metasequoiaで生成されたmqoファイル(なるべく面数の少ないもの)を
テキストエディッタで開いて、全部コピーして、
画面左上のmqo項目のテキストエリアに貼り付けます。
そして上部中央の「変換」ボタンを押すと、
VMLコードが右上のテキストエリアに書き出され、
画面下には実際にデータが表示されます。
適当に回転して、気に入ったアングルでVMLコードをコピーして
好きなように使ってください。

●各項目の解説
・MQOとVMLの「選択」ボタン
  各テキストエリアのテキストを全選択した状態にします。
・「変換」ボタン
  変換処理、画面更新を行います。
  マウスドラッグでも画面は更新されますが、
  色など一部項目はこちらじゃないと更新されない所もあります。
・描画サイズ
  描画画面のサイズです。
・倍率
  オブジェクトの表示倍率です。
  100%でmqoでのサイズ1が、約1ドットになります。
・歪み
  奥行によって、手前のものは大きく、奥のものは小さく見せる比率です。
  0%で差は0になります。
・位置
  オブジェクトを表示する位置を指定します。
  データによっては画面からはみ出したりなので、ここで調整してください。
・面濃度
  面の透明度を指定します。
・カリング
  カリング処理(裏向きの面は描画しない)を行います。
  チェックを外すと両面扱いになるので、全ての面が描画されます。
・Zバッファ
  Zバッファ処理(奥から描画する)を行います。
  オブジェクト毎に、面の中心点で計算を行っています。
・線幅
  面を縁取る線の幅を指定します。
  線の色はmqo内のデータが使われます。
・線濃度
  線の透明度を指定します。
・線保護色
  線の色を面の色に合わせます。
・縁取り(チェックボックス)
  縁取り処理のON/OFFを切り替えます。
  線の色はデフォルトではmqo内の値が使われます。
・縁取り線幅
  縁取りの線の幅を指定します。
  1だと、面に隠れてしまうので、2以上で指定します。
・線色
  縁取りの線の色を指定します。
  チェックを入れると有効になります。
・回転
  X軸、Y軸で回転角度を指定します。
  マウスドラッグすることで回転も行え、そのときこの値は自動更新されます。
・リセット
  回転の値を0にします。
・ドラッグ
  マウスドラッグでオブジェクトの回転をする機能のON/OFFです。
・光方向
  光源の方向を指定します。
  指定した方向からの無限平面光線になります。
・輝度
  光の強さを指定します。
  0でシェーディング処理を行いません。
・光源色
  光源の色を指定します。
・環境、反射、コントラスト
  それぞれのシェーディング処理のON/OFFを切り替えます。
  反射は環境がONになっていないと効果が出ません。
  これら項目については別途解説。
・背景色
  背景の色を指定します。

●VMLお絵かき掲示板での使い方
まずはmqoをVMLに変換し、VMLコードを生成取得しておきます。
先頭の「<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />」は削除します。
お絵かきのほうで適当に線を書き、履歴からそのパーツだけを選択し、編集状態にします。
情報タブの所にソースコードが表示されるので、そのノードIDをVMLコードに記述します。
「<v:shape id=nr1 ・・・」の「nr1」がノードIDになります。
VMLコードのほうの「<v:group id=Obj」となっているところを
「<v:group id=nr1」のように書き直します。
(この処理をしないと再編集できなくなります)
情報タブのテキストエリアを全部消し、書き直したVMLコードをペーストして
更新ボタンを押せば出来上がり。

●制限とか
・テクスチャ、影、スムースやバーテックスシェーディングが無い
 無理無理。VMLで頂点カラーが実装されればバーテックスはいけるかも。
・重い
 300ポリくらいまでならどうにかなると思うけど、それ以上はきついですね。
 高速化案とかあればむしろ教えて欲しい。
・mqoにあるカメラアングル情報
 現在使えません。そのうち対応するかも。
・ドラッグによる回転が時々おかしな動きになる
 JavaScriptの仕様です。
・VRMLは?
 標準のままのIEで使えることを目的としてるので。対応してません。

●これを作った動機というか、何のためなのか
MetasequoiaユーザーでVMLに興味があるのは数人程度だろう。
VMLに興味があって、3Dをやっているのは数十人あるいはもっとだろうか。
某掲示板で晒す予定なので、これを期に興味を持つ人が少し居るかも知れないが、
結局やっぱり数人しか使わないだろうと思う。
個人的にはDHTMLとして評価してもらいたい。
が、その手のサイトやJavaScript関係で公開しても、
評価出来る人は居ないのではないだろうか。
元々自己満足だが、どれほど無駄な事に力を注いでるのかを知って欲しいと思った。

●著作権とか免責とか
基本的に良心に任せます。
生成されたデータについてはご自由にどうぞ。
このツール自体又は一部を、直リンクとかコピー、利用するならご相談ください。


| HOME | | 最新3ページ | | 最新100リスト | | 10回毎一覧 |
■0x112 ■0x227 ■0x55F ■0xDDF ■0xF36 ■0xF8B ■0xEBC ■0x114 ■0x33F ■0x77F ■0xAAF ■0xEEF
____________Report Library Ver2.00β 2003/08/27_bomber@xps.jp_http://bomber.xps.jp/_