単純に向きを変える場合を想定しています。
private GameObject go=回転対象;
回転
private void Kaiten(){Coms.SetZRP (go.transform, 90f);
}
左右反転
private void Hanten(){Coms.SetYRP (go.transform, 180f);
}
public void SetZRP(this Transform transform, float x)
{
Vector3 newPosition =
new Vector3(transform.localRotation.x,transform.localRotation.y, transform.localRotation.z+x);
transform.Rotate(newPosition);
}
public void SetYRP(this Transform transform, float x)
{
Vector3 newPosition =
new Vector3(transform.localRotation.x,transform.localRotation.y+x, transform.localRotation.z);
transform.Rotate(newPosition);
}
反転はキャラクターの向きを左右に切り替える時に使用します。
Unityのトランスフォーム操作はゲッタセッタを使用する場合とイコールで代入する場合がありややこしいです。
0 件のコメント:
コメントを投稿