WJ의 개인블로그
Unity. 2DCamera follow 기초2 본문
2DCamera follow 기초2(영역 지정)
public Transform player;
Vector3 velocity = Vector3.zero;
public float smoothTime = 0.15f;
public bool XMaxEnabled = false;
public float XMaxValue = 0;
public bool XMinEnabled = false;
public float XMinValue = 0;
public bool YMaxEnabled = false;
public float YMaxValue = 0;
public bool YMinEnabled = false;
public float YMinValue = 0;
void FixedUpdate()
{
Vector3 playerPos = player.position;
//horizontal
if (XMinEnabled && XMaxEnabled)
playerPos.x = Mathf.Clamp(player.position.x, XMinValue, XMaxValue);
else if (XMinEnabled)
playerPos.x = Mathf.Clamp(player.position.x, XMinValue, player.position.x);
else if (XMaxEnabled)
playerPos.x = Mathf.Clamp(player.position.x, player.position.x, XMaxValue);
//vertical
if (YMinEnabled && YMaxEnabled)
playerPos.y = Mathf.Clamp(player.position.y, YMinValue, YMaxValue);
else if (YMinEnabled)
playerPos.y = Mathf.Clamp(player.position.y, YMinValue, player.position.y);
else if (YMaxEnabled)
playerPos.y = Mathf.Clamp(player.position.y, player.position.y, YMaxValue);
playerPos.z = transform.position.z;
transform.position = Vector3.SmoothDamp(transform.position, playerPos, ref velocity, smoothTime);
}
'Unity > Unity 기초' 카테고리의 다른 글
Unity. 2D기초 Camera follow (0) | 2019.01.22 |
---|---|
Unity.오브젝트 사이클 (0) | 2019.01.18 |