Skip to main content

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とだいたい互換できる UnlitStandard/materials に一本化することにしました。

GLTFで表現できないマテリアル情報は、

VRM/MToonVRM/UnlitTransparentZWrite です。

[VRM]正規化する時にDisableのGameObjectがあると失敗する場合があるのを修正

HumanBoneに割り当てられていてDisableなど、一定の条件で失敗するのを修正しました。

[GLTF]NormalMap等のマテリアル対応関連

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は未対応です。

[MToon]更新

[GLTF]Importerインタフェース整理

[VRM] Auto指定のMeshRendererが一人称視点で非表示になるのを修正

[GLTF]GLBエクスポーター

GLBエクスポーターが動作するようになりました。