타이머를 일단 타이머기능만 있게 제작했다. 

단순하게 숫자 입력하고 줄어드는 기능만 있는 상태인데 구글에 앱 출시를 해보고 싶어서 먼저 시작하게 되었다.

추가 기능들은 업데이트를 진행할 예정이다.

 

 

참고 영상

https://youtu.be/RNYQZ0h4e-c?si=yV2WSQuMac-A4wiB

 

 

1. 구글 플레이 콘솔 가입하기

https://play.google.com/intl/ko/console/about/?utm_source=google&utm_medium=cpc&utm_campaign=Console2020-Branded&utm_term=%EA%B5%AC%EA%B8%80%20%ED%94%8C%EB%A0%88%EC%9D%B4%20%EC%BD%98%EC%86%94%7ce&utm_content=676107993829&gad_source=1&gclid=CjwKCAiAhJWsBhAaEiwAmrNyq_hszTz3csnTtzDH5Idj6VCDIbATvYuKNRcdiW4jvxgeYERnIrprShoCz2UQAvD_BwE

 

Google Play Console | Google Play Console

앱과 게임이 성장할 수 있도록 사용자에게 도달하고 사용자 참여를 유도하는 데 도움이 될 도구, 프로그램, 통계를 이용하세요.

play.google.com

 

이것저것 시키는 거 입력하고 25달러 결제해야한다.

(...)

33000원 정도.

 

2. 영상보면서 따라했고 광고는 안 할 예정이라 그 전부분까지만 했는데 프로덕션부분이 테스트를 지나야 할 수 있어서 현재 테스트 단계이다.

'Unity > 타이머' 카테고리의 다른 글

타이머 개발(1)  (2) 2023.12.22

포폴도 만들 겸 해서 하나 제작해보려는 가벼운 마음으로 시작한 타이머 제작일지

 

요즘 공부하는 릴스를 많이 보는데 거기 보면 공부시간을 재주는 시계를 많이들 사용하는 것을 보고 나도 하나 살까?하다가 걍 하나 만들어보자 싶어서 시작하게 됐다.

 

--------------------------------타이머 개발 일지---------------------------------

'Unity > 타이머' 카테고리의 다른 글

타이머 앱 출시 준비(2)  (1) 2023.12.22

게임 오브젝트에 추가할 컴포넌트

Camera Setup

Photon View

Photon Transform View

Photon Animator View

 

 


 

Photon View 컴포넌트

 

Photon View는 각 컴퓨터들의 다양한 인스턴스들을 하나로 연결해 주며 컴포넌트들을 관창하고 어덯게 관찰할 지를 정의해줍니다.

View ID - 네트워크 상에서 구별 가능한 식별자( 같은 식별자를 가진 오브젝트는 같은 오브젝트로 취급하고 서로 동기화한다)

Observables Synchronization - 값을 관측하고 동기화하는 방식을 변경할 수 있습니다. 

  • Off - 동기화하지 않습니다.
  • Reliable Delta Compressed - 상대방이 최근에 수신한 값과 동일한 값은 송신하지 않습니다.
  • Unreliable - 패킷의 수신 여부를 검사하지 않고 지속적으로 송신하비다.
  • Unreliable On Change - Unreliable과 동일하나 값의 변화가 감지될 때만 송신합니다.

Reliable Delta Compressed 또는 Unreliable On Change를 사용하면 대역폭을 아낄 수 있습니다.

Photon View를 거치지 않고 RPC등의 별개의 방법으로 값을 동기화할 경우에도 Off를 사용하여 대역폭을 아낄 수 있습니다.

Observed Components(n) - 리스트에 등록된 컴포넌트들의 변화한 수치를 관측하고 네트워크를 넘어서 다른 클라이언트에 전달할 수 있습니다.

 

Photon Transform View 컴포넌트

 

자신의 게임 오브젝트에 추가된 트랜스폼 컨포넌트 값의 변화를 측정하고, Photon View 컴포넌트를 사용해 동기화합니다.

현재 설정된 것은 transform의 위치와 회전을 동기화하도록 설정되어 있습니다. 위치, 회전, 스케일을 동기화할 수 있습니다.

 

자신의 로컬이라면 트랜스폼 컴포넌트의 속성값들을 감지하고 Photon View를 사용해 네트워크 너머의 리모트로 보냅니다.

자신의 리모트라면 Photon View를 사용해 송신된 로컬의 값을 받아 자신의 트랜스폼 컴포넌트에 적용합니다. 

 

+ 로컬 : 주도권이 자신에게 있음. 물리적으로 사용자의 위치에 존재하는 단말기나 프로그램, 오브젝트를 표현하는 단어

+ 리모트 : 주도권이 네트워크 너머의 타인에게 있음. 원격 접속을 통해 접근할 수 있는 단말기나 프로그램, 오브젝트를 표현하는 단어

 

❗❗Photon Transform View 컴포넌트는 Photon View컴포넌트 없이는 동작할 수 없습니다.

 

Photon Animator View 컴포넌트

 

 

이 컴포넌트를 정상적으로 작동하게 하려면 오브젝트에 Animation이 적용되어 있어야 합니다.

네트워크를 넘어 로컬 게임 오브젝트와 리모트 게임 오브젝트 사이에서 애니메이터 컴포넌트의 파라미터를 동기화하여 서로 같은 애니메이션을 재생하도록 합니다.

 

로컬일 때는 자신의 애니케이터 컴포넌트의 파라미터들을 관측하고 Photon View를 사용해 다른 클라이언트에 있는 자신의 리모트에 전달합니다.

리모트일 때는 네트워크를 통해 로컬이 건넌 수치들을 받아 자신의 애니메이터 컴포넌트의 파라미터를 덮어쓰기합니다.

 

동기화를 원하는 파라미터는 드롭다운 메뉴를 클릭하고 Discrete 또는 Continuous로 동기화 홉션을 설정

Discrete는 값의 연속적인 변화를 Continuous에 비해 잘 반영하지 못하지만 대역폭을 아낄 수 있습니다.

 

 

 

 

'Unity > 얼음땡' 카테고리의 다른 글

Photon을 이용한 Unity 네트워크 게임 개발 책 추천  (0) 2023.07.26

바쁜 사람은 첫 번째 구분선부터 확인을 하시는 것을 추천드립니다.

 

기존에 유니티를 사용해서 다양한 컨텐츠 및 게임을 개발한 경험이 있었다.

 

새롭게 서버통신을 이용한 게임을 개발하고 싶었는데 서버통신을 이론적으로만 접했고 직접적인 경험을 한 실습이라고는 와이어샤크를 이용한 패킷정보확인과 같은 기초적인 부분을 했었다.

 

유니티를 3년을 써봐도 안 해본 거는 어렵다.

 

서버를 직접 개발하는 것은 '직접 개발'이라는 단어에서부터 경계심을 일으켜 고려하지 않았다.

그래서 찾아본 유니티에 지원되는 서버 프로그램들은 대표적으로 Photon이랑 한국에서 제작한(??)가 있다.

 

스팀게임에서 유명한 폴가이즈도 Photon을 이용했다고 해서 Photon으로 결정했다.

 

 

근데 이게 생각보다 정보도 적고 한국어로 설명해주는 사람들이 거의 없었다. 있어도 아예 0부터 시작하는 나한테는 잉? 이거는 어케하는건데 하는 부분이 너무 많았어서 책에서 참고하는 방식을 선택하게 되었는데 책들도... 너무 오래되서 Pun2를 사용하는 현재에서는 맞지 않는 코드들만을 보여주고 있었다. 

 

처음에는 Pun Classic을 사용하느라 오류가 없는 코드들이었지만, Pun2의 존재를 알고 난 뒤에 스크립트를 이동시키자마자 classic에서는 정상적으로 작동하는 코드들이 에러로 바뀌는 모습을 보고 약간 현타왔었다.

 

내가 참고해던 책은 "멀티플레이 게임 제작을 위한 유니티 네트워크 게임 만들기"라는 책이었는데 얘는 한국 정발이 2015년이었다. 상당히 오래된걸 알았지만 그래도 유니티 네트워크를 다루는데 포톤을 이용하는 책이 없어서 눈물을 머금고 빌린 책이었다. 결과적으로 코드에 있는 에러를 수정하는 데만 이틀이 걸렸다. 

 

Photon Classic에서 Photon2로 넘어오면서 없어진 메소드들이 많고(특히, Friend관련 메소드들...) 남아있더라도 매개변수가 변경된 경우가 대부분이었다. 그리고 소문자를 대문자로 바꾼 함수들도 많아서 전부 확인하면서 수정해야 했다.

 

이 글을 남기게 된 이유도 여기서 나온건데 나처럼 시간 버리는 사람이 없었으면 해서 유니티에서 Photon2를 이용하는 책들을 몇 개 남긴다.


 

"절대강좌! 유니티5 Unity 전문 개발자가 알려주는 효과적인 게임 제작기법" - 이재현(위키북스) Pun 사용인데 생각보다변경되는 부분이 크지 않음(Friend를 구현하지 않아서...일 듯)

"레트로의 유니티 게임 프로그래밍 에센스" - 이제민(한빛미디어)

   ⬆이 마지막 책은 특이하게 두 개의 책으로 구성이 되어 있다. 1권과 2권 모두 같은 목차를 공유하지만 5부(11장)이전은 1권에 수록되어 있고 이후로는 2권에 수록되어 있다. Photon2를 사용하는 부분을 보려면 2권을 확인해야 한다! 혹시 구매를 하게 되는 경우에는 필수로 참고하길 바란다.

 

 

이외에도 많은 책들이 있을 수도 있지만 일단 내가 확인한 책은 여기까지이다.

또, 구분법이라고 하면 Photon Classic을 이용하는 책에서는 using Phton.Pun;이나 using Photon.Realtime; 네임스페이스 들을 전혀 사용하지 않는다. 책을 봤는데 이 네임스페이스가 있는 코드면 Photon2를 사용하고 있으니 안심하고 구매해도 될 것 같다.

 

 

 

'Unity > 얼음땡' 카테고리의 다른 글

Unity Photon 컴포넌트  (0) 2023.07.27

+ Recent posts