はじめに
右クリックメニューから画像のテクスチャタイプを変更するエディター拡張を作ってみました。

ソースコード
UnityプロジェクトにEditorフォルダを作り、以下のスクリプトを入れてください。
EditorChangeTextureType.cs
namespace EditorChangeTextureType
namespace EditorChangeTextureType
{
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public static class EditorChangeTextureType
{
const int PRIORITY = 10002;
[MenuItem("Assets/Change TextureType/Default", false, PRIORITY)] static void ChangeToDefault() { ChangeTextureType(TextureImporterType.Default); }
[MenuItem("Assets/Change TextureType/Sprite", false, PRIORITY)] static void ChangeToSprite() { ChangeTextureType(TextureImporterType.Sprite); }
static void ChangeTextureType(TextureImporterType textureType)
{
foreach (var o in Selection.objects)
{
var obj = (UnityEngine.Object)o;
if (obj == null) { continue; }
var path = AssetDatabase.GetAssetPath(obj);
TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter;
if (textureImporter == null) { continue; }
textureImporter.textureType = textureType; // テクスチャタイプ変更
textureImporter.SaveAndReimport();
}
}
}
}
使いかた
アセットの右クリックメニューのChangeTextureTypeからテクスチャタイプを変更することができます。
作った理由について
Unity上で画像をSpriteとして扱いたいとき、以下の手順を踏む必要があります。
- 画像をクリックして選択
- InspectorのTextureTypeプルダウンからSpriteを選択
- Inspectorの右下にあるApplyボタンをクリック
自分はこの作業が嫌いです。 面倒くさい。
面倒くさい理由その1 : ドロップダウンを押すのが面倒くさい
テクスチャタイプのドロップダウン。
地味に狭くてマウスポインタを合わせるだけで疲れてしまいます。
面倒くさい理由その2 : テクスチャタイプを選ぶのが面倒くさい
ドロップダウンをクリックするとずらっと並ぶテクスチャタイプ。
たくさん並ぶテクスチャタイプの中から目的のものを探すのも面倒くさいです。
面倒くさい理由その3 : Applyボタンを押すのが面倒くさい
かなり下のほうに置いてあるApplyボタン。
マウスポインタをそこまで持っていくだけでも手が疲れてしまいます。
ボタンも地味に小さく、マウスポインタを合わせるだけでも疲れてしまいます。
以上の3つの理由でこのエディター拡張を作成しました。(完