FC2ブログ
    05 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 07

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【Unity】インポートした画像にアルファがどうかあるか見て、それぞれフォーマと変えたい場合とかね。 

    こんにちは。
    大坂です。

    昨日今日と何となく過ごしやすい気がします。
    風が涼しい感じです。

    ハクスラは作っていって、「あ、やっぱりこんなのも」っていうのがやっぱり出てくるのでどんどん大変になっていきますね。
    色々やばそうっすね。(特に戦闘がやばそうっすね。
    何となくドロップアイテムを生成したり、装備したりするところは作れてきたような、そうでもないような(ぇ
    とりあえずあーでもないこーでもないという感じで少しずつ進んでます。

    今日もネタがないですが、少しだけ。
    いつのころかUnityで画像のデフォルト圧縮がETCになってますが、まぁそれぞれのOSで分けたい場合とかね。
    画面で1個1個変えられるんですが、毎回変えるのが面倒なのでプログラムでやろうねって話です。

    Editorフォルダにこんなのぶっこんでおけば画像入れると勝手にやってくれるようになります。
    すでに入ってる画像はReimportしてあげてください。
    細かい設定は自分で設定したいものに変更してくださいね。

    using UnityEngine;
    using UnityEditor;

    public class TextureFormatter : AssetPostprocessor {

    int maxSize = 2048;

    private void OnPreprocessTexture() {
    TextureImporter impoter = assetImporter as TextureImporter;
    // アルファの取得
    bool isAlpha = impoter.DoesSourceTextureHaveAlpha();

    // Android_アルファありの設定
    TextureImporterPlatformSettings andSettingAlpha = new TextureImporterPlatformSettings();
    andSettingAlpha.overridden = true;
    andSettingAlpha.name = "Android";
    andSettingAlpha.maxTextureSize = maxSize;
    andSettingAlpha.format = TextureImporterFormat.DXT5;

    // Android_アルファなしの設定
    TextureImporterPlatformSettings andSettingNoAlpha = new TextureImporterPlatformSettings();
    andSettingNoAlpha.overridden = true;
    andSettingNoAlpha.name = "Android";
    andSettingNoAlpha.maxTextureSize = maxSize;
    andSettingAlpha.format = TextureImporterFormat.DXT1;

    // ios_アルファありの設定
    TextureImporterPlatformSettings iosSettingAlpha = new TextureImporterPlatformSettings();
    iosSettingAlpha.overridden = true;
    iosSettingAlpha.name = "iPhone";
    iosSettingAlpha.maxTextureSize = maxSize;
    iosSettingAlpha.format = TextureImporterFormat.PVRTC_RGBA4;

    // ios_アルファなしの設定
    TextureImporterPlatformSettings iosSettingNoAlpha = new TextureImporterPlatformSettings();
    iosSettingNoAlpha.overridden = true;
    iosSettingNoAlpha.name = "iPhone";
    iosSettingNoAlpha.maxTextureSize = maxSize;
    iosSettingNoAlpha.format = TextureImporterFormat.PVRTC_RGB4;

    if(isAlpha) {
    // アルファあり
    impoter.SetPlatformTextureSettings(andSettingAlpha);
    impoter.SetPlatformTextureSettings(iosSettingAlpha);
    } else {
    // アルファなし
    impoter.SetPlatformTextureSettings(andSettingNoAlpha);
    impoter.SetPlatformTextureSettings(iosSettingNoAlpha);
    }
    }
    }

    なんか無駄に長いですが…
    まぁこんな感じで設定自体はできますね。

    何かに使うのか使わないのか(ぇ

    まぁこんな感じで今日も適当ですが終わりです。
    またノシ

    Category: Androidアプリ紹介

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/422-7462d1eb
    この記事にトラックバックする(FC2ブログユーザー)