2024/10 18

24-10-28 Unity 숙련 개인과제 04

어느덧 열정보단 이전의 우울과 무기력감이 돌아온다. 다시 열정이 넘쳤으면 좋겠다. 스스로를 통제하기가 힘들다. 오늘은 일찍 자야겠다....  개인과제를 위해 여러가지 에셋을 찾아보다 Unity에서 제공된 3D 에셋을 사용해봤는데 이 에셋에서 사용된 캐릭터 에니메이션과 카메라 컨트롤링만 잘 파악해도 많은 도움이 될것같다.  카메라는 Cinemachine 이라는 패키지의 기능을 사용하는데, 이걸 통해서 여러가지 카메라 워킹을 쉽게 구현할수 있다고 한다...하지만 아직 제대로 이해하기는 멀었다. 일단은 필수 구현 과제를 마친 다음에 이 Cinemachine과 플레이어 움직임-애니메이션에 쓰인 코드들을 분석해서 이해해봐야겠다.

게임개발/Unity 2024.10.28

24-10-25 Unity 숙련 개인과제 03

꾸준실습 복습요약 이전글에서 이어서.. 24-10-24 Unity 숙련 개인과제 02꾸준실습 복습요약     싱글톤 구현싱글톤이란 특정 클래스의 인스턴스 가 게임 내에서 하나만 존재하도록 하는 패턴이고, 어디에서나 접근 가능한 객체를 생성해 편하게 사용하기 위해 쓴moloch0411.tistory.com  Scriptable Object Scriptable Object란 Unity에서 제공하는 데이터 컨테이너로, 게임 오브젝트에 첨부되지 않고 독립적으로 데이터를 저장-관리할수 있는 클래스라고 한다. 아이템 데이터베이스, 캐릭터 스탯, 대사 및 스토리 등등에서 사용될수 있다고 하는데, 이번 꾸준 실습에서는 퀘스트를 만드는데 사용했다.  구현 방식은 다음과 같다 ;  [CreateassetMenu()]를 c..

게임개발/Unity 2024.10.25

24-10-24 Unity 숙련 개인과제 02

꾸준실습 복습요약     싱글톤 구현싱글톤이란 특정 클래스의 인스턴스 가 게임 내에서 하나만 존재하도록 하는 패턴이고, 어디에서나 접근 가능한 객체를 생성해 편하게 사용하기 위해 쓴다고 한다. 게임의 전체적인 룰 등의 시스템을 관리하는 클래스를 만들어 사용할때 쓰게될것이다. 싱글톤은 정적(static)필드를 활용하여 구현한다고 한다. 근데 정적(static)이 어떤 뜻인지 제대로 설명을 들은적이 없다.. gpt찬스! [GPT와의 문답]{Q. C#에서 정적 필드(static)는 어떤 뜻이야? 정적인 필드와 정적이지 않은 필드의 차이점은 뭐야? 그리고 싱글톤에서 정적(static) 필드를 활용하여 구현하는 이유가 뭐야?  A.   C#에서 정적 필드(static field)는 클래스의 인스턴스가 아닌 클래스..

게임개발/Unity 2024.10.24

24-10-23 Unity 숙련 개인과제 01

오늘부터 3d로 들어간다근데 요즘 til 작성이 매우 힘들어졌다.. 전만큼 의욕이 넘치지 않는걸까..    스카이박스 만들기3d 환경에서 하늘을 구현하기 위해 '스카이박스'라는 개념이 존재한다. 본인은 알던 내용이니 빠르게 방법론으로 넘거가겠다. 이렇게 '메테리얼'을 만들어주고 기본 셰이더인 Standard대신에 Skybox를 선택해주면 된다.(그러면 4가지 선택지가 더 생기는데 이번 강의에선 Procedural을 사용했다.)  이제 이 스카이박스를 프로젝트에 적용해줘야 하는데 방법은 :  Window -> Rendering -> Lighting 으로 Lighting 설정창을 열고 Environment에 Skybox Material으로 설정되어있던 기본값 대신에 만들어준 메테리얼을 박아주면 끝.  Sky..

게임개발/Unity 2024.10.23

24-10-18 Unity 2D 팀 프로젝트 04

오늘도 많은것들을 수정 구현했다.. 기능을 구현하는것 자체는 이제 점점 어렵지 않게 느껴진다. 다만 아직 어렵게 느껴지는건 개발을 편하게 하기 위해(또는 프로젝트를 최적화 하기 위해) 만드는 enum, Scriptable Object, ObjectPoolManager 등을 구현한 함수에 적용시키는것. 어렵더라도 여러가지를 적용해보면서 시야가 넓어진게 느껴진다. 앞으론 이런 최적화용 스크립트들을 더 적극 반영해야겠다. 배운것코루틴(Coroutine) 기존에 적 패턴을 만들때 Update에서 사용을 해서 프레임별로 계속 공격을 할수 있는지 몇발을 쏴야하는지를 체크시켰는데,리팩토링 과정에서 팀원(사실상 팀장)님에게 아주유용한 키워드를 배웠다. 그것이 코루틴이다.  private void FireArc(i..

카테고리 없음 2024.10.18

24-10-16 Unity 2D 팀 프로젝트 02

코드 전반에 기반을 잡아줄 프로그래머는 정말 든든하다. 앞으로 협업을 하게 되면 이렇 사람들에게 의존하게 될것같기도 하다.그야 나는 코드 말고도 다양한 방식으로 게임을 만들 계획이니까.. 코드를 최적화해줄 사람이 있다면 정말 좋을것이다. 하지만 그것이 배움을 게을리하는 이유가 되어선 안된다.   오늘은 플레이어가 총알을 쏘는것을 구현해보았다. 종스크롤 슈팅 게임에선 기본적으로 총알을 발사하고, 업그레이드 아이템을 먹을때마다 총알이 여러개가 발사되거나 더 강한 총알을 발사하는 방식으로 강화가 된다. 처음엔 이렇게 업그레이드 될때마다 스프라이트와 데미지가 추가되도록 하려고 했다. 하지만 이렇게 되면 보이기엔 2~3개의 총알이지만 사실은 강화된 하나의 총알인거라 맛이없다.. 하지만 다른 생각이 안났었는데 이런..

게임개발/Unity 2024.10.16

24-10-15 Unity 2D 팀 프로젝트 01

오늘부터 다시 팀 프로젝트 주간의 시작 팀 프로젝트 주제는 추억의 게임 재해석(?) 인데, 똥피하기, 닷지, 벽돌깨기중 하나를 선택해서 진행한다. 우리조는 나의 추진으로 닷지를 선택해, 탄막 슈팅게임을 만들어보기로 했다 조원 두분이 꽤나 코딩실력이 상당하신데, 특히 한분이 여러가지 기능들을 많이 사용해 코드를 최적화 하는 모습을 잘 보여줬다.(튜터님께 피드백을 받아보니 취업활동에도 지장이 없을 코드라고 한다.) 인상깊었던 점 : 특히 이렇게 Init 메소드를 사용해 Awake보다 더 우선적으로 초기화를 해주는 패턴이 인상깊었다.이렇게 /// /// 로 주석을 달아 마우스를 함수에 올리면 주석이 표시가 되도록 하는것도 활용하면 매우 도움이 될것같다. 앞으로 같이 코드를 고민해보며 하는 과정을 잘 지켜보면..

게임개발/Unity 2024.10.15