분류 전체보기 썸네일형 리스트형 ABS: 패킷 타입 자동 생성 1. 본 방법론은 다른 자료나, 책, 강의를 가져다 디자인 것이 아니며, LiteNetLib의 기본 라이브러리 예제와 MessagePack 예제를 참고하여 제작중인 게임의 특징에 따라 여러차례 리팩토링을 거쳐 정착한 방식입니다. 특출나거나, 독자적인 방식이 아니며 상황에 다소 의존적일 수 있어 모든 상황에 알맞는 예제는 아님을 밝힙니다. 2. 강의 글이 아닌 기록 남김이라 코드는 이해를 돕기 위한 이미지만 첨부합니다. 오토 배틀 시뮬레이터는 UDP를 기반으로 한 네트워크 플레이를 기반으로 개발되었습니다. 게임은 데디케이트 서버에서 진행되며, 각 게임 진행상황과 데이터 변동을 패킷으로 묶어 처리합니다. 서버에서 클라이언트로 보내지는 모든 패킷은 헤더에 포함된 패킷 정보로 타입을 식별하고 데이터 영역을 클라.. 더보기 Unity: FormerlySerializedAs For Shader 셰이더 프로퍼티 이름 변경시 데이터 보존 방법 유니티에서는 FormerlySerializedAs라는 Attribute를 지원합니다. 유니티 에디터는 어떤 인스턴스(프리팹, 씬)를 저장할 때, 필드의 이름을 기준으로 데이터를 저장합니다. 만약 어떤 변수의 이름을 수정한다면, 이전에 작업해 두었던 수치 정보를 잃게됩니다. FormerlySerializedAs는 이런 상황으로부터 도움을 줄 수 있습니다. https://docs.unity3d.com/ScriptReference/Serialization.FormerlySerializedAsAttribute.html Unity - Scripting API: FormerlySerializedAsAttribute Success! Thank you for helping us improve the quality of.. 더보기 Unity: 리그 오브 레전드 스타일 체력바 만들기 오토 배틀러 장르 개인작 개발중에, 특성상 다양한 캐릭터가 한 화면에 등장하고 최대 체력과 현재 체력을 쉽고 빠르게 식별하기 위해 체력바를 가시성 좋게 고쳐야 할 필요성을 느꼈습니다. 기존에 사용하던 캐릭터 체력바는 간단히 비율만 표기했었습니다. 캐릭터의 체력은 500에서 5000을 넘나드는데, 숫자로 표기하거나 추가적인 창을 띄워 보는것은 덕지덕지 불편할 수 있죠. 그렇다면 기존 게임들은 어떻게 해결하고 있을까요? 리그 오브 레전드는 한 칸당 100을 의미합니다. 전략적 팀 전투는 한 칸당 300을 의미하고요. 스타크래프트는 칸으로 나누었지만, 칸당 수치가 고정되어있지는 않습니다. 수치당 칸과 색으로 표기해서 가시성을 높였습니다. 제가 작업하고자 하는 부분은 셰이더로 체력 셀을 나눠주는 부분입니다. 이.. 더보기 Unity: 특정 기기에서 텍스처가 특정 축으로 반전되어 보일 때 다양한 기기들은 다양한 그래픽 아키텍쳐를 기반으로 구동됩니다. DX, OpenGL, Vulkan, Metal 등 굵직한 것만 해도 4개입니다. 일부 아키텍처끼리는 좌표계와 텍스처 UV에서 (0,0), (1,1)이 위치한 곳이 비슷하게 공유되기도 하지만, 그렇지 않은 아키텍처도 존재합니다. 보통은 빌드세팅에서 Auto API로 대응시 어느정도 해결되지만, 셰이더를 직접 구성한 경우에는 대응을 위해서 셰이더 코드에서 #define 전처리기를 이용해 뒤집어주는 식으로 작업할 수 있습니다. #if UNITY_UV_STARTS_AT_TOP float scale = -1.0; #else float scale = 1.0; #endif o.uvgrab.xy = (float2(o.vertex.x, o.vertex.y*s.. 더보기 Unity: 2022.1 IL2CPP 제네릭 공유 개선점이 가지는 의미 Feature preview: IL2CPP Full Generic Sharing in Unity 2022.1 beta | Unity Blog Feature preview: IL2CPP Full Generic Sharing in Unity 2022.1 beta | Unity Blog This code demonstrates the expressiveness of generic virtual methods. In other words, we can send data of any type (the “message”) from any class that implements the IManager interface to any class that implements the IReceiver interface. W.. 더보기 Helix Perforce 내부망 구축시 포트 뚫기 퍼포스 로컬 리모트 서버가 1666 포트를 자동으로 뚫어주지 않으므로, 윈도우 방화벽 설정에서 1666 포트를 인바운드, 아웃바운드 규칙에 추가해주어야한다... 더보기 Unity: URP 스냅드래곤 빛 번짐, 스페큘러가 하얗게 타는 현상 보호되어 있는 글입니다. 더보기 EOS: 인증 인터페이스에서 AuthScopeConsentRequired를 리턴할 때 1.14.1 버전에서 발생했습니다. 동일한 코드로 1.14.0 에서 문제없이 작동했습니다. EOS_EAuthScopeFlags | Epic Online Services Developer (epicgames.com) EOS_EAuthScopeFlags EOS API reference page for EOS_EAuthScopeFlags dev.epicgames.com 인증 스코프에 관련한 에러코드이나, 이 인증스코프를 포함하여 리퀘스트를 던져도 버전별로 상이한 결과를 리턴하는 버그입니다. 해결 : 1.14.0으로 다운그레이드 더보기 이전 1 2 3 4 5 6 7 ··· 12 다음