頂点属性の法線に不正な値(単位ベクトルでないベクトル)が設定される
Closed this issue · 5 comments
vyv03354 commented
glTF Viewerで見たときにACCESSOR_NON_UNITというエラーが大量に検出されます。
VRoidが出力するVRMでは、UniVRMのバージョンが0.41だったときは発生せず、0.43になってから発生するようになりましたが、因幡はねるだとUniVRM-0.40で生成したものでは発生せず、UniVRM-0.41で生成したものから発生するようになりました(ただし現在ダウンロードできるファイルに含まれているのはUniVRM-0.40とUniVRM-0.42で生成したものです。UniVRM-0.41で生成したものはもう含まれていません)
ousttrue commented
正規化周りの修正の影響がありそうです。
法線計算後にnormalize追加を検討。
vyv03354 commented
問題がないモデルを0.43でインポート→エクスポートしても問題は発生しなかったので、もしかしたらUniGLTFではなくツール側の問題かもしれません。
ousttrue commented
v0.44を準備中です。
法線マップなどの入出力時のテクスチャ変換を改修しました。
お試しいただければと思います。
法線マップ関連の修正
- エクスポートの法線マップのunpack処理(DXT5nmなど)
- 入出力時のカラースペースへの配慮(sRGB, linear)
- エディタインポート時の法線マップテクスチャアセットのTextureImporterのNormalMapフラグ付け
- ランタイムインポート時の法線マップテクスチャのpack処理
前のバージョンでtangentを修正したのと合わせて法線マップ周りが改善されたと思います。
vyv03354 commented
ランタイムの方は確認していませんが、エディタでインポートするとやはり"A Material is using the texture as a normal map."のエラーが出ました。[Fix now]で解消できるのも同じです。
ousttrue commented
UniVRM-0.44で修正