겨울팥죽 여름빙수
c# 구글 인앱 iap 서버 검증 코드

최근에 DeveloperPayload(개발자가 임의로 만든 payload값) 기능이 구글에서 없어졌습니다. 때문에 해당 부분을 삭제했습니다. (2021-1-8) 서버 검증을 위해, 구글에 계정 만들고, 개발자 페이지에서 p12 파일 만들고 그러는 거는 검색해 보시면 쉽게 보실 수 있어요. 아래 페이지에 잘 정리 돼 있더라구요. http://theeye.pe.kr/archives/2570 여기서는 c#으로 서버를 개발 했을 경우, 서버 검증하는 코드를 넣었습니다. 서버 검증은 3가지 방법이 있는데, https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth#oauth-2.0-protocol 여기서는 [ServiceAccountCreden..

article thumbnail
윈도우 서버 TCPNoDelay, TcpAckFrequency 설정

일부 게임에서는 유저와의 통신이 매우 빠르게 이루어져야 하는 것들이 있다. 롤, 스타크래프트 등 빠른 반응을 보여야 하는 경우, 패킷을 모아서 보내는 것이 아닌 바로바로 보내도록 설정해야 한다. 기본적으로 윈도우 운영체제에서는 패킷을 버퍼에 모아, 보내는 것이 효율이 좋아 그렇게 하도록 돼 있다. 그래서 아래와 같이 세팅을 하지 않으면, 핑이 들쑥날쑥 할 때가 많이 있다. 앞서 말 한 것 처럼, 빠른 반응성을 보이고 싶다면, TCPNoDelay, TcpAckFrequency 값을 레지스터에 등록해야 한다. 1. regedit 위 그림과 같이 regedit을 쳐 레지스트 창을 띄운다. 그 다음 아래 경로로 이동하도록 하자. 컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe..

article thumbnail
Unity Built-in to URP 변환하기
게임을 만들자/Unity 2020. 12. 17. 19:48

유니티 URP란 Unity 2019.3버전부터 경량 렌더 파이프라인(Lightweight Render Pipeline, LWRP)이 유니버설 렌더 파이프라인(Universal Render Pipeline, URP)으로 변경되었습니다. URP는 아름다운 그래픽과 뛰어난 성능을 제공하는 강력한 솔루션으로 이제 더욱 다양한 플랫폼에서 사용 가능합니다. 또한 최신 아티스트 툴을 지원하고 2D, 3D, 가상 현실(VR) 및 증강 현실(AR) 프로젝트 모두에 적합합니다. LWRP는 모든 모바일 디바이스에서 고품질 그래픽스를 구현하는 빠르고 확장 가능한 파이프라인입니다. 지난 한 해 동안 이 스크립터블 렌더 파이프라인(Scriptable Render Pipeline)은 정식으로 제작에 사용할 수 있는 수준으로 성장했..

article thumbnail
Unity, VS4M, Debugger operation failed. 해결
게임을 만들자/Unity 2020. 11. 9. 17:35

유니티에서 작업 중, 스크립트 에러를 클릭 해, 소스코드를 열었는데, 위와 같이 디버깅이 안되는 문제가 생겼다. 왼쪽 위 빨깐 박스 모양도 바껴있다. 정상적이라면, 아래와 같은 그림이어야 한다. 위와 같이 명확하게 [유니티에 연결] 이라고 표시 돼야 디버깅이 된다. 내 소스코드가 아니라, 엔진 내부에서 발생한 에러코드를 클릭 해, 여는 경우 발생하는데, 한번 이렇게 되면, 계속 디버깅이 안된다. 이 문제를 해결하기 위해, - 껐다 켜기 - 재부팅 - 유니티 디버깅 기능 껐다켜기 방법 등을 써봤으나 모두 실패 했다. 혹시나 해서, 다른 유니티 프로젝트를 켜봤는데, 그 프로젝트는 잘 연결되는 것으로 보아, 해당 프로젝트만 뭔가 꼬였구나라는 걸 직감했다. 스크립트 파일을 더블클릭 해, 파일을 여는 것이 아닌,..

c# 각도, 라디안, 벡터 간 변환

간혹 벡터(vector)를 라디안으로 변환하거나, 라디안(radian) 값을 각도(angle, degree)로 변환해야 하는 경우들이 생긴다. 간단한 코드지만, 매번 구현하는 것 보다 유틸리티 코드로 구현해 놓고 사용하면 꽤 편하다. //벡터를 각도로 변환 public static double VectorToDegree(Vector2 vector) { double radian = Math.Atan2(vector.y, vector.x); return (radian*180.0/Math.PI); } //벡터를 라디안으로 변환 public static double VectorToRadian(Vector2 vector) { return Math.Atan2(vector.y, vector.x); } //라디안을 각도..

article thumbnail
c#, 점 - 선분 간의 거리 구하기

물리, 수학적 처리를 하다보면, 점과 선분 사이의 거리를 구해야 할 때가 있다. 직선과 점의 거리와는 다르게 선분과 점 사이의 거리는 조금 더 까다롭다. 아무튼 중고등학생 때의 기억을 되짚어보면서 구현 해 보았다. 1. 원리 이해 선분 SE, 점 P가 있다. 우선 점 P를 SE로 수선의 발을 내렸을 때, 그 안에 포함 되는지, 아니면 밖에 있는지 구분해야 한다. 이것을 구분하기 위해선, 벡터의 내적을 이용해야한다. - 내적 > 0 이면, θ 90 - 내적 = 0 이면, θ = 90 즉 - (벡터 SE와 벡터 SP의 내적) * (벡터 ES, 벡터 EP) >= 0 이면 위 그림 왼쪽과 같이 수선의 발이 선분위에 존재한다. 그 외에는 - SP의 거리, EP의 거리 중 작..

article thumbnail
Unity, Spine SkeletonDataAsset change in Runtime
게임을 만들자/Spine 2020. 10. 7. 01:29

Unity에서 SkeletonAnimation 또는 SkeletonGraphic(ui용)의 SkeletonDataAsset를 교체해야하는 경우가 있다. 보통 위 Inspector내에서 교체하는데, Runtime중에 Script로 교환 할 때는 아래와 같은 코드로 해야 한다. SkeletonGraphic m_animation; .... var skeletonDataAsset = Resources.Load("{your resource path}"); m_animation.skeletonDataAsset = skeletonDataAsset; m_animation.Initialize(true); 마지막에 Initialize(true)를 해줘야 하는게 핵심이다. 끝.

article thumbnail
2020 구글 플레이 콘솔, 예약 게시 설정
게임을 만들자/기타 2020. 10. 2. 21:19

최근 구글 플레이 콘솔이 변하면서, 예약 게시 설정방법이 바꼈다. [구글 플레이 콘솔] -> [게시 개요] -> [관리] [관리형 게시] 선택

article thumbnail
Mac Catalina, Visual Studio for Mac, Bad CPU type in executable

Mac Os를 카탈리나로 업데이트 후, Visual Studio for Mac에서 빌드 실패가 떴다. Bad CPU type in executable 카탈리나 OS버전에서는 이제 x86 실행이 안된다고 한다. 실행하기 위해선 컴파일러 설정을 변경해야 한다. 솔루션 창 -> 프로젝트 우클릭 -> 옵션 -> 컴파일러 -> 플랫폼대상 -> 모든 CPU 컴파일러가 기본으로 x86으로 돼 있는데, 이걸 모든 CPU(Any CPU)를 선택해주도록 하자.

article thumbnail
Xcode12, building for iOS Simulator architecture arm64

ios 14대응하기 위해, 맥 os를 카탈리나로 업그레이드하고, xcode12로 업데이트 했더니, 역시나 애플.. 빌드 실패가 떴다. 에러메시지를 보니 아래와 같다. ld: in {...}/proj.ios_mac/sdkbox.framework/sdkbox(IAPTrackingIOS.o), building for iOS Simulator, but linking in object file built for iOS, file '{...}/proj.ios_mac/sdkbox.framework/sdkbox' for architecture arm64 딱 보아하니 arm64로 빌드가 뭔가 문제가 있어보였다. 일단 구글링 해 보니, xcode12에 [Build Settings]->[Excluded Architectur..