はじめに
画像をプロジェクトにインポートした際に、OnPreprocessTexture()やOnPostprocessTexture()内で色々と設定を行う場合があります。今回はピボットを変更する必要があったのですが、spritePivot
を設定するだけでは不十分でした。
これだけだとダメ.cs
public class ImportProcess : AssetPostprocessor
{
void OnPreprocessTexture()
{
var ti = (TextureImporter)assetImporter;
ti.spritePivot = new Vector2(0.0f, 0.0f);
}
}
どうすればうまく行くか
spritePivotを設定する前にTextureImporterSettings
のspriteAlignment
をCustomに設定してやる必要がありました。
TextureImporterSettingsを使う.cs
public class ImportProcess : AssetPostprocessor
{
void OnPreprocessTexture()
{
var ti = (TextureImporter)assetImporter;
var texSettings = new TextureImporterSettings();
ti.ReadTextureSettings(texSettings);
texSettings.spriteAlignment = (int)SpriteAlignment.Custom;
ti.SetTextureSettings(texSettings);
ti.spritePivot = new Vector2(0.5f, 0.0f);
}
}
「Editor上でPivotをCustomに設定する作業」、に該当するコードを書く必要があったみたいです。
参考