vrm-c / UniVRM_1_0

DEPRECATED

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vrmに含まれるアセット(texture, material, blendshapeなど)の名前の制限を明確にする

ousttrue opened this issue · comments

  • VRM内で重複しないこと

  • ファイル名としてValid

    • ファイル名に禁止される・非推奨な文字を使っていない
    • 長すぎない
  • 違反する場合の自動リネームの挙動

    • Importerで適用する(既存のVRM)
    • Exporterで適用する。警告する
commented

私は、この件について、gltf specification上のImplementation Noteのように、禁止するが攻撃的に来る可能性のある,対策を要するものとしてドキュメントしておくのが好ましいと思います。例えばwebで雑実装で脆弱性だの、ローカルで["meta"]["title"]そのままでフォルダを作ったらgodmodeのショトカになった(程度ならマシ?)、とかが起こりかねないのかな、と素人並に思っているのです。杞憂ならいいのですが。

  • 変な名前のファイルができる(セキュリティ的にもよろしくない)
  • 名前の重複でlistのindexが取れなくなる

の2点を考慮しています。
一部を importer で適当にリネームしてますが、exporter でもやった方がよさそうな感触です。
名前で参照しているところがあれば、リネームで追随させるのも含めて。

  • 共通のファイル名になり得る名前(texture, material, mesh, blendshapeclip)をリネームする関数を作る
  • BlendShapeClipのマテリアル値変更を追随させる
commented

フォーマットの仕様というよりも実装のバリデーションの話なため1.0draft実装のリポジトリに移動させます