전체 글 33

타임 시스템, 배속, 수치 드랍, 수면 구현

기본 관리자 스크립트 생성GameManager : 시간 배속 관련PlayerStatsManager : 수치 증감 및 시간에 따른 자동 차감 계산SleepPopup : 수면 시스템 팝업 public class GameManager : Singleton{ [Header("References")] public PlayerStatsManager playerStats; [Header("Time Settings")] // 실제 1분(60초) = 게임 6시간 // 실제 1초 = 게임 0.1시간 (6 / 60) private const float GameHoursPerRealSec = 0.1f; [Range(1, 4)] public float timeSpeedMultiplie..

데이터 구조(DataManager)

Datamanager.cs는 싱글톤으로 구현되었으며 모든 엑셀(시트) 정보를 uint를 key로 하는 딕셔너리로 저장하고 깊은 복사를 통해 수정이 불가하도록 되어있는 데이터 관리자이다.함수 Get~(uint)를 통해 외부에서 편하게 접근할 수 있다. 시나리오 시트 값을 가져오는 방식은 패키지 매니저를 통한 엑셀 임포터로 구현되었다. 엑셀 임포터 깃허브 링크 :https://github.com/mikito/unity-excel-importer GitHub - mikito/unity-excel-importerContribute to mikito/unity-excel-importer development by creating an account on GitHub.github.com 엑셀을 저장 후 엑셀의 가로..

기초 스크립트

DefineCommon.cs- 전역으로 사용할 enum 값들을 저장한 cs로 using DefineCommon을 통해 필요한 스크립트에서 자유롭게 불러 사용하고 있다.using UnityEngine;using System.Collections.Generic;namespace DefineCommons{ // 기본적으로 사용하는 enum/struct와 정의를 위한 클래스들을 미리 선언하고 사용하기 위한 공통 정의 // using DefineCommons;를 통해 모든 정의를 사용할 수 있다. // UI public enum ViewState { Appearing, Appeared, Disappearing, Disappeared ..

VFX 스터디 백업

선작업: (참고링크-https://docs.unity3d.com/kr/Packages/com.unity.render-pipelines.universal@14.0/manual/InstallURPIntoAProject.html)URP를 패키지 매니저에서 추가 후 Create > Rendering > URP(Asset)로 프로젝트에 추가추가한 URP Asset을 ProjectSettings > Graphic 에서 none 으로 되어있는 자리에 넣음그럼 이렇게 됨ㄱㅊ음 URP가 아닐때 만든 오브젝트라서 그럼해결방안1 : 삭제하고 새로 생성하기해결방안2 : 모든 머터리얼의 렌더링을 URP로 바꿔주기해결방안3 : URP 컨버터를 사용하여 한꺼번에 수정해주기(강추)참고링크-https://teinoi.tistory.c..

서버 기초

스레드 추가하기Thread t = new Thread(MainThread);t.Name = "TestThread";t.IsBackground = true;t.Start();t.Join(); MainThread = 함수명 t.IsBackground = true; t.Join(); F5로 실행중에 일시중지하고 아래 이미지에서 스레드 선택하면 해당 스레드 중단점 확인 가능t.Name = "TestThread"; 로 스레드 이름 지정 가능 ThreadPool.QueueUserWorkItem(MainThread);ThreadPool.SetMinThreads(1, 1);ThreadPool.SetMaxThreads(5, 5); 스레드풀 = 단기 알바 같은 느낌 스레드의 최대, 최소 지정하기 Task t = ..

Git / GitHub 가이드 문서

비개발자를 위한 Git과 GitHub 다운로드 및 사용 가이드 문서.  1. 형상관리(버전 관리 시스템 Version Control System)란? git(깃)은 버전 관리 시스템으로 작업중인 프로젝트의 각 버전을 저장 및 관리하는 도구다.이런 버전을 관리하고 다듬는 이유는 여러가지가 있는데  A. 백업 및 복구  -  프로젝트에 중대한 오류가 발생할 경우 이전 버전으로 복원하기 위해B. 협업  -  여러 사람이 동시에 한 프로젝트에서 작업하기 위해C. 변경점 관리  -  협업하던 중 오류가 났을때 어떤 지점에서 발생했는가 원인을 찾기 위해D. 버전 관리  -  동시에 여러 버전을 작업하기 위해 같은 이유가 대표적이다.  그중에서도 Git은 아래와 같은 구조로 작동한다.그냥 냅다 보면 이해하기 어렵지만..

유니티 - 가이드 문서

비개발자를 위한 유니티 다운로드 및 사용 가이드 문서. 1. 유니티 계정 생성https://unity.com/kr Unity 실시간 개발 플랫폼 | 3D, 2D, VR 및 AR 엔진엔터테인먼트, 영화, 자동차, 건축 등의 분야에서 활용할 수 있는 실시간 3D 게임, 앱, 경험을 만들고 성장시켜 보세요. 지금 바로 Unity를 시작해 보세요.unity.com 우선 유니티 사이트에서 계정을 생성한다. 혹시 라이선스 관련 문구가 뜬다면 Unity Personal을 선택한다. 아래같은 문구도 라이선스 등록해달라고 하는 것이다. Agree 눌러가며 개인용으로 등록해준다. 유니티는 연간 10만 달러 이상 버는 회사부터 사용료를 청구한다. 무료여도 주기적으로 라이선스를 갱신해달라고 하는데 매번 개인용 선택하면 된다...

유니티 - 인벤토리 구현하기(6)

얼추 그럴듯한 인벤토리가 완성되어간다!다음은 가볍게 도구 사용하는 모션을 추가해보았당.  꾹 누르면 작동한다는 것을 설명하기 위해작은 흰색 원으로 애니메이션 상태를 표기했다.  IV_Item HoldingItem = Inventory.HotbarSlots[Inventory.SelectedSlotIndex].CurrentItem; if (Input.GetMouseButton(0) && HoldingItem.Type == IV_Item.ItemType.Tool) { switch (HoldingItem.Name) { case "손도끼": PlayerState = Player..