본문 바로가기

전체 글35

게임 서버의 기본지식1 기본게임 구조 P2P 서버 : Peer To Peer 방식이라고 합니다. 클라이언트(컴퓨터, 핸드폰 등)끼리 직접적으로 연결하는 방식입니다. Relay 서버 : 서버가 있어서 클라이언트들이 서버에 접속하는 방식입니다. 인터넷의 이해 IPv4 : Internet protocol version 4의 약어입니다. 인터넷 프로토콜의 4번째 버전으로서 전 세계적으로 사용된 첫 번째 인터넷 프로토콜입니다. 주소체계는 네 개로 나눠줘 있어 최대 12자리의 번호로 이뤄져 있습니다. 예) 123.456.789.000 32비트로 만들어진 IPv4는 약 40억 개의 다른 주소를 부여할 수 있습니다. 그러나 늘어나는 사용자 수요를 충족시킬 수 없습니다. 그래서 128비트 주소체계로 만들어진 IPv6가 등장하였습니다. IP M.. 2022. 6. 6.
Unity 로컬라이징 TextMeshPro TMP_Font 유니코드 범위 Unity TextMeshPro Character Set : Unicode Range (Hex) 핑크색 배경 글이 필수 주요 문자입니다. 한글 구분 시작 끝 한글(자음, 모음) 1100 11FF 호환용 한글(자음, 모음) 3131 318F 한글 음절(가~힣) AC00 D7A3 한자 구분 시작 끝 한중일 부수 보충 2E80 2EFF 한중일 통합 한자 확장 - A 3400 4DBF 한중일 통합 한자 4E00 9FBF 한중일 호환용 한자 F900 FAFF 한중일 통합 한자 확장 20000 2A6DF 한중일 호환용 한자 보충 2F800 2FA1F 일어 구분 시작 끝 하라가나 3040 309F 가타카나 30A0 30FF 가타카나 음성 확장 31F0 31FF Atlas Population Mode : Dynamic.. 2022. 6. 4.
유니티 Unity Linq 링큐 람다식 SQL 쿼리 데이터 정렬 방법 1.LINQ 링큐란? Language Integrated Query 라고합니다. 데이터를 빠르고 편리하게 추출하는 방식이라 할 수 있습니다. 그리고 C# 3.0부터 추가가 되기 시작한 문법입니다. 기본적으로 람다표현식을 사용하여 간결하고 가독성 좋게 작성 가능합니다. Linq = SQL + 람다식 2.람다식이란? 람다식은 익명 함수라 부릅니다. 식별자가 없는 함수입니다. 쉽게 말하면 함수인데 함수를 만들지 않고 코드한줄에 불필요한 내용을 삭제하여 호출하는 방식이라고 할수 있습니다. 주로 반복문이나 비교문에 많이 사용합니다. 람다식은 파라미터(0개 ~ N개)를 => 연산자 왼쪽에, 실행 문장들을 => 연산자 오른쪽에 둡니다. 예) x => x*10​ Func square = x => x * x; Conso.. 2022. 6. 4.
유니티 풀링 Pooling 만들기 최적화 재활용 유니티 기본적인 풀링 구현 방법입니다. 가장쉽고 기본적인 방법으로 만들었습니다. 유니티에서 총알이나 미사일등 자주 생성후 삭제하는 경우 메모리 릭이 발생할 경우가 있습니다. 가비지에서 메모리를 한번씩 정리할때 느려집니다. 그래서 풀링을 사용하면 가비지가 할일이 줄어 원활한 게임 플레이에 도움이됩니다. 제작방법 1)풀링메니저 만들기 빈오브젝트에 PoolMananger.cs 스크립트를 넣어서 사용합니다. (마지막에 풀코드 있습니다) 넣으면 리스트가 있습니다. +를 누르면 Prefab, InitCount가 있는 요소가 추가됩니다. Prefab에는 풀링할 오브젝트를 넣어줍니다. Init Count에는 미리 생성해 놓을에는 초기 생성 개수를 정할수 있습니다. 예를 Prefab안에 Effect Prefab인 Bub.. 2022. 6. 4.
유니티 UGUI Text 로컬라이징 폰트 추천 유니티 Unity 에서 글로벌 대응을 위한 폰트 세팅 및 추천폰트 유니티로 글로벌 원빌드로 진출하기 위해 여러방법이 있습니다. 1.가장쉬운 방법으로는 사용하고 싶은 한글 폰트를 사용하고 Import Settings 에서 Character 세팅을 Dynamic으로 해주는것 입니다. 폰트 설정을 다이나믹으로 하면 폰트에 들어있는 문자들이 적용되고 없는 문자들은 기기내부의 폰트를 찾아서 다른나라 글씨가 적용이됩니다. 상업적으로 무료이며 여러나라에서 공통으로 사용할수 있는 폰트를 구하는걸 추천합니다. 구글 Noto 폰트 , 네이버 폰트를 추천합니다. 2.TextMeshPro 글로벌 적용시 나라별로 폰트를 적용해야 잘나옵니다. 한국어 폰트, 일본어 폰트, 중국어간체 폰트, 중국어번체 폰트, 그 외의 국가 최소한 .. 2022. 6. 4.
Unity Script lifecycle 유니티 라이프 사이클 면접문제 유니티 기초이면서 게임회사 면접문제로 많이나오는 이론입니다. 순서와 언제 실행되는가를 알면 좋겠지요? c# 으로 스크립트 생성시 MonoBehaviour 라는 기본 제공 클래스에서 파생되는 클래스를 구현하여 Unity의 에디터와 소통합니다. 생성된 클래스에 오버라이된 함수들이 Awake Start Update 이 실행됩니다. 함수만 구현 하면 유니티 MonoBehaviour 에서 순차적으로 실행합니다. 2022. 6. 4.
유니티 Unity 코드 없는 비주얼 스크립팅 종류 인디게임 개발분들이 많이 사용하는 비주얼 스트립팅의 종류를 알아볼려고 합니다. 1.유니티에서 호환이 좋은 Bolt 입니다. Bolt는 Unity에서 지원하여 유니티 공식 비주얼 스크립팅입니다. 아티스트, 디자이너, 프로그래머 등 코드 한 줄 쓰지 않고도 게임을 만들수 있습니다. 참고적으로 코드로 만드는게 아니기에 한계는 있습니다. • 플로우 그래프: Unreal Blueprint와 유사하게 간단하고 직관성있게 게임이 어떻게 진행되는지 시각적으로 알수있습니다. • 상태 그래프: 유한 상태 기계(FSM)을 지원하여 쉽게 제작할수 있습니다. • 실시간 편집: 플레이 중에 생성하고 수정할 수 있습니다. Bolt는 런타임에서 변경사항을 저장하고 전달하여, 게임을 플레이하는 도중에도 값을 수정할수 있어 게임을 쉽고.. 2022. 6. 4.
유니티 비주얼 스크립팅 볼트 Bolt 1 - 설치 유니티에서 공식적으로 지원하는 볼트에 대해 공부해 보겠습니다. 한글로된 자료가 부족하여 자료수집 및 테스트를 많이해야하고 접근하기 쉽지 않아보이긴 합니다. 그렇지만 배우면 쉽게 간단한 게임을 만들수 있어 보입니다. 비주얼 스크립팅이란? 비주얼 스크립팅을 사용하면 코드를 사용하지 않고 Unity 로직을 만들수 있습니다. 기존 Unity 스크립팅은 C# 프로그래밍 언어로 만들지만, 비주얼 스크립팅은 명령을 시각적으로 그래프처럼 작성하여 보기 쉽습니다. 2019 LTS와 2020 LTS 버전의 경우에는 Unity 에셋 스토어에서 Bolt라고 검색후 비주얼 스크립팅 툴을 다운로드할 수 있습니다. 1. Bolt 볼트 설치 유니티 볼트를 설치하기 위해서는 유니티를 미리를 설치하고 프로젝트를 생성하여 빈 프로젝트를 .. 2022. 6. 4.
유니티 Unity 에셋 DOTween 에니메이션 유니티 프로젝트에서 많이 사용하는 트윈 엔진(유틸리티 에셋) DoTween을 소개할려고 합니다. 회사 게임개발 프로젝트 최근 5년 3개의 프로젝트에서 모두 사용할정도로 회사 및 인디게임개발에 많이 사용하는 에니메이션 에셋입니다. 일반적으로 유니티에서 제공하고 있는 백터함수중에 이동 및 움직임을 쉽게 해주는 함수가 있습니다. 예를들어 유니티 백터함수 MoveTowards 은 직선으로 지정된 위치에서 타겟 지점으로 이동합니다. public static Vector3 MoveTowards(Vector3 current, Vector3 target, float maxDistanceDelta); 코드를 보면 시간에따른 스피드만큼 타겟위치로 이동합니다. 시간에 영향을 받아서 Update로 하고 있습니다. 이같은 코드.. 2022. 6. 4.