본문 바로가기

전체 글475

정적 변수 + 정적 함수 static: 모든 오브젝트들이 공유하는 단 하나의 변수 static 왜 필요해? 전체 Dog 수를 count 하고 싶을 때, 그냥 Dog class에 넣어버리면 전체 수 count 할 수 없을 뿐만 아니라 각각 개체들이 다 count를 부르기 때문에 매우 비효율적. count는 모든 오브젝트들이 공유해야함. 하지만 개별 오브젝트이기 때문에 각각 count 정보가 공유가 안됨. 따라서 모든 오브젝트들이 공유할 수 있는 변수가 필요함. count 라는 변수를 모든 오브젝트에게 찍어내지 않고 모든 개별 오브젝트가 단 하나의 count를 사용하게 하는 것. 즉 count 라는 변수가 하나의 클래스 안에 실존하고 그 하나의 count를 모든 오브젝트들이 공유하면 되는 것. static : dynamic의 반댓말.. 2021. 7. 13.
오버로드 오버로드: 함수의 여러가지 버전을 만듦 함수 이름은 똑같이 하되, 함수가 받는 입력이나 출력을 다르게 하면 다른 버전의 함수가 만들어짐. 오버로드 사용 이유? 내부 동작은 비슷한데 굳이 이름을 쪼개서 혼란을 일으킬 필요가 없어서! 2021. 7. 13.
인스턴스화 인스턴스화: 어떤 대상을 실존하는 무언가로 찍어낸다. 유니티에서 인스턴스화는 미리 만들어진 게임 오브젝트를 실시간으로 게임 도중에 찍어낸다는 의미. (ex. 총알, 몬스터) 보통 인스턴스 할 때 씬 상에 미리 존재하는 게임 오브젝트를 찍어내는게 아니라 게임 오브젝트를 미리 만들어놓고 필요할때마다 쓸 수 있는 프리팹을 사용해서 새로 찍어내게 됨 원하는 위치에 생성시킬 수 있음. GameObject말고 다른 타입으로도 가져올 수 있음. Rigidbody로 가져올 수도 있고 GameObject로 가져오면 따로 GetComponent 해줘야 함. 2021. 7. 12.
회전과 쿼터니언 rotation은 Vector3가 아니라 Quaternion이다! 위 식은 Vector3를 Quaternion으로 변환해주는 것. lookRotation : 해당 방향으로 바라보도록 Rotation 지정 lookRotation을 이용하여 큐브가 sphere를 바라보게 하기 : 목적지에서 시작점을 빼면 시작점에서 목적지로 가는 방향과 거리가 나옴 Lerp: 중간값 구하기 transform.Rotate : 현재 상태에서 Vector안의 값만큼 회전해줌 Quaternion은 Vector3로 값을 뱉어낼 수 있음 Quaternion에 .eulerAngles를 붙이면 vector로 반환해줌 그래서 vector3끼리 값을 더하고 마지막에 Quaternion으로 반환해줄 수 있음 Quaternion끼리 곱하면 값을 .. 2021. 7. 12.
평행이동과 좌표계 + 부모 자식 관계 평행이동을 하고 싶다면? 평행이동은 게임세상의 글로벌 좌표계가 아니라 자기 자신의 로컬 좌표를 기준으로 움직임 글로벌을 기준으로 하고 싶다면 뒤에 Space.World 붙이고 자기 자신으로 하려면 Space.Self Transform에 나오는 좌표는 로컬 스페이스를 기준으로 함. 로컬스페이스는 자기 자신의 부모에 상대적이고 나 자신의 회전에 상대적임. 부모 컴포넌트와 자식 컴포넌트 transform.position과 transform.localPosition transform.position : global 값 수정 transform.localPosition: 인스펙터 창에 보이는 local 값 수정 2021. 7. 12.
벡터 연산 기초 -좌표, 방향, 거리, 속도를 나타낼 때 씀 Vector3 (x, y, z) , (x, y, z, w) Vector2 ( x, y) -벡터는 내부에 있는 원소들이 같은 개수의 원소만 가지면 벡터임. (1, 2, 3) ->Vector3 (3, 2, 1) ->Vector3 (100, 100) -> Vector2 (x, y, z, w, ...원소 개수가 11개면 ) -> Vector11 -벡터는 길이와 방향을 가진 존재 그래서 어떤 점에서 시작하는지는 별로 관심이 없음. ex. (-3, 3) ( 2, 3 ) 내 위치에서 '상대적으로' (2,3)만큼 가고 있다. (1, 1) 내가 어떤 위치에서 상대적으로 오른쪽 한칸 위쪽 한칸으로 떨어진 곳으로 향하고 있고 그 속도, 즉 거리는 피타고라스 법칙에 의해 루트2. .. 2021. 7. 12.