※当サイトには広告が表示されます。

3DCG

Unity|VRMエクスポートでテクスチャのインポート設定が初期化される

2023年4月13日

Unity|VRMエクスポートでテクスチャのインポート設定が初期化される

UnityでClusterで使うVRMアバターを作成していたのですが、VRMファイルをエクスポートする度に、テクスチャのインポート設定(圧縮)が初期化される現象が発生。

こんな感じで圧縮の設定をしているのですが・・・。

Unity|テクスチャの圧縮のインポート設定 VRMエクスポート前
Unity|テクスチャの圧縮のインポート設定 VRMエクスポート前

アバターをVRM形式でエクスポートすると、毎回圧縮の設定が『なし』に戻されてしまいます。

Unity|テクスチャの圧縮のインポート設定 VRMエクスポート後
Unity|テクスチャの圧縮のインポート設定 VRMエクスポート後

この現象がアバターに使用しているテクスチャ全てで、発生するんですよ。

毎回元に戻ると設定しなおすのが面倒だし、ミスが必ずでるからやめて欲しい。

未だに原因は不明なのですが、とりあえずの回避方法はみつけたので覚書です。

私の環境は以下のバージョンですが、試しに他のバージョンのUnity EditorとUniVRMでも試したところ、同様の現象が発生してました。

問題の環境

  • OS ・・・ Windows10
  • Unity Editor ・・・ 2021.3.4.f1
  • UniVRM・・・0.99.4

Unity|VRMエクスポートのテクスチャのインポート設定初期化の回避方法

テクスチャのインポート設定が初期化されるなら、デフォルトの設定を変えればいい!!!

ということで、Unityでインポート設定のデフォルトを変更する方法を調査。

Unityのエディター拡張で、テクスチャーのインポート設定を自動で行うことができるということで、そちらで対応することにしました。

毎回手動で対応するより断然楽です。

以下の記事で、方法が詳しく説明されています。

私は圧縮の初期値を全て通常にしたかったので、以下のコードを使用。

using UnityEngine;
using UnityEditor;
using System.Collections;

public class ImportProcess : AssetPostprocessor
{
    //画像のインポート時、インポート設定変更時に実行される関数
    void OnPreprocessTexture ()
    {
        //assetImporterにインポートするオブジェクトが入る。それをテクスチャ型にキャスト
        TextureImporter Ti = assetImporter as TextureImporter;

        //インポート設定変更時もこのメソッドが呼ばれる都合上、一部のテクスチャだけ初期設定を無効化するには何かしらの処理が必要
        //今回はパッキングタグが何かしら設定されている場合、初期設定を行わないように設定する
        if (Ti.spritePackingTag != "")
        {
            return;
        }

        //圧縮は全て通常
        Ti.textureCompression = TextureImporterCompression.Compressed;


    }
}

参考にした記事にはテクスチャがあるフォルダ毎での設定の変え方や、他の項目の設定方法も書いてありました。

細かく設定を変えたい場合は、そちらを参考に変えればOKです!

Unity|VRMエクスポートでテクスチャのインポート設定が初期化される ~まとめ~

ということで、UnityでVRMファイルのエクスポート後にテクスチャのインポート設定が初期化される現象の対応でした。

アバターをエクスポートする度に容量が変わるから、変だなぁ~と思ってたんですよねぇ~。

まさかこんな動きをしているとは。

他によい方法がないか引き続き調べてみますっ!

では、また!


\\管理人の作成アプリ//

タルマニア・ゲーム

タルマニア・ゲーム

KforM無料posted withアプリーチ


【初心者がレビュー】作りながら覚えるsubstance painterの教科書

続きを見る


はなげんき(トリマー兼店長)

30代でIT業界から動物業界に転職し、3匹の犬と生活しています。

トリマー&訓練士の生活や、自分の趣味などを公開中!

月間20万PV突破!
いつもありがとうございます!

-3DCG
-