전체 글(122)
-
직렬화
직렬화를 하는 이유는?메모리주소는 바뀌더라도 메모리에 들어가는 값들을 유지시켜주기 위해서 사용하는 방법이 직렬화이다.직렬화란?메모리에 들어가는 값들만 뽑아서 나열시켜놓고 그거를 어딘가에 보관하면 이게 직렬화이다. (어떤 방식으로든 나열만 시키면 된다.)(나열하는게 직렬화)역직렬화란?플레이할때 나열해놓았던 정보들을 잘정리해서 다시 원하는 주소값에 집어 넣으면 이게 역직렬화이다.(되돌리는게 역직렬화) 이렇게 만들면 게임을 껏다키든 프로그램을 나중에 키든 상관없이 항상 동일한 값들 세팅해서 똑같은 상태에서 게임을 할 수 있다.이런 방식을 사용하면 내가 직렬화 해놓은걸 다른사람이 역직렬화 할 수도 있다. 그럼 직렬화한걸 전달해주면 통신도 할 수 있다는걸 알 수 있다. 멀티플레이도 통신이 왔다 갔다 하는거여서 결..
2024.11.27 -
프레임워크라?
프레임워크(Framework)란?- 프레임워크는 소프트웨어 개발을 효율적이고 체계적으로 진행할 수 있도록 도와주는 기본 구조나 템플릿을 제공한다. 개발자가 반복적으로 작성해야 하는 코드나 기능을 미리 구현해 두고, 개발자는 이 구조를 기반으로 프로젝트를 작성하며 핵심 로직에 집중할 수 있다.프레임워크의 특징1. 미리 정의된 구조- 프레임워크는 소프트웨어를 어떤 방식으로 개발해야 하는지에 대한 표준 구조를 제공합니다. 이를 통해 일관성 있고 유지보수하기 쉬운 코드를 작성할 수 있다.2. 제어의 역전 (Inversion of Control)- 프레임워크는 애플리케이션의 흐름을 스스로 관리하며, 개발자는 프레임워크가 제공하는 규칙에 따라 필요한 기능을 구현합니다. 즉, 프레임워크가 개발자의 코드를 호출하는 방..
2024.11.26 -
현업 기획자의 좋은 기획과 업무 방식
좋은 기조란?특징- 구성원들의 동의: 가능한 모든 팀원이 공감할 수 있어야 한다.- 변경의 안정성: 쉽게 변경되지 않아야 한다.- 체계적 우선순위: 기조 간의 우선순위가 명확하게 정리되어야 한다.기반- 리더의 역할: 논의를 주도할 리더가 있어야 한다.- 수평적 의사결정의 함정: 지나친 수평적 구조는 논의를 방해할 수 있다.- 초기 설정의 중요성: 프로젝트 초기에 기조를 설정하는 것이 가장 효율적이다.- 추상적 동의: 초기에는 추상적인 상태에서 합의가 더 쉽다.- 레퍼런스 활용: 추상적인 기조는 수량화가 어렵기 때문에 레퍼런스를 통해 정의를 구체화.기조 설정 시 유의점- 용어를 명확히 정의해야 한다. (예: "낮은 확률"은 1%인지 5%인지 명시)- 의견 충돌 방지를 위해 기조는 초기 단계에 설정해야 한다..
2024.11.25 -
UI 버튼을 동적 로딩 하는방법 (프리펩으로 생성)
UI 버튼을 동적 로딩하는 방법동적으로 생성할 UI를 프리펩으로 만들어 둔 다음에 코드를 통해서 동적 로딩하면 된다.코드[SerializeField] private GameObject buttonPrefab;List buttons = new List();public void GetMaps(){ OnDestroy(); TextAsset[] jsonFiles = Resources.LoadAll("Maps"); for (int i = 0; i ().text = json; obj.GetComponent().SetUp(json); buttons.Add(obj); }}private void OnDestroy(){ for (int i = 0; ..
2024.11.22 -
유니티 이미지타입 전환 안되는 이유 (인스펙터창 설정이 디버그로 되어 있어서 안됐다)
이미지를 jpeg타입으로다운받은 후에 유니티에 이미지를 올린후에 이미지의 Texture Type을 Default에서 Sprite로 변경하면 이미지가 Sprite타입으로 변환이 되는데 어느순간 갑자기 변환이 안되서 왜 그런지 이유를 찾아봤다.내가 시도했지만 실패한 방법들1. 이미지 지웠다 다시 유니티에 올리기2. 이미지 타입을 png타입으로 바꿔서 유니티에 올리기3. 이미지 우클릭해서 Reimport하기4. 유니티 껏다 키기5. 컴퓨터 껏다 키기6. 유니티파일에서 Library파일 지웠다 유니티 다시 실행하기해결방법그래서 전문가한테 질문해보니 인스펙터창의 설정이 Debug로 되어있으면 안되고 Normal로 되어있어야지 이미지 타입을 바꿀수 있다고 예기해 주셔서 그렇게 해보니 바로 됐다.
2024.11.21 -
화면(씬) 전환 시 자연스럽게 암전 효과를 구현하는 예제(페이드인 페이드아웃)(DOTween사용)
화면(씬) 전환 시 자연스럽게 암전 효과 넣는 순서1. Canvas를 SceneManager로 만들고 MySceneManager 스크립트를 만들어서 붙여줬다.1-1 Sort Order값을 다른 오브젝트보다 위로 둬야 한다.(나는 1로 설정해도 맨앞에 있어서 1로 설정했다.) 2. 자식으로 UI이미지를 FadeImg로 만들고 이미지의 크기를 정해준다.(나는 화면을 꽉 채울거라서 앵커를 화면전체로 해놨다.)2-1. Image에 씬이 넘어갈때 화면에 띄웠으면 좋겠는 색으로 설정하면 된다.2-2. Canvas Group를 만들어서 해당 사진과 같이 설정했다.(Canvas Group은 투명도(Alpha)뿐만 아니라 Raycast 제어 기능도 제공하는 중요한 역할을 한다.이를 통해 blocksRaycasts 값을 ..
2024.11.20