들어가기 전 : 어디까지나 한 방법의 제시이나 각 제시에 대한 근거를 적어 두었습니다. 또, 다른 글과 다르게 제가 정리한 정보를 기제하는게 아닌 도움이 되었음 해서 작성하는 글이니 수정이 필요해보이는 부분은 댓글에 작성해주시면 적극 피드백해보겠습니다.
#해당 글은 유니티를 배움에 있어서 오류를 적게 범해 가며, 무엇부터 접근할지에 대한 방법을 제시하고 있습니다.
입문에 있어서 본인의 방향성을 명확히 합시다.
프로그래밍, 모델링 및 유니티 적용 등 유니티에서 무엇을 하고자 하는지에 따라 진행 방향이 달라야 합니다. 따라서 먼저 방향성을 정하셔야 할 것 같습니다. 기획과 같은 복합적 요소는 여기서 다루지 못하며 프로그래밍과, 모델을 유니티에 적용하기 위한 방법론만 가능할 것 같습니다.
강좌영상 보다는 메뉴얼을 추천합니다.
많은 사람들이 쉽게 오류를 범하는 것은 무작정 강좌를 따라 해보는 행윕니다. 물론 해당 방법이 틀린 방법은 아닙니다. 무언가를 배울 때 다른 사람을 보고 배우는건 빠르게 몸에 습득하는 방법 중 보편적이고 훌륭한 방법입니다. 다만, 강좌의 경우 어떤 목적을 이루기 위한 방법의 제공일 경우가 많아 자세한 설명이 생략되어 도중에 막히면 속수무책이 되는 경우도 많으며, 초보자의 경우 버전의 중요성을 모르고 잘못 접근하여 오히려 더 큰 벽을 느끼게 될수도 있습니다.
따라서, 공식 튜토리얼 등을 따라가며 학습을 시도해보시고, 공식 메뉴얼을 보며 어떻게 구성되어 진행되었는지 즉, 메커니즘에 대해 알고 넘어가셔야 더더욱 뒤로갈수록 문제를 해결할 능력이 생깁니다.
문제를 정의하세요.
배우거나 무언가를 만들다보면 문제에 부딪힙니다. 문제란 원하는 목표와 지금의 현상 그 사이의 차이를 말합니다. 따라서 무엇을 원했고 무엇을 했으나 무엇이 안되는가를 아셔야 합니다. 문제를 해결함에 있어서 우선사항은 문제가 무엇인지 알아내는 것입니다. 하지만 해결하기에 급급해서 방법만 찾는 경우가 잦은데, 그럴경우 조금만 심도있는 문제가 되어도 해결이 어려워지거나 같은 문제를 여러번 겪게 되는 경우가 발생할 수 있습니다.
다음은 문제를 해결할 기초적인 방법에 대한 제시입니다. 1번과 2번은 잘 안될 경우 주변사람의 도움을 받는것도 좋습니다.
1. 문제 정의
-> 문제가 무엇인지 왜 발생했는지를 고민해보세요.
2. 키워드 추출
-> 무엇이 문제인지 알아냈다면 무엇을 찾아볼지 고민하세요.
3. 키워드를 통한 해결방법 모색
-> 해당 키워드를 통해 검색과 같은 행위로 어떻게 해소할지 찾아봅시다.
공통
유니티 메뉴얼
무엇이든 해당 플랫폼에 대해 배우려면 해당 플랫폼의 공식 문서를 보는게 좋습니다. 다음은 어느 방향이든 입문자면 봐줬으면 하는 메뉴얼 목록입니다.
1. Unity에서 작업 : (필수)유니티에서 어떻게 작업이 이루어지고 어떤 화면구성이 있는지에 대한 설명입니다.
2. 그래픽스 : (필수)유니티는 렌더링을 통해 사용자에게 오브젝트를 보여줍니다. 따라서 어떻게 보여주고 무엇을 보여줄 수 있는지 정도라도 익혀두시길 바랍니다.
3. Unity 서비스 : (선택)유니티에서 어떤 서비스가 있는지만 확인해보시고 나중에 이용하시길 바랍니다.
4. 플랫폼별 정보 : (필수)유니티는 개발하고자 하는 플랫폼에 따라 제한이 달리 생깁니다. 자신이 어느 플랫폼을 타겟하는지 정도는 알아두세요.
또, 매뉴얼 하단엔 추가 정보에 대한 내용도 있습니다.
유니티 학습
유니티에서 공식적으로 운영하는 학습 페이지입니다. 수많은 튜토리얼과 이론적인 설명이 많으며, 버전과 필요할 경우 패키지도 제공하여 따라할 수 있도록 만들어져 있으니 무료 학습과 유료 학습 중 원하는 것으로 선택하여 접근해보세요.
프로그래머
프로그래밍 배우기
(이미 프로그래머이시거나 프로그래밍 기초를 떼신 분들 제외) 유니티 프로그래머를 지망하고 있으신 분들의 경우 착각하시는 경우가 유니티 프로그래머를 하려면 유니티를 할 줄 알아야 한다고 생각하시는 경우가 많습니다. 이는 전적으로 틀린 전제입니다. 유니티 자체만 할 줄 알면 되면 애초에 프로그래머를 뽑을 이유가 없습니다. 프로그래머란 프로그래밍을 하는 개발자입니다. 따라서 프로그래밍 자체를 알아야 유니티에 접목하여 프로그래밍을 하는 것이지 유니티를 알아서 프로그래밍을 하는 것이 아니니, 프로그래밍 기초를 먼저 떼시고 유니티 프로그래밍을 하시기 바랍니다.
그 전까진 유니티의 기초적인 기능을 이용해 유니티를 이용한 작업에 익숙해지시길 바라겠습니다.
한줄 요약 : 유니티 하지 마시란게 아니라 유니티와 프로그래밍을 나눠서 생각하셔야 한단 겁니다.
프로그래밍 경험이 너무 적거나 전무하신 경우
1. 직업적으로 고민 중이시면 ...
- "정보처리기능사"를 취득해보세요.
필자는 자격증이 실무 능력의 척도로 보긴 힘들다는 견해를 갖고 있지만 한국 사회는 자격증을 기준으로 행정이 이루어지는 경우가 많기도하고 무엇보다 정보처리기능사는 상당히 낮은 난이도로 컴퓨터에 입문할 수 있는 자격증이라 해보시길 정말 추천드리는 자격증입니다.
- C언어, C++, C#과 같은 네이티브한 프로그래밍을 학습해주세요.
유니티는 C#으로 작성하나 정확힌 C# 스크립트로 보는게 맞습니다. 순수한 C#이랑은 다릅니다. 그리고 동작 방식도 조금 달라서 기초부터 떼고 오셔야 유니티에서 왜 이렇게 하도록 했는가 등등 와닿는게 많아지며, 애초에 네이티브를 할 줄 알아야 다방면으로 능력을 갖출 수 있습니다.
- 알고리즘과 자료구조 학습
프로그래밍에 있어서 알고리즘은 뗄레야 뗄 수 없는 사이입니다. 총을 연사하는 것만으로 렉이걸린다면 누가 총을 쏘고 싶어할까요?
- 다른 자격증 추천
1) "PC 정비사" : 소프트웨어만 다룬다고 하드웨어 지식이 안필요한게 아닙니다. 무엇보다 자기 컴퓨터도 못고치는 컴퓨터 종직자라니 폼도 안나잖아요?
2) "네트워크 관리사" : 네트워킹이 어떻게 이루어지는지 알아야 프로그래밍에 접목합니다.
2. 블록형 프로그래밍이나 노드형 프로그래밍을 추천드립니다.
-> 각 프로그래밍 방식은 직접 코딩을 해 기능을 구현하는 것이 아니라 문법에 구애 받지 않아서 기초적인 기능을 구현함에 있어서 상대적으로 낮은 난이도로 프로그래밍을 경험해보실 수 있습니다. 따라서 알고리즘에만 집중하면 되니 좋은 학습 도구란 겁니다.
블록형 프로그래밍은 스크래치와 같은 학습용 프로그램이 대표적입니다.
노드형 프로그래밍은 언리얼 엔진의 블루프린트와 유니티 엔진의 Bolt가 대표적입니다.
모델링을 유니티에 접목하기
제가 모델러를 어떻게 해야할지를 알려드릴 수가 없습니다. 필자는 모델러가 아닌걸요. 다만 모델링 한 것을 유니티에 적용해보고 싶을 때는 프로그래밍을 하실게 아니라 다음과 같은 것을 학습하시고 강좌를 보시면서 작업하시길 바랍니다. 주변에 모델러 분들이 유니티 접근하시면서 항상 헤메시는 이유가 뭔지 모르고 강좌 따라하시다가 같은 구간을 헛도시더군요.
1. 에셋스토어 : '에셋'을 판매하는 사이트 입니다. 무료라고 나쁜것만 있는게 아니니 이것저것 쓸 수 있는걸 봅시다.
2. Bolt : 유니티에서 제공하는 노드 플러그인으로 프로그래밍 없이 기능 구현을 하게 해줍니다. 대표적인 에셋 스토어에 있는 에셋입니다.
3. *메뉴얼 : 제발좀 읽읍시다! 한국인이라 설명서가 어려운건 알지만 빠르게 치고나가는 방법은 생략이 아니라 정독입니다.
4. *유니티 학습 : 모델러 분들을 위한 튜토리얼도 충분히 많습니다. 강추!
'Unity' 카테고리의 다른 글
[UnityVR] Legacy XR is currently Disabled. With OpenVR (0) | 2019.12.07 |
---|---|
[Unity] Update 함수를 많이 부르면? (0) | 2018.09.12 |