Open yushimatenjin opened 2 months ago
まだこちら作業中となりますが、MToonの実装についてPlayCanvasのアウトラインの実装について調査と実装を進めさせていただきました。今週末あたりにまとめて別のリポジトリにPushさせていただければと思います!
ビューワー: https://playcanvas-vrm-viewer-eta.vercel.app/viewer
マテリアルの実装ですが、Material
を拡張することで作成する事ができそうです。
下記のようにマテリアルを作成して利用ができそうです。
import MToonMaterial from "./mtoon-material";
const material = new MToonMaterial();
material.color = new Color(1, 0, 0, 1); // 赤色
material.shadeColor = new Color(0, 1, 0, 1);
this.entity.render.material = material; // マテリアルをエンティティに設定
Particle Materialの実装を参考にすることができそうです。
three-vrm-materials-mtoonのリポジトリを参考にシェーダーの実装を進めることができそうです。
MToonマテリアル: https://playcanvas-vrm-viewer-eta.vercel.app/feature-test
マテリアルごとに個別にアウトラインを生成をする場合には、MeshInstancesを作成時にアウトライン用のメッシュとアウトライン用のマテリアルを持つ、MeshInstanceを渡すことができそうです。
アウトライン: https://playcanvas-vrm-viewer-eta.vercel.app/outline
VRM 0.x 実装
このIssueはPlayCanvasにおけるVRM 0.xサポートの実装についてまとめます。
1 #2 の議論をもとに作成をしてみます。
実装項目
AssetRegistry.loadFromUrl
で動作確認済み)MorphInstance
)の活用考慮事項