投稿者 tel | 2017年6月7日

Unityで最初にアセットをインポートしたときにだけ設定を変える

モデルやテクスチャのインポート時に設定をするのはAssetPostprocessorを使う。
https://docs.unity3d.com/jp/540/ScriptReference/AssetPostprocessor.html

たとえばテクスチャのミップマップの設定を無効にしたい場合は以下のようにする。

public class CustomTextureImporter : AssetPostprocessor
{
    void OnPreprocessTexture()
    {
        var importer = assetImporter as TextureImporter;
        importer.mipmapEnabled = false;
    }
}

ただしこの場合、一部のテクスチャだけミップマップを有効にしたくなってチェックを入れてApplyしてもチェックが外れた状態に戻ってしまう。

Applyすると

解決方法

メタファイルがすでに存在していたらOnPreprocessTextureの処理をしないようにする。こうすることで最初にインポートしたときにだけデフォルトの設定をスクリプトからすることができる。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

カテゴリー

%d人のブロガーが「いいね」をつけました。