Unity 7

Instantitate()와 Destroy()함수

오브젝트 스포닝이란 유니티에서 오브젝트 스포닝에 사용하는 함수인 Instantitate 함수에 대해 간략히 설명하겠다. Unity에서 Instantiate()로 새로운 게임 오브젝트를 생성하는 것 즉 Instantiate 함수를 사용하여 기존의 오브젝트의 복사본을 만드는 것을 "스포닝"이라고 부르기도 한다. 네트워크 HLAPI에서 "스폰"은 더 세부적인 의미를 가지는데, 서버에서 오브젝트를 "스폰"하게되면 오브젝트가 서버에 연결된 클라이언트에서 생성되어야 하며 이들을 오브젝트 스포닝 시스템이 관리하게 된다는 의미이다. 오브젝트가 스포닝 시스템에 속하게 된 후에는 오브젝트가 서버에서 제거되면 클라이언트에서도 동일하게 제거된다. 스폰된 오브젝트는 서버가 관리하는 네트워크 오브젝트가 동일하게 해당 클라이언트에..

Unity 2024.02.15

트리거 콜라이더

콜라이더 설정하기 총알과 총알이 충돌했을 때, 튕겨나지 않고 그냥 통과하도록 만들 고 싶을 수도 있다. 이때 트리거로 설정된 콜라이더를 사용하면 해당 의도를 반영한 프로젝트를 만들 수 있다. 트리거 콜라이더 트리거 콜라이더는 충돌한 물체를 밀어내는 물리적인 표면이 없다. 그래서 트리거 콜라이더는 다른 일반 콜라이더와 겹치거나 서로를 뚫고 지나갈 수 있지만, 충돌 자체는 감지한다. 따라서 트리거 콜라이더는 충돌이 감지되었을 때 어떤 기능을 실행하는 방아쇠로 많이 사용한다. 예를 들어 플레이어가 특정 영역으로 진입했는지 검사할 때 트리거 콜라이더를 많이 사용한다. 보이지 않는 트리거 콜라이더를 어떤 위치에 배치하고, 플레이어가 해당 트리거 콜라이더를 통과할 때 새로운 적을 출현시키거나 컷씬을 재생하는 방식으..

Unity 2024.02.11

유니티 기본 설정 값 작업

해당 작업으로 배운 내용 요약 머티리얼은 게임 오브젝트 표면의 색을 결정한다. 카메라 컴포넌트의 Clear Flags를 변경하여 게임 배경을 변경할 수 있다. Update() 메서드는 매 프레임마다 (게임 화면이 갱신될 때마다) 실행된다. gameObject() 메서드는 게임 오브젝트로부터 원하는 타입의 컴포넌트를 찾아온다. Vector3는 x,y,z 값을 가지는 타입이다 - Vector3로 위치, 스케일, 속도 등을 나타낼 수 있다. - new Vector3(x, y, z)를 통해 새로운 Vector3 값을 생성한다. 리지드바디 컴포넌트의 Constraints 필드에서 특정 축의 위치나 회전이 변경되지 않도록 고정할 수 있다. 리지드바디 컴포넌트는 현재 속도를 표현하는 변수 velocity를 제공한다...

Unity 2024.02.11

컴포넌트 패턴

컴포넌트 패턴이란? 컴포넌트 패턴 혹은 컴포지션(Composition) 패턴이란 미리 만들어진 부품을 조립하여 완성된 오브젝트를 만드는 방식이다. 여기서 미리 만들어진 부품을 컴포넌트라 부르며, 컴포넌트는 저마다의 대표 기능을 지닌다. 컴포넌트 패턴에서 게임 오브젝트는 속이 빈 껍데기이다. 개발자는 빈 게임 오브젝트에 컴포넌트를 조립하여 새로운 기능을 추가할 수 있다. 상속기능에만 의존하여 자식 클래스를 만들다 보면 빼야할 기능과 추가해야 할 기능이 갈리게 된다. 프로그래머만이 부모 클래스를 확장하여 새로운 자식 클래스를 만들게 된다면 프로그래머와 기획자 혹은 디자이너 팀이 번거로울 것이다.. 때문에 상속에만 의존하여 게임 개발을 할 때, 대표적으로 생기는 문제점은 다음과 같다. 1. 오히려 코드를 재사..

Unity 2024.02.05

Unity 기본 설정

Unity에서 주로 쓰이는 창 여섯 개를 메인 창이라고 한다. Scene 씬창 : 씬은 게임 월드인 씬을 시각적으로 편집하는 창 Hierarchy 하이어라키 창 : 씬에 존재하는 모든 게임 오브젝트가 나열되는 창 Inspector 인스펙터 창 : 선택한 게임 오브젝트의 정보가 표시되는 창 Game 게임 창 : 플레이어가 실제로 보게 될 화면을 띄우는 창 Project 프로젝트 창 : 프로젝트에 사용할 에셋들이 표시되는 창 Console 콘솔 창 : 로그나 에러가 표시되는 창 해당 화면은 2 by 3 레이아웃을 사용하여 분할하였다. 레이아웃은 어디ㅣ까지나 개인의 취향 영역이며 어떤 레이아웃을 선택하여 사용하더라도 무관하다.

Unity 2024.02.05