본문 바로가기

유니티2

게임 엔진의 원리 : 메시지와 브로드캐스팅 컴포넌트들이 어떻게 외부의 간섭 없이 스스로를 동작시킬까? 유니티의 모든 컴포넌트들은 MonoBehaviour 클래스를 상속함. 즉 MonoBehaviour 클래스 위에 컴포넌트 고유의 기능을 덧붙임. MonoBehaviour 클래스는 유니티에서 미리 만들어서 제공하는 클래스이고 컴포넌트로서 동작하기 위한 기초 기능들을 모두 제공함. MonoBehaviour - 컴포넌트로서 게임 오브젝트에 추가될 수 있다. - 유니티의 통제를 받는다. - 유니티 이벤트 메시지를 감지할 수 있게 된다. 유니티엔진에서 모든 씬의 모든 게임 오브젝트에 각각의 어떤 컴포넌트가 붙어있는지 모조리 실시간으로 한 번에 파악할 수 있는 매니저같은 것은 없음. 그러나 유니티의 대부분의 컴포넌트들은 예를 들어 초기화 메서드 같은 것들은 .. 2021. 6. 10.
게임 엔진의 원리: 게임 오브젝트와 컴포넌트 상속으로 개발의 생산성을 올린다. 그러나 상속이 늘 좋을까? 놉! 자식은 부모의 빚까지 상속해야한다. 선택적으로 상속받을 수 없다. 상속으로 오히려 코드를 재사용하기 힘든 경우가 나타날 수 있다. 그 근본적인 이유는, 미래에 사용될 '최소 필수집합'을 미리 예상하는 것이 힘들다는 것! 다시 말하면 완벽하게 순수한 베이스 클래스를 만드는 것은 어렵다는 것. + 기획자가 프로그래머에게 의존하게 되는 문제 이 방식을 해결할 수 있는 방법은 상속이 아니라 가지고 있는 것. A는 필요한 기능이 있을 때마다 그 기능을 가진 오브젝트를 자기 내부에 포함시킴. 상속이 아니라! 즉, 선택적으로 기능을 골라 붙임. 비어있는 컨테이너를 만들어놓고 그 컨테이너에 기능들을 선택해서 붙이는 것. : 게임 오브젝트- 컴포넌트 방식.. 2021. 6. 9.