レンダリングと制作ツール
WMMD
PMX/VMD再生、3つの物理バックエンド、wgpuトゥーンレンダラーを備え、エディタ・ARホスト・VJツール・オフラインレンダラーへの組み込みを前提に作った階層型Rustエンジン。
WMMDは、Rustで書いているホストできるMikuMikuDanceランタイム兼レンダリングバックエンドです。
目指しているのは、MMD制作のための現代的な技術基盤です。ただし、このコミュニティを成り立たせてきたワークフローと創作の自由は尊重したい。この2つは簡単に対立させられるので、設計作業の大半は、その2つを喧嘩させないことに使われます。
同じコードベースが、いまはデスクトップエディタを動かしています。ほかの場所へ組み込むことも前提に作っています。VJツール、AR/VRランタイム、ゲームエンジン、モーションキャプチャのパイプライン、オフラインレンダラー。
現在動いているもの
- PMX/PMDモデルの読み込みとVMDアニメーション再生。テクスチャ解析とマテリアル推論を含みます。
- 揺れもの・剛体・ジョイントを含むMMD物理。既定はBulletバックエンドで、純Rustのフォールバック、クリーンルームのPGSソルバー、実験的なXPBD布エンジンを併設。
- VMDのIK on/offトラックに対応したIKソルバー。
- wgpuトゥーンレンダラー。前方パス、WBOIT透過、SSAOと任意のレイトレースAO、IBL、ESMソフトシャドウ、ブルーム。加えて、被写界深度とモーションブラーを担うEEVEE風の第2バックエンド。
- ゴールデン画像によるスナップショットテスト付きのヘッドレス描画と、差し替え可能なホスト層。
実際のところの位置づけ
研究・開発中のプロジェクトです。公開リリースはしておらず、このページがそう見えるのも避けたいです。
ここに置いてあるのは、アーキテクチャのノートと、自分で検証した能力です。製品発表ではありません。
技術ノート
技術的な詳細は研究室に書いています。
- WMMDのアーキテクチャ:ホストできるMMDランタイム - クレートの階層と、組み込みを可能にする依存不変条件。
- 1つのインターフェースの背後に3つの物理バックエンド - MMD忠実な基準としてのBulletと、速いソルバーより基準が重要な理由。
- ゴールデン画像で検証するトゥーンパイプライン - GPUパス、ホスト側の2パスループ、スナップショットによる正しさ。