검색결과 리스트
글
유니티 내비게이션 매쉬 최적화 경로 계산
유니티 C#
2023. 9. 18. 15:13
출처: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=gudska4237&logNo=221454275833
SetDestination 함수를 사용하는것보다
NavMeshPath path = new NavMeshPath();
agent.CalculatePath(point, path);
agent.SetPath(path); 를 사용하자.
설정
트랙백
댓글
글
글
2D 총알이 화면에 닿았을 때 반대로 튕기는 것
유니티 C#
2022. 11. 23. 10:58
private Vector2 _dir;
private GameObject _bulletObj;
private float _speed;
private void OnMove()
{
_bulletObj.transform.Translate(_dir * (Time.deltaTime * _speed));
var screenPoint = SystemCamera.Instance.cam.WorldToScreenPoint(_bulletObj.transform.position);
if (screenPoint.x <= 0 || screenPoint.x >= Screen.width)
{
_dir = new Vector2(-_dir.x, _dir.y);
}
if (screenPoint.y <= 0 || screenPoint.y >= Screen.height)
{
_dir = new Vector2(_dir.x, -_dir.y);
}
}
설정
트랙백
댓글
글
타겟오브젝트가 화면밖에 있는지 체크하는것(2D)
유니티 C#
2022. 11. 21. 11:15
private GameObject targetObj;
private Camera mainCamera;
public bool IsOutScreen()
{
var screenPoint = mainCamera.WorldToScreenPoint(targetObj.transform.position);
var isOutScreen = screenPoint.x <= 0 || screenPoint.x >= Screen.width || screenPoint.y <= 0 || screenPoint.y >= Screen.height;
return isOutScreen;
}
설정
트랙백
댓글
글
타겟이 원하는 각도에 들어왔는지 체크하는것(2D)
유니티 C#
2022. 11. 21. 10:38
private GameObject myObj;
private GameObject targetObj;
private Vector2 myDir;
private float angle;
private bool IsInAngle()
{
var targetDir = targetObj.transform.position - myObj.transform.position;
var calAngle = Vector2.Angle(myDir, targetDir);
return calAngle <= angle;
}