2通りのUV

頂点UVと面UVの2通りがあることを確認した。
http://www.blender.org/documentation/249PythonDoc/Mesh.MVert-class.html#uvco
通常のBlenderでは面UVを使うが、GLSL materialでは頂点UVを使っている。頂点UVと面UVの違いは隣合う面で頂点を共有するときに出るのでキューブでは結果が異なるわけだ。ゲーム由来のGLSL materialでは頂点UVを使っているのはさもありなんといったところだが、動画用途と通常3Dビューの代替として使いたいのでこれは困る。あとインポータの類でremDoublesするとGLSLマテリアルではUVが壊れるんじゃないだろうか。改造の必要があるなー。


改造の必要は無かった。
Shading Panel - Material Buttons - ▼Map Into - Orcoの挙動が通常とGLSLで違うのを突き止めた。通常であればOrcoでも面UVを作った時点でそっちが使用される(たぶん)。一方のGLSLマテリアルでは、▼Map Into でUVを選択することで面UVを使うように変わる。で、GLSLマテリアルの更新タイミングが曲者で、UVを選択した瞬間ではなくて次にMaterial Buttonsを押したタイミングで画面が更新される。罠大杉。やっと雷原を抜けたので前に進める・・・orz