본문 바로가기
728x90

유니티5

[유니티] GameObject.Find 함수가 성능에 좋지 않은 이유? GameObject.Find 함수 유니티에서는 원하는 오브젝트를 찾기 위한 목적으로 Find 종류의 함수가 많다. Find, FindWithTag, FindObjectOfType 등... 그 중 Find는 씬에 있는 오브젝트의 이름으로 찾는 기능이다. 근데 왜 Find 함수를 자제하라고 하는 걸까? ​ ​ Find 사용을 자제하는 이유? 첫 번째 이유. 하이어라키 창에 있는 모든 게임 오브젝트를 탐색하느라 비용이 많이 든다. Find는 하이어라키에 있는 모든 게임 오브젝트를 탐색한다. 그래서 한 씬에 많은 오브젝트가 있을 경우 성능 저하가 발생할 수 있다. 즉 원하는 게임 오브젝트 이름을 넣고 하이어라키 창에 있는 게임 오브젝트들을 탐색하며 내가 찾고자하는 오브젝트가 나올 때까지 탐색을 한다 ... 만약.. 2023. 12. 31.
[유니티] Time.time과 Time.deltatime Time.time time.time은 유니티가 시작된 순간부터의 유니티 시간을 초로 반환해주는 값이다(유니티 상 공식 설명: the time at the beginning of this frame). 쉽게 말해서 토탈 게임이 경과한 시간이다. 유니티 게임이 시작된 순간부터(첫 프레임부터) 현재까지 흐른 시간을 세어 초로 반환해준다. Time.deltatime Time.deltatime은 프레임과 프레임의 사이. 즉 프레임의 간격을 초로 반환한 값이다. 더 정확하게 말하면 Time.deltatime을 선언한 직전(가장 마지막)의 프레임이 시작된 순간부터 그 직전의 바로 전 프레임이 끝난 순간의 그 간격을 초로 반환한 것이다. Time.deltatime은 컴퓨터의 사양에 따라 값이 다르게 나온다. 그리고 매.. 2023. 12. 30.
[유니티] 벡터(Vector)와 스칼라 벡터(Vector) 크기와 방향을 갖는 물리량이다. 벡터로 사용되는 물리 개념은 속도, 가속도, 운동량, 충격량, 자기장, 전기장 등이 ㅣㅇㅆ다. 벡터는 시점과 끝점을 연결하는 화살표로 표시할 수 있다. 그리고 이 시점과 끝점의 거리가 곧 벡터의 크기가 된다. 벡터는 여러 차원(2D, 3D, 4D)에서 활용할 수 있다. 유니티에서 벡터의 크기를 구하는 경우가 많다. 3차원에서는 벡터가 x, y, z축 이렇게 세 가지의 성분으로 표시할 수 있는데 3차원에서의 벡터 크기를 구하는 공식은 밑과 같다. 유니티에서 벡터의 크기를 구할 때는 Magnitude(Vector3 vec) 함수를 사용하면 된다. Magnitude 함수는 매개변수로 들어오는 벡터의 크기를 float로 반환해준다. 근데 여기서 벡터 크기 비교.. 2023. 12. 30.
[유니티] UI UI의 기준 위치는 Anchors의 비율로 설정한다. 출처 : Unity Documentation 출처 : Unity Documentation 출처 : Unity Documentation ​ 피벗 : UI의 정가운데 동그라미. UI의 기준위치이다(UI의 중점). 피벗은 UI 내에서 위치를 이동시킬 수 있다. 피벗을 기준으로 UI가 회전하고 움직인다. 출처 : Unity Documentation ​ Canvas에서 Render Mode란? Overlay : game월드와 따로 쓰겠다. (3D는 걍 얘로 쓴다) Camera : 카메라를 기준으로 앞에 포징되게끔 (2D에서 많이 씀) World space : 캔버스도 GameObject처럼 사용한다. 별도의 공간으로 사용하지 않는다. (ex. 닉네임, 레벨) .. 2023. 11. 13.
반응형