전체 글
-
[유니티] 12강 오디오[유니티] 기본 2022. 5. 30. 21:34
오디오를 플레이하는데 여러가지 방법이 있지만, 굳이 다 알 필요없을거 같다. 솔직히 다른 방법을 알아보긴 했지만, 그딴게 왜 필요한지 모르겠다. 적어도 프로그래머에게는 필요없는것들이다. 원래 하던대로, 단순하게 plya함수만 호출하면 음원이 재생이 되도록 했다. 처음 시작되는 Scene에 객체하나 만들고, 그 객체에 스크립트 파일을 연동해서 프로그램이 끝날때까지 사용한다. 사운드 재생 클래스는 싱글턴 패턴을 이용했다. MonoBehaviour상속 받아서 처리해야 하는데, gameObject가 부모클래스에서 만들어져 오는 구조라서, 일반적인 C++이나 JAVA와는 다른 구조를 가진 형태이다. (싱글턴 패턴을 여기에 다 담기에는 힘드니까, 다른 게시글로 차후에 올리는걸로...아니면 수업시간에 하는걸로 미룬다..
-
[유니티] 11강 Canvas(버튼)[유니티] 기본 2022. 5. 30. 21:33
버튼을 만들어서 버튼을 누르면 캐릭터가 움직이도록 해보자. 1. [마우스 우클릭] 혹은 Hierach + 버튼을 누르고, 메뉴에서 UI/Button 선택한다. 2. 버튼의 이미지를 사용한다면, 텍스트가 필요없어서 삭제한다. 3. 미리 준비해둔 버튼 이미지를 지정한다. 4. 원하는 위치에 값을 입력해서 원하는 위치한다. 5. [1~4]와 같은 방법으로 ButtonRight도 만들었다. 6. 방금 만든 버튼에 연동이 될 스크립터를 작성한다. 단순하게, 왼쪽버튼, 오른쪽버튼 이벤트가 일어날경우 실행할 함수를 만들었다. 7. 버튼 객체와 스크립트 파일을 연동 시킨다.(드래그 & 드롭으로 가능하다.) 8. On Click () 메뉴의 + 버튼을 누른다. 9. 1) 객체를 드래그 & 드롭을 해서 실행하는 객체를 지..
-
[유니티] 10강 Canvas(텍스트)[유니티] 기본 2022. 5. 30. 21:32
게임 상의 정보를 표시하는 가장 기본이 되는 텍스트를 디스플레이 해보겠습니다. 프로젝트에서 처음으로 UI를 추가하면 팝업이 뜨는데, [Import TMP Essentials]를 클릭하면 뭔가 설치가 진행됩니다. 설치완료후, 방금 만든 객체를 원하는 이름으로 교체합니다. Cavas와 EventSystem이 나옵니다. 이제 가장 먼저 해야 할것이 Canvas설정입니다. Constant가 있는 있는 2개는 딱봐도, 고정해서 사용할때 옵션임을 알수 있습니다. 게임을 서비스하려면 수많은 화면에 비율적으로 대응해야 함으로 Scale With Screen Size으로 선택하고, 1136x640, 0.5로 설정했습니다.(아이폰 5사이즈 레티나전 사이즈이며, 1280x720과 종횡비율은 같습니다) alt, shift, ..
-
[유니티] 9강 스프라이트 애니메이션[유니티] 기본 2022. 5. 30. 21:31
이전 시간에는 캐릭터의 이동을 다뤄봤습니다. 캐릭터가 대기를 하거나 캐릭터가 이동을 할때 상황에 맞게 스프라이이트가 선택적으로 그려질수 있도록 해보겠습니다. 1. 이미지 슬라이스, 단일 이미지 처리하는 방법 일정한 크기로 붙어져 있는 스프라이트를 준비했습니다. 우선 대기 동작을 슬라이스 해보겠습니다. 이미지 파일을 선택 => Inspector에 있는 Sprite Mode를 Multiple 변경 => Apply 클릭 => Sprite Editor 클릭 Sprite Editor에서 상단의 Slice 메뉴를 열어서, Grid By Cell Count를 선택하고 이미지가 횡으로 2개가 있으니 2값을 입력하고, 오른쪽에 Apply를 누르고 나가면 됩니다. 이제 이미지 파일 옆 왼쪽으로 보는 화살표를 클릭하면 Sl..
-
[유니티] 8강 캐릭터의 이동[유니티] 기본 2022. 5. 30. 21:30
1강에서 7강까지 내용으로 이번에는 캐릭터의 움직임을 구현해보겠습니다. 바로 리소스를 프로젝트에 폴더에 드래그 & 드롭으로 옮깁니다. 그리고 애니메이션등의 작업을 편하게 하기 위해서 UI를 변경을 했습니다. 사람마다 편한 UI가 있을텐데, 저는 이게 더 편합니다. 프로그래밍 할때, 왼쪽에 WorkSpace 같은 탐색기가 왼쪽 위치해 있고, 오른쪽에 코드를 작성하는게 익숙해져서 그런것 같습니다. 디폴트로 설정한것 보다 훨씬 안정감이 드는것 같습니다. 개인적인 취향이니, 편하신데로 하시면 됩니다. 이제 화면 비율을 설정해볼까 합니다. 유튜브나 흔히들 가장 많이 쓰는 비율인 16:9를 선택했습니다. Hierachy에서 [마우스 우클릭]으로 빈객체를 만들었습니다. 이제 Scripts폴더를 생성하고 해당 디렉토리..
-
[유니티] 7강 Scene 전환시 값의 공유, 유지 및 저장 방법[유니티] 기본 2022. 5. 30. 21:29
1. 클래스 유지하기 1) Intro Scene에서 Phoenix 객체를 만들고, Phoenix 스크립터 생성후 연동시킨다. 2) 새로 생성될때 로드시 파괴하지 말라는 함수 DontDestroyOnLoad 실행한다. 3) 실행결과 Scene 전환시 DontDestroyOnLoad 밑에 Phoenix 객체가 유지됨을 알수 있다. 2. 데이터 저장하기 만약 플레이중에 점수를 획득했다고 하자. Scene이 전환되어 결과 화면에서 획득한 점수를 디스플레이를 하고 싶은데, 데이터가 사라졌으니 표현할 방법이 없어지는것이다. 공유하거나 저장하는 방법을 사용해서 데이터를 전달할 필요가 있다. PlayerPrefs.SetInt(string key, int data); int data = PlayerPrefs.GetInt..
-
[유니티] 6강 Scene 전환[유니티] 기본 2022. 5. 30. 21:29
Scene작업하다가 다른 Scene으로 넘어갈때, 넘어가기전 절대 깜빡하지 저장하고 넘어가자. 1. Intro Scene에서 스페이스를 누르면 Proc Scene을 호출한다. 2. Proc Scene을 열어서 빈객체 ProcMgt 생성후, ProcMgt 스크립트 생성후 연동시켰다. 3. Proc Scene에서 스페이스를 누르면 Intro Scene을 호출한다. SceneManager클래스를 사용하기 위해서 상단에 추가한다. using UnityEngine.SceneManagement; Scene전환하고 싶은 상황에서 호출한다 SceneManager.LoadScene("Scene이름"); 실행해보면 제대로 실행이 안된다. 직접 Scene은 등록을 해야 한다. 드래그 엔 드롭을 해서 간단히 옮기면 된다. 주..
-

