vrm-c / vrm-specification

vrm specification

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UV Animationについて、平行移動・回転の順序を明示し、擬似コードを示す

0b5vr opened this issue · comments

commented

UV Animationについて、平行移動・回転の順序を明示し、擬似コードを示す必要がありそうです。

UniVRM上に、現状のUniVRMにおけるUV Animationの挙動がバグではないかという質問が来ていたのが議論の起点です:
vrm-c/UniVRM#1867

この順番について、KHR_texture_transformを参照しつつも、利便性を加味した仕様にすると良さそうでしょうか。

仕様上の場所: https://github.com/vrm-c/vrm-specification/blob/fa5ede25186b07b88b1372d33d2c71a7c8bbf25b/specification/VRMC_materials_mtoon-1.0/README.ja.md#uv-animation

commented

技術委員会で議論を行いました。
次回までに、以下の2点について調査を行い、平行移動→回転 or 回転→平行移動のどちらが仕様としてより適切かを検討します。

  • KHR_texture_transform に合わせに行こうとするとどちらの挙動になるか
  • それぞれ、どのようなユースケースが考えられるか
commented

KHR_texture_transformの仕様を見ると、順番はいわゆるTRSでした。
glTFやUnityのTransform等でおなじみの順番ですね。
順序は擬似コードにしか書いていないっぽいです。

https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_transform/README.md

これに基づいて、Translate・Rotateの順番でUV Animation挙動のデモを提示すると以下の通り。

https://noon-lightning-sandal.glitch.me/

Rotate・Translateの順に比べれば、節操なく速くなることはないですが、いずれにせよ使い道はよくわかりませんね。