Skip to content

YukkuriMovieMaker4 (YMM4) 用のDirectX 11を使用したYMM4向け高性能3Dモデル表示・操作プラグイン

License

Notifications You must be signed in to change notification settings

routersys/YMM4-ObjLoader

Repository files navigation

3Dモデル読み込み for YMM4

License .NET Release

YukkuriMovieMaker4 (YMM4) 上で3Dモデルファイルを表示・操作するための高性能な図形プラグインです。 DirectX 11 を活用した描画エンジンにより、多様なフォーマットの3Dモデルを高速かつ美しく描画します。

Image

概要

本プラグインは、YMM4の標準機能ではサポートされていない複数の3Dモデル形式(OBJ, PMX, STL, GLB等)の読み込みを可能にします。 単にモデルを表示するだけでなく、物理ベースレンダリング(PBR)を意識したライティング設定や、各種座標系の補正機能、GPUアクセラレーションを活用した高速なパース処理を特徴としています。

主な機能

ハイパフォーマンスな読み込みと描画

  • 並列処理による高速化: 大規模なOBJファイルの解析には MemoryMappedFile および Parallel.For を採用し、CPUリソースを最大限に活用してロード時間を短縮しています。
  • SIMD最適化: 境界ボックスの計算などにSIMD命令(Single Instruction, Multiple Data)を使用し、数値計算を高速化しています。
  • GPUレンダリング: DirectX 11 (Shader Model 5.0) を使用し、YMM4の描画パイプラインと統合されたスムーズな描画を実現しています。

多彩な表現力

  • 高度なライティング: アンビエント(環境光)、ディフューズ(拡散反射)、スペキュラ(鏡面反射/ハイライト)のパラメータを個別に調整可能です。
  • シェーディング設定: フォンシェーディングモデルに基づいた、光沢度(Shininess)の調整により、プラスチックや金属のような質感表現が可能です。
  • アニメーション対応: 位置、回転、拡大縮小に加え、視野角(FOV)やライトの位置もYMM4のタイムラインでアニメーションさせることができます。

互換性と柔軟性

  • 多様なフォーマット: 一般的な3Dプリント用フォーマットからMMD用フォーマットまで幅広く対応しています。
  • 座標系補正: モデリングソフトによって異なる座標軸(右手系/左手系、Y-Up/Z-Up)の違いを吸収し、正しい向きでモデルを表示する機能を持っています。
  • カリング設定: モデルの裏面描画の有無(カリングモード)を制御し、意図しない描画崩れを防ぎます。

対応フォーマット

以下の拡張子の3Dモデルファイルの読み込みに対応しています。

  • .obj (Wavefront OBJ)
  • .pmx (MikuMikuDance)
  • .stl (Stereolithography)
  • .glb / .gltf (GL Transmission Format)
  • .ply (Polygon File Format)
  • .3mf (3D Manufacturing Format)

インストール方法

  1. リリースページから最新の ObjLoader プラグインファイル(.ymme)をダウンロードしてください。
  2. YMM4が起動していないことを確認し、ダウンロードしたファイルを実行(ダブルクリック)してインストールを行ってください。
  3. YMM4を起動し、タイムラインの「図形」アイテムから「OBJモデル」を選択することで使用できます。

使い方

基本操作

  1. モデルの読み込み: アイテムのプロパティにある「ファイル」項目のフォルダアイコンをクリックし、対象の3Dモデルファイルを選択します。

    • 過去に読み込んだファイルはドロップダウンリストからサムネイル付きで素早く選択可能です。
  2. 配置と変形:

    • 位置 X/Y/Z: 3D空間内でのモデルの座標を指定します。
    • 回転 X/Y/Z: 各軸周りの回転角度を指定します。
    • スケール: モデルの大きさをパーセンテージで指定します。
    • 視野角 (Fov): パースペクティブ(遠近感)の強さを調整します。
  3. ライト設定: 「ライト」グループの「有効」スイッチをオンにすると、モデルに対して動的な光源が適用されます。

    • 位置 X/Y/Z: 光源の位置を指定します。モデルに対してどの方向から光が当たるかを調整します。

詳細設定(設定ウィンドウ)

プロパティ内の歯車アイコンをクリックすると、プラグイン全体に関わる設定ウィンドウが開きます。

全体設定 (Global)

  • 座標系: 読み込むモデルの座標系を指定します。モデルが寝てしまったり、左右反転して表示される場合はここを変更してください。
    • 右手系 Y-Up (標準)
    • 右手系 Z-Up
    • 左手系 Y-Up
    • 左手系 Z-Up
  • カリング: ポリゴンの描画方向を指定します。モデルの一部が透けて見える場合は「なし」または設定を変更してください。
    • なし: 両面を描画します。
    • 表面: 表面のみ描画し、裏面を省略します。
    • 裏面: 裏面のみ描画します。

ライティング (Lighting)

モデルの質感に関わる詳細な光の計算パラメータを設定します。

  • アンビエント色: 環境光の色。影になっている部分の明るさと色味に影響します。
  • 拡散反射強度: 光が当たっている面の明るさの強さです。
  • 鏡面反射強度: 光が反射して輝く部分(ハイライト)の強さです。
  • 光沢度: ハイライトの鋭さです。値が大きいほどハイライトが小さく鋭くなり(金属的)、小さいほどぼやけたハイライト(マットな質感)になります。

環境 (Environment)

  • ライト色: 光源そのものの色を設定します。

注意事項・懸念点

インターネット通信について

本プラグインの設定画面(歯車アイコン)を開いた際、最新バージョンの有無を確認するために GitHub API (api.github.com) への通信 が行われます。

  • この通信は更新通知のみを目的としており、ユーザーの個人情報やプロジェクトデータを送信することはありません。
  • インターネット接続がない環境でもプラグインの基本機能は動作しますが、更新通知は表示されません。

パフォーマンスについて

  • 非常に頂点数が多いモデル(数百万ポリゴンなど)や、高解像度のテクスチャを含むモデルを読み込む場合、GPUメモリの使用量が増加し、YMM4の動作が重くなる可能性があります。
  • 初回読み込み時には最適化処理やサムネイル生成が行われるため、ファイルサイズによっては数秒の待機時間が発生することがあります。

ファイルパスについて

  • プロジェクトファイルにはモデルへのファイルパスが保存されます。元のモデルファイルを移動または削除すると、次回プロジェクトを開いた際にモデルが表示されなくなりますのでご注意ください。

About

YukkuriMovieMaker4 (YMM4) 用のDirectX 11を使用したYMM4向け高性能3Dモデル表示・操作プラグイン

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published