Study/Unity(12)
- 
                
                  
                  (C#) Virtual / Abstract / InterfaceVirtual 과 Abstract는 거의 비슷하다. virtual method는 선택적으로 파생 클래스에서 override 할 수 있습니다. abstract method는 무조건적으로 파생 클래스에서 메서드를 override 해야 합니다. overriding이 선택적이기 때문에 virtual method는 무조건적으로 본문을 선언해야 하고, 무조건적으로 override하기 때문에 abstract method는 본문을 선언할 수 없습니다. 또한 abstract class는 인스턴스화할 수 없습니다. (어찌보면 메소드의 본문을 선언할 수 없기에 당연한 것이다.) Interface는 Abstract와 본문을 선언하지 못한다는 점에서 유사합니다. 하지만 멤버필드를 사용할 수 없습니다.(프로퍼티는 사용가능하다.).. 2021.05.31
- 
                
                  
                  데이터 저장하기유니티에서 데이터를 저장하는 방법 (내가 사용해본 방법) PlayerPrefs 게임 내에서 간단한 데이터를 저장하기 위해 사용 게임을 제거하면 사라지는 데이터이기 때문에, 비교적 중요하지 않은 데이터를 저장할 때 사용 간단한 방식으로 저장과 호출이 가능하지만, 저장할 수 있는 데이터 타입이 제한되어 있어서 자유롭지 못함. Xml 데이터를 xml 형태로 저장 xml 형태로 저장하기 때문에 가독성이 뛰어남 (유저도 접근 가능하기 때문에 장점이자 단점이다.) 형식이 자유로워 PlayerPrefs 보다 자유로움. 속도가 느림 마찬가지로 게임을 제거하면 사라지는 데이터. RDBMS 안정적으로 데이터를 관리할 수 있음. 서버를 구축해야 함 --> 비용, 기술 게임을 제거해도 사라지지 않기 때문에 가장 보편적으로 사.. 2020.09.19
- 
                
                  
                  Unity에서 GameCenter 적용시키기*Android (Google Play Console - Unity) Unity 에서 Android 에서 사용하는 Google Play Game 을 적용시키는건 매우 쉽다. Google Play Console 에서 업적, 리더보드 등 원하는 시스템을 만들고 리소스를 받아와서 미리 받아놓은 플러그인에 적용시키기만 하면 된다. 참고자료 scvtwo.tistory.com/75 [Unity] 유니티 구글 플레이 게임 서비스 연동 ( 로그인 하기 ) 안녕하세요. 이 글은 이전에 작성한 [Unity] 유니티 구글 플레이 게임 서비스(GPGS) 연동 후 앱 등록을 진행한 것을 기반으로 합니다. [Unity] 유니티 구글 플레이 게임 서비스(GPGS) 연동 후 앱등록 �� scvtwo.tistory.com github.. 2020.08.20
- 
                
                  
                  MVC Pattern - Design patternMVC 패턴 : 하나의 프로젝트 구성을 Model , View , Controller 3가지 역할로 구분한 패턴 사용자가 Controller를 조작하면, Controller는 Model을 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달한다. 흐름을 대충 정리해보면 user -> controller -> model -> controller -> view -> user 유저가 컨트롤러를 조작하면 컨트롤러가 모델에 데이터를 가져와서 그 데이터를 바탕으로 뷰를 제어해서 그 뷰가 유저에게 보여지는 형식이다. MVC 패턴의 각 역할에 대하여 세세하게 알아보자. Model : 프로젝트의 정보와 데이터를 담당. (상수, 초기화값 , 변수 등) 또는 이러한 데이터.. 2020.06.07
- 
                
                  
                  IEnumerator 사용 예시배에서 크레인을 이용하여 컨테이너를 하역하는 동작을 구현한 코드이다. 기본 구조는 1. 크레인이 하역할 컨테이너 위치로 움직이고 컨테이너를 잡은 뒤 - CatchContainer 2. 컨테이너를 가져갈 트럭의 위치로 이동시킨 후 - ReadyDS 3. 트럭이 해당 위치에 도착하면 - ReadyITV 4. 컨테이너를 내려놓는다 - DS 이런구조이다. 이 구조를 Update 를 사용한다면 각 행동이 끝났음을 계속해서 확인해줘야하고, 가독성이 떨어질 수 있었을텐데, IEnumerator를 사용하여 좀 더 액션의 순서를 부각시키고 각 액션들을 다시 세분화시키면서 하역이 아닌 다른 액션을 취할 때도 재사용할 수 있게 구성하였다. 2020.06.01
- 
                
                  
                  UniRxUniRx - Reactive Extension for Unity 공식 Rx 가 Unity 에서 작동하지않으면 IOS IL2CPP 호환성 문제가 있어 유니티에서 라이브러리를 사용하기 위해 유니티를 위해 재구현을 한 것이다. *Reactive Programming : programming with asynchronous data streams 관찰하고자 하는 대상을 관찰할 수 있는 형태로 만들어서 값의 변화, 혹은 (=이벤트)의 발생을 감지하는 것으로 이 값들은 마치 물이 흐르듯 스트림을 통해 흐르는 것에 비유할 수 있는데, 경우에 따라서는 이들 값들을 필터링하거나 버퍼링할 수도 있으며 다른 스트림의 값을 흘려 보내는 일과 같은, 값에 대한 연산을 하는 것이 가능하다. 원하는 값이 통지되면 이 값에 대한 .. 2020.05.25