일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Vector3
- 프리팹
- Hp바
- 오브젝트 풀링
- Parallax
- rigidbody
- CSharp #자료구조
- rotation
- Object Pooling
- Ainimation Blending
- raycast
- Scrooling
- 2D슈팅게임
- Object Poling
- Unity
- Prefabs
- raycasting
- 일시정지
- joystick
- apk
- Transform
- Animation State Machine
- Hpbar
- 플레이어 이동
- Blend Type
- 패럴렉스
- LayerMark
- 플레이어 방향전환
- 유니티
- 스크롤링
- Today
- Total
목록GameEngine (46)
주녘공부일지
'쿡앱스' 의 클라이언트 개발 직무 과제 전형- 주어진 8일 동안 제작한 Mini RPG 게임 // 2024.04.24 ~ 2024.05.01- 게임 플레이 영상의 캐릭터 리소스와 프리팹은 제공받음 자동으로 진행되는 게임- 게임을 시작하면 AI 로직에 의해 게임이 자동으로 진행-설정한 주기로 AI들의 사고가 업데이트 오브젝트 관리 - 모든 아군과 적군에 대한 정보는 오브젝트 매니저에서 얻어올 수 있음- 현재 스테이지에 따른 오브젝트 생성과 파괴를 요청하고 일반 몬스터 웨이브 발생 시점, 스테이지 클리어 실패 여부 등을 판단 AI 스테이트 변경 조건1) idle -> walk - 캐릭터는 가장 가까운 몬스터에게 가고, 없으면 idle 무한- 몬스터는 검색 범위 내의 타겟이 존재함을 감지했을 때 이동하며,..
파이어베이스 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..
C#과 유니티로 만드는 MMORPG 게임 개발 시리즈 Part.3 유니티 엔진 https://www.inflearn.com/course/mmorpg-%EC%9C%A0%EB%8B%88%ED%8B%B0# [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진 강의 - 인프런 유니티 엔진 사용법 및 제공하는 기능들에 대해 알아보고, 그것을 효율적으로 관리하는 방법을 배우는 강의입니다., MMORPG 개발에 필요한 모든 기술, C# + Unity로 Step By Step! 🕹️ [사진] 기초부터 www.inflearn.com - 유니티 엔진으로 게임을 개발하며 공통적으로 필요한 프레임워크들을 구현 -> 이를 활용해 mini RPG 게임의 시스템을 일부 구현 - 강의 섹션 키워드 : T..
싱글톤 패턴 (Singleton Pattern) 이란? 특정 클래스의 객체(instance)가 오직 하나만 존재하기 원할 때 사용하는 디자인 패턴으로 최초 한번만 메모리를 할당하고 메모리에 인스턴스를 만들어 재사용하는 디자인 패턴 - 즉, 오직 한 개의 클래스 인스턴스만 갖도록 보장하며, 전역 접근점은 제공하는 디자인 패턴 1) 싱글톤 패턴의 장점 - 사용하지 않으면 인스턴스를 생성하지 않으며, 고정된 메모리 영역을 사용하므로 메모리 낭비 방지가 가능 - 다른 클래스의 인스턴스들이 데이터를 공유하기 편리한 등의 쉬운 접근성 2) 싱글톤 패턴의 단점 ( 전역 변수 ) - 코드 이해 난이도를 높일 수 있음 ( 참조가 너무 많아 버그 추적이 어려움, 등 ) - 인스턴스들 간에 결합도가 높아짐 ( 객체 지향 설..
'쿡앱스' 의 클라이언트 개발 직무 과제 전형- 주어진 5일 동안 제작한 퍼즐 게임 // 2023.09.12 ~ 2023.09.16 - 게시물 최하단 영상의 모든 리소스는 '쿡앱스'에서 제공받음 게임 플레이 방식- 인접한 블럭을 하나 교체하여 블럭을 매칭시켜 클리어 조건을 달성하는 방식 -> 영상의 스테이지 클리어 조건은 특수 블럭을 모두 매칭시켜 파괴하는 것 - 매칭 조건 : 직선 3개 이상, 4개 이상의 블럭이 모일 경우- 매칭 시 파괴 이펙트, 등의 디테일 측면은 제공받은 리소스 짜집기로 제작 - 특수 블럭 (클리어 조건) 인접한 블록의 아이템이 매칭되었을 때 이벤트가 발생되는 블럭 -> 0회 : 일반 블럭과 같이 멈춰있는 이미지 상태 -> 1회 : 애니메이션이 재생됨 -> 2회 : 매칭 효과 발..
0. MonoBehaviour LifeCycle https://godgjwnsgur7.tistory.com/93 [Unity] MonoBehaviour 생명주기 (Life Cycle) 1. Initialization, Editor - Awake() : 프리팹 인스턴스화 직후에 호출 (스크립트 활성화) - OnEnalbe() : 오브젝트가 활성화된 직후에 호출 - Reset() : Reset 명령 혹은 스크립트 - Start() : 활성화된 후 첫 프레임 godgjwnsgur7.tistory.com 1. Coroutine UnityEngine에서 지원하는 비선점형 멀티테스킹 시스템 (싱글 쓰레드) - 마치 일시정지를 하듯, 원하는 시점에서 함수의 상태를 저장/복원 가능 -> 원하는 시점에 병렬처리처럼 직렬..
1. Initialization, Editor- Awake() : 프리팹 인스턴스화 직후에 호출 (스크립트 활성화)- OnEnable() : 오브젝트가 활성화된 직후에 호출- Reset() : Reset 명령 혹은 스크립트- Start() : 활성화된 후 첫 프레임 업데이트 직전에 호출 (한번만 호출)2. Physics- FixedUpdate() : Fixed Timestep에 설정된 값에 따라 일정 주기마다 호출 ( ex. 프레임에 독립적인 물리연산 등 )- OnTirgger ~ : 충돌체가 트리거일 경우 발생되는 이벤트 함수 (물리효과 X)- OnCollider ~ : 충돌체가 콜라이더일 경우 발생되는 이벤트 함수 (물리효과 O)3. Input Events- 마우스, 키보드 등의 이벤트 호출4. Ga..
오브젝트 풀링 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; } PhotonPrefabPool.Init(); } public void CreatePool(GameObject original, int count) { Pool pool = new Pool(); pool.Init(original, count); pool.Root.parent = root; pools.Add..
1. 동기화 처리 서버 프로그래머가 만들어 준 RPC 함수를 필요에 따라 클라이언트에서 제어하며 사용함 1) 포톤에게 동기화 생성 요청 모노비헤이비어포톤 클래스를 베이스 클래스로 상속받는 클래스를 가진 프리팹을 대상으로 해야 함 - 생성된 오브젝트는 활성화되는 시점에 고유한 ID를 받고, 활성화시킨 클라이언트가 자신인지 확인할 수 있음 - 동일한 프리팹을 방 안의 모든 클라이언트에 생성하고 완료 시점을 확인할 수 있음 ( 동기화 완료 ) > 같은 오브젝트가 모든 클라이언트에 존재함을 보장받음 2) 브로드캐스트 함수를 호출 - 포톤을 통해 브로드캐스트 함수를 호출해 모든 클라이언트에 동일한 함수가 호출되게 함으로써 동기화 3) 변수 동기화 FixedUpdate 주기를 기준으로 변수를 동기화하는 기능을 하기..