2015/10/03 更新








   mini3Dviewer version.1.35 説明書   





ダウンロード : mini3Dviewer20151003.zip ( 約8.7MB )





ソフトの特徴

・mini3Dviewer は、3次元図形データの一種である Wavefront OBJ ファイルやメタセコイアファイルを読み込み、 マテリアルの調整を行うことができます。

・読み込んだ図形は通常のウィンドウで表示する他に、Oculus Rift DK2 や 3D対応テレビで鑑賞することが可能です。

・Oculus Rift DK2 を使用すると、読み込んだモデルの空間に自身が入ったようなリアルで衝撃的な仮想体験が可能です。 コマンドライン引数に /oculus を指定すると、簡単に Oculus Rift DK2 モードで起動できます。 ( Oculus Rift DK2 での使い方は 後述の "[立体視] ダイアログ" をご覧ください。)

・本ソフトは主に Poser 7J と Shade 10 からエクスポートされる OBJ ファイルで表現上のチェックを行っています。

・下図は「Shadeアンロックデータ集-STRONG ARMS-」のロボットのデータを Shade 10 から OBJ で エクスポートし、本ソフトで読み込んで、マテリアルの変更と透視投影の程度変更を行った例です。

・グラフィックのハードウェアが一定水準に達していれば、バンプマッピングを行うことができます。下図は Poser 7J のT.Y.2さんをデフォルトのままエクスポートして読み込んだ例です。

・凹多角形の表示に対応しています。下図は1枚の約2千角形です。

・立体視の機能については、家庭用3Dテレビなどサイドバイサイド方式と、偏光メガネで見るラインバイライン方式と、二種類に対応しています。 下図は「Shadeアンロックデータ集-自動車データ トヨタ自動車編-」のプリウスのデータを Shade 10 から OBJ でエクスポートし、 本ソフトで読み込んで、ラインバイライン方式による立体視表示をさせた例です。これを適切なモニタで見ると立体になります。

・下図はサイドバイサイド方式の立体視の例です。これを家庭用3Dテレビや適切なモニタで見ると立体になります。 ダイアログ自体もサイドバイサイド表示されるので、立体視中もダイアログでマテリアルの調整を行えます。

・グラフィックのハードウェアが一定水準に達していれば、最低限の品質ですが、影の表示を行うことができます。

・グラフィックのハードウェアが一定水準に達していれば、マルチサンプルによるアンチエイリアシングを行うことができます。

・ OBJ ファイルを読み込んで解釈できるコマンドは以下のとおりです。

mtllib / usemtl / g / v / vn / vt / f

・mtlファイルを読み込んで解釈できるコマンドは以下のとおりです。

newmtl / Kd / Ka / Ks / Ns / d / map_Kd / map_d / map_Bump





使い方

  ・zipアーカイブを解凍すると、オレンジ色のアイコンのexeがあります。64 bit OS の方は mini3Dviewer_64bit_SDK0.X.exe を、32 bit OS の方は mini3Dviewer_32bit_SDK0.X.exe を 実行してください。VRモードを利用する場合は Oculus Rift DK2 の Runtime が必要です。Runtime のバージョンに応じた exe を起動してください。

・本ソフトを起動し、エクスプローラー等から OBJ ファイルをドラッグ&ドロップでウィンドウに落としてください( MTL ファイルは自動的に読み込まれます)。 すると、いろいろメッセージが出た後、ウィンドウに表示されます。 ( この際、凹多角形を多用していると表示完了まで時間が掛かることがあります。)

・読み込み中、MTLファイルからさらに参照される他のファイルについては MTL ファイルからの相対パスとして サーチされますが、みつからない時は探索をするか代替ファイルを指定するか選択するメッセージボックスが現れますので、必要に応じて設定してください。 とくに Poser 7J からエクスポートされる MTL ファイルでは何の情報も無くファイル名しか書かれていませんので このような時は例えば C:\Program Files (x86)\e-frontier\Poser 7J\Downloads\runtime\textures (一例) を探索の起点に指定します。

・フォルダの探索設定は開いたファイルのフォルダごとの設定として以後引き継がれます。

・モデル上をダブルクリックすると、その位置を注視点に設定します。

・マウスの左ボタンまたは中ボタンのドラッグでモデルの回転を行います。

・マウスの右ボタンのドラッグでモデルの拡大縮小を行います。

・マウスの左ボタンまたは中ボタンと右ボタンの同時押しドラッグでモデルの移動を行います。

・マウスのホイールは、立体視モードの時は前後の移動、そうでない時は拡大縮小操作、になります。

・ウィンドウの左上には、3つのリストボックスがあり、それぞれ、マテリアル、グループ、連続領域、の一覧を示しています。

・グループのリストボックスでは選択中のマテリアルについてのみ表示します。連続領域のリストボックスでは選択中のグループについてのみ表示します。(つまりツリーの階層ごとに表示しているようなもの)

・表示されているモデルのどこかをマウスでクリックすると、そのクリックした位置に対応する、マテリアル、グループ、連続領域がリストボックス内で選択されます。

・リストボックス内のチェックで表示/非表示を切り替えることができます。(三つのリストボックスのチェックの効果はANDです)

・ウィンドウ左下には設定ダイアログがあります。以下、順に説明します。

[マテリアル] ダイアログ



・このダイアログでは、選択中のマテリアルについてその設定を変更します。マテリアルの選択は、リストボックスをクリック、または、モデルを直接クリックします。

・アンビエント、ディフューズ、スペキュラの短いスライダは上から順にRGB成分のスライダです。その上にある長いスライダはRGBの比を保ちながら値の最も大きいものと連動します。 大きさのみをざっくり変更したい時はこの長いスライダを使うと便利です。

・[ファイル指定]を押すことでテクスチャマッピングやバンプマッピングに使用するファイルを指定できますがUVを編集できるわけではありませんので、同種ファイル間の差し替え等の用途にしか使えません。

・[保存] ボタンを押すと、変更後の内容でMTLファイルを上書きします。保存時にはテクスチャファイルのパスの記述方法を指定する必要があります。

・[簡単設定] ボタンを押すと、選択中のマテリアルがそれっぽい表現になります(万能ではありません)。ただしバンプマッピングがある時と無い時で表現が異なります。

電源容量ギリギリでPCを運用しているとアルファを1.0以外にした途端、使用電力が上がってシステムがシャットダウンされることがあるようです。

[法線] ダイアログ



・このダイアログでは、法線の設定を行います。

・法線のタイプとして、[スムーズシェーディング無し] [読み込まれた頂点法線を使用] [本ソフトが生成した頂点法線を使用] から選択します。

・[本ソフトが生成した頂点法線を使用] を選んだときは閾値も設定します。頂点法線の計算ではある面の構成頂点ひとつひとつについて周りの面を探索しますが、 この探索において元の面と探索面のなす角が指定の閾値より小さい面だけを列挙して計算します。

・[法線を確認]をチェックすると、そのモードでの法線が表示されます。( 表示に使われる法線の長さは面ごとに自動計算されるもので意味がありません。)

・[裏表]を区別しないをチェックすると、面の裏表を区別せずモデルを表示します。多くの OBJ ファイルはこの裏表についてルーズなので、チェックはONにしないとおかしい表示になることが多々あります。 ただし非力なビデオカードではこのチェックをONにすると極端に表示が遅くなることがあります。

[影] ダイアログ



・このダイアログでは、影の表示/非表示、その濃さを設定します。

・作成する影の解像度を決めるために、表示中ウィンドウの縦横何倍の広さで計算するかを指定できます。 デフォルトは横が2倍、縦が3倍です。値が大きいほど影も高解像度になりますが、大きすぎると影の計算に失敗することがあります。

・表示中にコントロールキーを押すと、ライトからみた図を確認できます(この時の図を上記指定倍率のウィンドウに描画することで影を作成しています。)

[ライト] ダイアログ



・このダイアログでは、ワールド座標系でのライトの位置を指定します。

・座標系は、右方向がX軸正、上方向がY軸正、手前方向がZ軸正です。

[領域確認] ダイアログ



・このダイアログでは、モデルをマウスでクリックした部分について、それを含む指定領域のみに制限して表示します。

・制限表示とリストボックスのチェックは AND です。

・制限表示を解除し忘れると変なことになりますので 使用後は [解除] のボタンを必ず押してください。

・[元データチェック]ボタンを押すと、クリックした面についての情報をテキストで表示します。

[立体視] ダイアログ



・このダイアログでは、サイドバイサイド方式の立体視、ラインバイライン方式の立体視、Oculus Rift DK2 による仮想体験 を選択することができます。

・サイドバイサイド方式では自動的にフル画面表示になります。この際、実際のウィンドウサイズを 厳密にフルサイズにするかどうかでドライバの挙動が変わることがありますので、望む状態にならないときは 一番下のチェックを ON/OFF してみてください。

・Oculus Rift DK2 を接続した状態で本アプリケーションを起動し、このダイアログの "VR mode" を選択すると、 表示ウィンドウがOculus機器側に移動し、仮想体験が可能となります。(元のデスクトップ側の表示は無くなります)

・起動時にコマンドライン引数 /oculus を追加すると、最初にファイルを指定するだけで仮想体験が始まります。

・Oculus Rift の公式サイトよりバージョン 0.5.0.1 以降の ランタイムを事前にインストールしておく必要があります。

・仮想体験中のキー操作は以下の通りです。(フレームレートが遅い環境ではキーを押しっぱなしにしないと反応しません)
                                           
ESCキー 強制終了 (タスクマネージャーで消すのと同じ)
Q キー 通常終了 (閉じるボタンを押すのと同じ)
E キー 通常モードへ移行 ("無効" を選択するのと同じ)
F1キー 表示モニタ切り替え
F2キー 設定ダイアログ表示/非表示
マウス左ボタンをドラッグ モデル中心の回転
マウス右ボタンをドラッグ モデル中心の拡大縮小
マウス左+右ボタンをドラッグ 上下左右移動
マウスホイール 前後移動
CTRLキー+マウス操作 ウィンドウ中心の操作
マウス左ボタンをダブルクリック 注目点のセット

[その他] ダイアログ

・このダイアログでは、雑多なその他の設定を行います。

・背景は黒と白のみ選択できます。

・注視点の座標を数値で指定できます。

・透視投影の程度を0から1で指定できます。

・座標軸の表示/非表示を指定できます

。 ・[FPSチェック] を ON にすると、シーンの表示に掛かる時間の逆数を示します。 "core"の数値は潜在的に1秒当たり何枚の画像を表示できるかに相当します(実際のフレームレートとは異なります)。 "last"の数値は前回の表示から今回の表示にかかった時間を元に実際のフレームレートを計測した結果を示します。

・読み込んだ MTL ファイルの Ns の値がなぜかゼロになっていることがたまにあるので、 その場合は自動的に修正されますが、その修正する数値を指定できます。

・バンプマッピングの程度とアルファマッピングの程度を変更できます。適用を押すと変更を反映した上でテクスチャファイルを再読み込みします。

・半透明と非透明の閾値を変更できます。ここでいう閾値とは、アルファの値が指定値以上だと非透明、未満だと半透明とみなす数値です。 半透明とみなされた領域は Z バッファを使用せず、独自の方式で描画します。

[アンチエイリアシング]

アンチエイリアシングの設定を行います。グラフィックカードへの負荷が高いのでデフォルトは[無し]です。







使用条件

・本ソフトはフリーソフトです。無料でお使い頂けます。

・仕事の現場でデータのチェックに使うなどの商用利用も認めます。ただし、本ソフトを利用する行為自体で対価を得る業は認めません。

・本ソフトの紹介は営利/非営利にかかわらず作成者に断りなく行っていただいて結構です。

・作成者が把握するサイト以外での本ソフトの再配布は認めません。
2015/10/3現在、以下の2箇所のみです。
http://www.vector.co.jp/soft/winnt/art/se493429.html
http://morigon.jp/mini3Dviewer/

・将来、予告なく本ソフトの仕様変更を行うことがあります。

・OBJ ファイルと MTL ファイルに対する本ソフトの解釈と表示が正しいことを保証するものではありません。

・本ソフトを利用されたことによるいかなる被害や損失について本ソフトの作者と関係者は責任を負いません。

・ネットブック、リモートデスクトップ、仮想環境での動作はサポートしておりません。

・問い合わせに対して回答を保証するものではありません。





注意点

・本ソフトはメモリをたくさん使うので、64bit OS 推奨です。32 bit OS ではメモリの断片化が激しく、起動後初回に読み込むデータくらいしか満足に読み込めません。

・Shade 10 からエクスポートされる OBJ ファイルは、アルファを使用しているとテクスチャ画像やMTLファイルがおかしくなることがあるようです。その場合、手作業によるファイルの修正が必要になります。

・オンボードグラフィックスやリモートデスクトップなど非力なグラフィックス環境ではまともに動作しません。

・モデルをクリックして一瞬表示されるハイライト表示は構成面の辺を示していますが、面が5角形以上の時は再分割をしているため、その分割線も見えてしまいます。

・立体視を行うときの立体感については、個人差があります。

・Oculus Rift DK2 の注意点や取り扱いの詳細は他のサイトに詳しいので、そちらを見てください。





Oculus Rift DK2 動作実績

Test1 : バージョン 0.6.0.1 の ランタイムのDirectモードでmini3Dviewer_64bit_SDK0.5.exe を使用し、VR モードで同梱のサンプルを表示した結果
Test2 : バージョン 0.6.0.1 の ランタイムのExtendedモードでmini3Dviewer_64bit_SDK0.5.exe を使用し、VR モードで同梱のサンプルを表示した結果
Test3 : バージョン 0.6.0.1 の ランタイムのDirectモードでmini3Dviewer_64bit_SDK0.6.exe を使用し、VR モードで同梱のサンプルを表示した結果
Test4 : バージョン 0.6.0.1 の ランタイムのExtendedモードでmini3Dviewer_64bit_SDK0.6.exe を使用し、VR モードで同梱のサンプルを表示した結果

GPU (ドライババージョン)Test1Test2Test3Test4
GeForce GTX 980 Ti ( 353.30 )×
GeForce GT 640 ( 353.30 )×
GeForce GT 430 ( 353.30 )××
Radeon HD 6870 ( 15.20.1046 )××
NVS 510 ( 353.30 )×
Intel HD Graphics 4000 (10.18.10.4226)×××



Test5 : バージョン 0.7.0.0 の ランタイムでmini3Dviewer_64bit_SDK0.5.exe を使用し、VR モードで同梱のサンプルを表示した結果
Test6 : バージョン 0.7.0.0 の ランタイムでmini3Dviewer_64bit_SDK0.6.exe を使用し、VR モードで同梱のサンプルを表示した結果
Test7 : バージョン 0.7.0.0 の ランタイムでmini3Dviewer_64bit_SDK0.7.exe を使用し、VR モードで同梱のサンプルを表示した結果

GPU (ドライババージョン)Test5Test6Test7
GeForce GTX 980 Ti ( 355.98 )×
GeForce GTX 980 Ti ( 353.30 )×
GeForce GT 640 ( 355.98 )×
GeForce GT 640 ( 353.30 )×××
GeForce GT 430 ( 355.98 )×
Radeon HD 6870 ( 15.20.1046 )×
Intel HD Graphics 4000 (10.18.10.4226)×××

※ いずれのテストもOSはWindows7SP1です。△はカクつきがひどいことを示します。





修正履歴

2011/10/15 Version.1.00
・公開

2011/10/20 Version.1.10
・プレビュー機能の追加
・ポリゴンだけ見る機能で頂点番号が文字化け色化けする不具合の修正
・立体視切り替え時にハイライトフェードアウトが止まる不具合の修正
・立体視切り替え時にウィンドウ枠が太くなる不具合の修正
・…ウィンドウサイズを厳密に…のチェックが効かなかった不具合の修正

2011/10/25 Version.1.20
・MAC形式改行の認識追加
・PNG画像に対応

2015/6/7 Version.1.30
・Oculus Rift DK2 (SDK Ver.0.5) 対応テスト

2015/6/8 Version.1.31
・誤字脱字、雑多な修正

2015/6/13 Version.1.32
・反射光の修正、OVR検出方法変更

2015/6/19 Version.1.33
・パフォーマンス改善、通常モードに移行すると崩れる不具合修正、UTF8指定の日本語mtlファイルが読めない不具合修正

2015/7/26 Version.1.34
・GUIが更新されない不具合修正、フレームレート表示変更、SDK0.6テスト、非VR環境で落ちる不具合修正

2015/10/3 Version.1.35
・Extendモニタ検出方法修正、Runtime0.7下のSDK0.6の振る舞い修正、SDK0.7テスト




連絡先

Morikawa_Hiroshi@yahoo.co.jp

・必要なメールでもヤフーのメールシステムが迷惑メールと判定するケースが極まれにありますのでご了承ください。

・本ソフトは個人の遊びの範疇であることをご了承ください。( 回答すべき内容でもソフトや自分にメリットがないと遅れがちになるかもしれません。)