프로젝트

    2021-08-09 개발일지

    피격 이펙트 문제점 피격시 팔레트를 열면 피격 이펙트가 진행되고 있기 때문에 캐릭터의 색상이 선택한 색상으로 바뀌지 않는다 해결법 색상을 직접 바꾸지 않고 값을 변경하는 함수와 해당 값을 적용시키는 함수로 나눠 팔레트를 열 때 값을 적용시키는 함수의 연결을 잠시 끊어놓자 값을 변경하는 과정에서 DoTween을 사용하였는데 Sequence를 캐싱하여 사용하였더니 제대로 돌아가지 않는 문제가 생겼다 왜인진 몰라도 Restart가 안먹히더라 항상 새로 Sequence를 할당해주니 잘 되긴하는데.. 일단 급하니 다음에 알아보는걸로 하자 기존에 있던 구조는 그대로 두고 플레이어, 적에 따라 스크립트를 새로 작성하여 넣어줬다 Body, Color에 따라 나눠서 작성해야해서 번거로웠지만 잘 돌아가니 됐다

    2021-08-07 개발일지

    세이브 일단 마무리 세이브가 생각보다 복잡했고 예기치못한 버그로 시간이 더 걸렸다 갑자기 빌드할 때 Unity Moving file failed access is denied 에러가 떠서 빌드가 안되는 현상이 있었다 이 오류는 다양한 원인이 있는 모양인데 옮기려는 파일을 다른 곳에서 이미 참조하고 있다던지 => (탐색기 등등) 의심가는걸 다 닫아보자 방화벽이 문제라던지 => 방화벽을 꺼보자 위의 두개를 동시에 해본 결과 해결되긴 했다. 정확히 뭐가 문제였는지는 잘 모르겠다 PlatformNotSupportedException with Json.NET 이 오류는 간단했다 Edit -> Project Settings -> Player -> Other Settings -> API compability leve..

    2021-08-05 개발일지

    GUID 게임을 껐다 켜도 변하지 않는 고유 값 GUID Save시 고유 값으로 저장된 값을 불러오는 시스템이라 알게되었다 GUID란?? Global Unique Identifier 고유 키를 생성한다 키의 크기는 알고리즘에 따라 다르다 생성시 항상 유일한 값이 만들어진다는 보장은 없지만 사용할 수 있는 값의 수가 매우 크기 때문에, 적절한 알고리즘이 있다면 같은 숫자를 두번 생성할 가능성은 매우 적다 많은 참고가 된 글 https://answers.unity.com/questions/487121/automatically-assigning-gameobjects-a-unique-and-c.html Automatically assigning GameObjects a unique and CONSISTENT I..

    2021-08-04 개발일지

    SceneManager.sceneLoaded 씬 로드될 때 생성되는 인스턴스의 Awake 무엇이 더 빠를까? 결과적으론 Awake -> OnEnable -> SceneManager.sceneLoaded 순으로 호출된다 씬이 로드될 때 인스턴스가 생성되고 인스턴스 생성되면 Awake가 바로 호출되니 어찌보면 당연한 얘기였을듯하다

    2021-08-01 개발일지

    File, FileInfo, FileStream 요즘 게임 세이브, 로드 기능을 구현하면서 파일 읽고 쓰기를 공부하고 있다 파일을 읽고 쓰다보니 File에 관련된 여러 클래스가 있어서 차이점이 뭔지 궁금하여 찾아보게 되었다 Class 설명 File 파일에 대한 생성, 복사, 삭제, 이동 및 열기를 위한 정적 메소드 제공 FileInfo 파일에 대한 생성, 복사, 삭제, 이동 및 열기를 위한 속성 및 인스턴스 메소드 제공 FileStream 파일에 대한 스트림을 제공하여 동기 및 비동기 읽기/쓰기 작업을 모두 지원 StreamReader 문자열에서 읽어오는 TextReader를 구현함 StreamWriter TextWriter를 구현하여 특정 인코딩의 스트림에 문자를 씀 이것들 말고도 다양한 클래스가 제공..

    2021-07-22 개발일지

    피격 이펙트 피격 이펙트. 어떻게 할것인가 네온 어비스 => 알파값 조절 (깜빡깜빡) 스컬 => 하얀색 됐다가 서서히 돌아옴 데드셀 => 텍스쳐 빨간색 설정, 알파값 0에서 1된 후 원래 텍스쳐로 돌아와서 알파값 깜빡깜빡 할로우나이트 => 텍스쳐 하얀색 됐다가 서서히 돌아옴, 파티클과 이펙트 때문에 잘 안보이기도 블레이드 어썰트 => 텍스쳐 하얀색 됐다가 서서히 돌아옴 개인적으론 가장 기본적인 하얀색 됐다가 돌아오는게 깔끔하고 심플해서 좋아보였다 우선 진행해보고 우리 게임에 더 어울리는 느낌이 있다면 손보면서 수정하기로 하자

    2021-07-16 개발일지

    Scriptable Object 전체적으로 급하게 만든 코드를 리팩토링 중이다 Ex) 남용한 Singleton 없애기, 씬 정리, 이벤트 시스템, 규칙 정하기... 씬 정리는 대강 끝났고 지금은 팔레트와 프리뷰, 개별 팔레트 코드를 리팩토링하고 있다 팔레트와 프리뷰는 싱글톤으로 사용하고 있었는데 데이터는 SO로 만들고 팔레트에 색상을 추가하는건 AddColor Event를 호출해 사용하고자 한다 아이템을 Pick up 하려면 결국 어디선가는 Pick up 함수를 호출해야 한다는 것인데 어디서 호출해야할까? 플레이어 스크립트에서 아이템과 충돌시? 아니면 아이템 스크립트에서 플레이어와 충돌시? 일단 구조를 생각해봤는데 1. 아이템 충돌시 이벤트핸들러로 아이템을 보내고 팔레트에 저장되게 한다 2. 플레이어가 ..

    2021-07-14, 15 개발일지

    타임라인 플레이어 로직이 있는 씬과 스테이지가 있는 씬을 분리하는 과정에서 런타임 때 타임라인에 플레이어를 할당해야하는 상황이 생겼다. 타임라인을 써본건 이번 프로젝트가 처음이라 알아야할 것들이 있어서 써본다. ActiveScene 씬을 Addictive로 불러올 경우 Instantiate를 하면 기존에 존재하던 씬이 ActiveScene이 되어 해당 씬에서 오브젝트가 생성된다 따라서 불러온 스테이지 씬에 오브젝트를 생성하려면 씬을 불러올 때 ActiveScene을 직접 변경해주어야 한다