v0.44: UniGLTF/UniUnlit
追加
67a6
https://github.com/dwango/UniVRM/releases/tag/v0.44
※大切なお知らせ※
新シェーダーを0.43以前のバージョンでImportしたとき
0.44で新シェーダーUniGLTF/Unlit を追加しました。
【UniGLTF/Unlit】 既存のUnlit系シェーダではできなかった、
- TextureとColorの乗算
- DoubleSided
- VertexColor
- ColorでTransparent を設定できるようになりました。これらのパラメータはGLTF標準のunlitとして保存されますので、 他のGLTF互換ビューアなどでも正しく処理されますが、UniVRM 0.43以前では正しく表示されません。 これらのパラメータを使う場合は、ロードする側のライブラリが0.44以降に更新されるのをお待ちください。 また、VRMデータをインポートするためにUniVRMをご利用いただいているかたは、UniVRMの更新をお願いいたします。
法線マップの入出力について
0.44から正しくエクスポートし、正しくインポートできるようになりました。 そのため、法線モデルを含んだモデルは、0.44以降でエクスポートし、 0.44以降のアプリケーションでロードしなければ正しく表示されません。 お手数ですが、アプリケーションが0.44以降に更新されるのを待ってから、法線マップを含んだモデルを再エクスポートしてください。
[GLTF]UniUnlitの導入
新規に UniGLTF/Unlit
を導入しました。
既存のUnlit系シェーダーでできなかった、
- TextureとColorの乗算
- DoubleSided
- VertexColor
- ColorでTransparent
を設定できます。
[VRM] UnlitとStandardマテリアルに関しては、VRM部に重複した情報を保存しない仕様変更
0.43以前では、/materials
と /extensions/VRM/materialProperties
に2重に情報を保存していました。
0.44から、GLTFで記述可能なGLTFとだいたい互換できる Unlit
と Standard
は /materials
に一本化することにしました。
GLTFで表現できないマテリアル情報は、
VRM/MToon
と VRM/UnlitTransparentZWrite
です。
[VRM]正規化する時にDisableのGameObjectがあると失敗する場合があるのを修正
HumanBoneに割り当てられていてDisableなど、一定の条件で失敗するのを修正しました。
[GLTF]NormalMap等のマテリアル対応関連
- https://github.com/dwango/UniVRM/issues/17
- https://github.com/dwango/UniVRM/issues/46
- https://github.com/dwango/UniVRM/issues/39
- https://github.com/dwango/UniVRM/issues/38
- https://github.com/dwango/UniVRM/issues/36
NormalMap asset import
textureImporter.textureType = TextureImporterType.NormalMap;
NormalMap runtime import
pack
fixed4 frag(v2f i) : SV_Target
{
half4 col = tex2D(_MainTex, i.uv);
half4 normal;
normal.x = 1.0;
normal.y = col.y;
normal.z = 1.0;
normal.w = col.x;
return normal;
}
NormalMap export
unpack
[GLTF]Animation関連
GLTFのアニメーション対応を更新しました。
import
Unityのlegacy AnimationClipとしてロードできます。
GameObjectに対する、 localPosition
, localRotation
, localScale
とBlendShapeのキーフレームに対応しています。
editor export
エクスポート対象のルートにアタッチされた Animation
または Animator
のヒューマノイドではない AnimationClip
(legacy or generic) の、localPosition
, localRotation
, localScale
を出力できます。BlendShapeは未対応です。