일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백준 c++ 2870번
- Lv2
- Algorithm
- 백준 17070번
- 수학숙제
- 2870번 수학숙제 c++
- 코딩테스트
- 유니티
- C#
- 백준 2870번
- 프로그래머스
- 17070번
- 백준 1103번
- 플레이어 이동
- 코테
- c++
- 백준 c++ 2468번
- 백준 1103번 게임
- 백준
- dfs
- 오브젝트 풀링
- 백준 17070번 c++
- 2870번 수학숙제
- 백준 1103번 c++
- Unity
- 2870번 c++
- 2870번
- Beakjoon
- 2468 c++
- Lv.3
- Today
- Total
목록GameDevelopment/[Unity] Project (13)
주녘공부일지
1) 오브젝트 풀링- 게임 플레이 중에 반복적으로 생성/파괴되며 사용되는 비용(가비지, 등) 부담을 줄이기 위해 사용- ResourceMgr에게 생성/파괴 요청된 오브젝트가 풀링 대상이 되는 오브젝트라면 ObjectPoolMgr에게 위탁public class ObjectPoolMgr{ class Pool { ... } Dictionary pools = new Dictionary(); Transform root; int poolCount = 5; public void Init() { if (root == null) { root = new GameObject { name = "@Pool_Root" }.transform; ..
플레이 영상해피스케치의 요청에 따라 모션 감지를 이용한 AR게임 프로토타입 모델- 여러 가지 미니게임 스테이지를 구현하여 2명의 사용자가 대전을 하는 AR 멀티 게임- PC버전으로 선 구현 후 채택 시 AR 멀티 게임으로 확장 스테이지 관련 StageController는 Stage를 제어 및 관리- Stage는 콘텐츠에 따라 SingleStage와 MultiStage를 상속받아서 구체화하며 스테이지를 구현- 구체화된 스테이지 클래스는 OnReceiveStageParam 메서드로 스테이지의 정보가 변경됨을 알림 Stage는 스테이지 진행 상황에 대한 정보와 플레이어를 관리- 싱글 스테이지 : 하나의 스테이지에 2명의 플레이어가 소환되어 플레이하는 환경- 멀티 스테이지 : 동일한 스테이지 2개의 각각의 플..
플레이 영상해피스케치의 요청에 따라 모션 감지를 이용한 AR게임 프로토타입 모델- 여러 가지 미니게임 스테이지를 구현하여 2명의 사용자가 대전을 하는 AR 멀티 게임- PC버전으로 선 구현 후 채택 시 AR 멀티 게임으로 확장 에디터 인스펙터 툴- 기획자는 프로그래머를 거치지 않고, EditScene에서 각 스테이지를 플레이해보며 카메라 뷰를 변경하여 저장하거나 각 스테이지에서 사용되는 객체에 대한 엑셀 데이터 값을 변경하는 것으로 인게임에 대한 값 조정 및 테스트를 할 수 있게 함1. 스테이지 에디터- 인게임에서 사용되는 Stage를 소환하여 테스트해볼 수 있음- 기획자가 직접 특정 스테이지를 플레이해보며 엑셀 데이터를 변경하여 제이슨으로 파싱하고 인게임에 적용된 데이터로 플레이해볼 수 있음 ex) 몬..
게임 소개 영상 https://github.com/godgjwnsgur7/Project_IH GitHub - godgjwnsgur7/Project_IHContribute to godgjwnsgur7/Project_IH development by creating an account on GitHub.github.com유한 상태 기계 (FSM)을 기반으로 한 플레이어, 몬스터 AI 상태 관리1) 플레이어 상태 관리 ( Condition, Exit, Enter )protected EPlayerState _playerState = EPlayerState.None;public virtual EPlayerState PlayerState{ get { return _playerState; } protect..
1. 동기화 처리서버 프로그래머 파트에서 제공한 RPC 함수를 필요에 따라 클라이언트에서 제어하며 사용함 1) 포톤에게 동기화 생성 요청모노비헤이비어포톤 클래스를 베이스 클래스로 상속받는 클래스를 가진 프리팹을 대상으로 해야 함- 생성된 오브젝트는 활성화되는 시점에 고유한 ID를 받고, 활성화시킨 클라이언트가 자신인지 확인할 수 있음- 동일한 프리팹을 방 안의 모든 클라이언트에 생성하고 완료 시점을 확인할 수 있음 ( 동기화 완료 ) > 같은 오브젝트가 모든 클라이언트에 존재함을 보장받음 2) 브로드캐스트 함수를 호출- 포톤을 통해 브로드캐스트 함수를 호출해 모든 클라이언트에 동일한 함수가 호출되게 함으로써 동기화 3) 변수 동기화FixedUpdate 주기를 기준으로 변수를 동기화하는 기능을 하기 위해 ..
1. 캐릭터를 제어하는 싱글톤 클래스- 내 캐릭터와 상대 캐릭터가 존재하기 때문에 제어권을 가진 '나의 캐릭터'만 제어하는 기능을 함- 캐릭터를 생성하고 생성 시 Action 대리자 메서드를 등록해 이벤트 발생을 감지 public void PlayerCommand(ENUM_PLAYER_STATE nextState, CharacterParam param = null) { if (activeCharacter == null || !activeCharacter.isControl) return; switch (nextState) { case ENUM_PLAYER_STATE.Idle: activeCha..
더 챌린저스유저끼리 매칭하여 각각 랜덤매치(랭킹전), 커스텀매치(친선전) 플레이 영상- 플레이어 기준으로 나이트 캐릭터, 위저드 캐릭터를 각각 녹화- 실시간으로 동기화되는 네트워크 환경으로, 살짝의 딜레이가 존재1) 랜덤 매치 (랭킹전) - 나이트 캐릭터 2) 커스텀 매치 (친선전) - 위저드 캐릭터3) 훈련장4) 설정창더 챌린저스 - 키 설정 시스템 출시 링크 : https://play.google.com/store/apps/details?id=com.company.FightingGame- 현재 개인사업자 등록, 전자상거래 라이센스 등의 이슈로 앱 비활성화 상태입니다. 더 챌린저스 - Google Play 앱캐릭터를 선택해 플레이하는 1:1 매칭 대전 격투 게임play.google.com
파이어베이스 DB 구조 파이어베이스에 저장할 데이터 타입을 분류해 타입에 따라서 유저 고유 키로 접근하도록 설계 - 데이터 카테고리별로 데이터 그룹을 분리해서 그룹 내에 데이터 Write 시 그룹 단위로 콜백 가능 그룹 내 데이터 Write 시에 콜백 - 자신의 고유 유저 키로 저장된 데이터의 Write 시 콜백을 받을 수 있도록 함 - 각 데이터그룹별로 콜백 대상 리스트를 참조함 ( 인터페이스 ) private List userInfoProcessList = new List(); private List userItemProcessList = new List(); private void SetUpdateCallBack() { DBReferenceDict[FirebaseDataCategory.UserInf..
유니티에서 제공하는 다국어 지원 시스템 : Localization Package - 설정한 언어에 따라 세팅된 문자열, 에셋 등을 런타임에 변경할 수 있음 - CSV, Google 시트로 임포트, 익스포트 하여 데이터를 관리할 수 있음 https://docs.unity3d.com/Packages/com.unity.localization@1.0/manual/index.html About Localization | Localization | 1.0.5 About Localization Use the Localization package to configure localization settings for your application. Add support for multiple languages and r..
퍼즐 게임 - 인접한 블럭을 하나 교체하여 블럭을 매칭시켜 클리어 조건을 달성하는 방식 -> 영상의 스테이지 클리어 조건은 특수 블럭을 모두 매칭시켜 파괴하는 것 - 매칭 조건 : 직선 3개 이상, 4개 이상의 블럭이 모일 경우- 매칭 시 파괴 이펙트, 등은 이미지 짜집기로 제작 - 특수 블럭 (클리어 조건) 인접한 블록의 아이템이 매칭되었을 때 이벤트가 발생되는 블럭 -> 0회 : 일반 블럭과 같이 멈춰있는 이미지 상태 -> 1회 : 애니메이션이 재생됨 -> 2회 : 매칭 효과 발생 ( 클리어 카운트 감소 ) + 특수 블럭의 매칭 발생 시 블럭들의 이벤트가 끝나고 게임 클리어 여부를 판단블록 매칭 이벤트 실행 순서 // 블록 매칭 이벤트가 발생했을 경우 호출되는 코루틴 private IEn..