Unityメモ – Transformにリセット処理を追加してみる

Posted: 2015年10月1日 カテゴリー: プログラミングメモ, Unity, Unity メモ
タグ:, ,

UnityでスクリプトからTransformを弄る際、transform内の値をリセットする事がちょくちょく有ります。特にSetParent()等をの後に多い気がします。

 

同じ処理を何度も描くのはいやになってきたので、流用出来るリセット処理を描いてみました。と言ってもやる事は簡単です。

 

まず、Transform拡張用のstaticクラスを用意し、その中にLocalとWorldの値をリセットするメソッドを追加します。纏めて記載します。

 


public static class TransformExtension
{
public static void ResetLocal(this Transform transform)
{
transform.localPosition = Vector3.zero;
transform.localRotation = Quaternion.identity;
transform.localScale = Vector3.one;
}

public static void ResetWorld(this Transform transform)
{
transform.position = Vector3.zero;
transform.rotation = Quaternion.identity;
}
}

 

これでローカルをリセットしたい時はtransform.ResetLocal()、

ワールドをリセットしたい時はtransform.ResetWorld()を呼び出せば値をリセット出来ます。

コメント
  1. […] 前に書いてから随分と間が空きましたが、結構前に書いたTransformを拡張してみよう系の派生メモです。 今回はセーブデータ用にTransformの位置、回転、スケールを一つの文字列に纏め、その纏めた文字列を元に値を設定する処理を作ってみました。 ちなみに、最適化とか軽量化とかを気にしている場合は、非推奨です。 […]

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中