• [잉여짓= 게임개발] [qs]유니티 게임개발(190609)2019.06.09 PM 08:52

게시물 주소 FONT글자 작게하기 글자 키우기

전에는 자바 게임엔진을 썼는데 각 사물이 클래스이므로 정보를 가져와서 해당 오브젝트의 메소드나 변수를 가져다 썼습니다.

그런데 유니티는 기본이 게임 오브젝트고 MonoBehaviour를 상속받은 스크립트를 가져다 붙이는 식이라서 어색하네요.

해당 오브젝트의 스크립트를 getComponent로 가져와서 필요한 메소드나 변수를 참조할 수 있기는 한데 돌아가는 것 같고 제가 뭔가 유니티의 철학에 위반되는 형식으로 코딩을 하는 것 같습니다.

댓글 : 4 개
저도 이제 유니티 배우고 있는데요. (원래 디자이너)
겟콤포넌트를 아예 안쓸수는 없겠지만
대부분 각 게임오브젝트에 그저 이벤트를 알릴(브로드캐스팅)뿐이고
그 방송을 들은 각 게임오브젝트가 스스로의 콤포넌트를 참조하면서 자율행동을 하는 식으로 설계해야하는지라
다른 오브젝트를 참조하는일이 많아지면 말씀하신대로 유니티 방식이 아닌대로 코딩하시는겁니다.
retr0 님의 동영상강좌와 책을 사보면서 많은 도움을 얻고 있습니다. 참고하시면 좋겠습니다.
아 그렇군요. 조언 감사합니다 ㅎㅎ
전통적인 프로그래밍은 상속에 기반한 설계가 일반적이였는데 ( C++ , 자바 등등 )
만약에 다른 유닛에 어떤 기능을 새로 붙일려면 좀 까다로웠죠. 안되는건 아니지만...
하지만 유니티에선 필요한 기능을 컴포넌트로 만들어놓고 필요한 객체에 드래그 붙이기만 하면 되니
아주 편하죠.

그외에도 유니티에는 여러가지 범용툴도 많구요.

물론 유니티가 단점도 많긴한데 , 중규모 개발까지는 유니티가 대부분 좋습니다.
3D게임은 처음이고 대안이 없어서 유니티를 쓰고 있는데 다른 엔진을 쓰니 이상하네요 ㅠㅠ;;
친구글 비밀글 댓글 쓰기