2024/09 20

24-09-13 카드 뒤집기 미니프로젝트 발표

아침 일찍 일어나서 발표 준비를 마저 했다 7시반쯤에 일어나 발표 영상을 촬영 편집했고, 발표 자료까지 완성했다 팀원들도 도착해서 본인 파트의 발표 자료 를 완성해줘서 탈없이 발표 준비 마칠수 있었다. https://youtu.be/iLXQ9LPLITk?si=DbZ8B9DX5S0M84fM  기능 위주 설명은 노션으로 서술했다.  https://rectangular-saver-7f7.notion.site/a751c84958aa405a98b0f50b454e3ddc

게임개발/Unity 2024.09.13

24-09-11 카드뒤집기 미니프로젝트 03

오늘 구현한것 :  카드뒷면 등의 리소스 제작과 씬에 적용과 애니메이션 제작 및 적용이다. 화면위에 있는 초상화 오브젝트를 모든 씬에서통일 해주기로 했고, 코르크 보드 도한 통일했다. 모든 일이 코르크 보드 안에서 일어나는 것처럼. 팀장님이 스테이지와 해금을 구현했고, 심지어 세이브 기능까지 생겼다. 나는 카드를 맞출때 카드 주인이 기뻐하는 연출을 만드려고 애니메이션을 작업했다.  애니메이션 출력에는 새로운 방법을 사용했는데, 기존엔 Bool값만 알고있었으나 이번엔 Trigger를 사용했다. 그러나 관건은이 Trigger를 작동하는 메소드.. 처음엔 GameManager 안에 카드를 맞추는 판정을 하는 동시에 트리거를 발동시키려 했으나, 이 트리거 방동시에도 카드 인덱스와 카드주인을 맞춰줘야 하기 때문에..

게임개발/Unity 2024.09.11

24-09-10 카드뒤집기 미니프로젝트 02

오늘 구현한것 : [클리어 UI 확장]  //  [카드 맞춰지는 연출]  //  [기타 디자인적 구현 등] 클리어 UI 확장   게임이 클리어될때 나오는 UI를 확장시키고, 각 조원이 초상화를 선택시 소개 창이 뜨도록 해줬다. 한 스크립트에 창을 키고 끄는 기능을 만들어 주고      카드 맞춰지는 연출 이부분은 조금 어려웠는데, 구현하고자 하며 접근해본 방법은 이러했다 :  각 카드의 주인별로 초상화를 배치, 위치값 저장 -> 저장한 위치값을 카드 스크립트에 전달, 카드의 인덱스별로 주인(목적지)를 설정. -> 카드가 맞춰질때 이동하면서 Destroy.  각 카드의 주인을 상징하는 초상화를 미리 배치해주고, 그 위치값을 GameManager에서 public을 통해 받아줬다.   미리 함수를 선언해주고 ..

게임개발/Unity 2024.09.10

24-09-09 카드뒤집기 미니프로젝트 01

드디어 본캠프가 시작했고 새로운 조와 만났다. 처음엔 본격적인 조 개발 활동에 앞서 필수로 필요한 GitHub 사용법에 대한 강의를 들었다. Git이란 여러가지 작업자가 버전을 관리할수 있는 방식이고, 사용자가 자기 컴퓨터(로컬 local)에서 서버(리모트 remote)로 업로드하는걸 Push, 반대로 서버에서 컴퓨터(로컬 local)로 다운받을때를 Pull 이라고 한다.  사용자가 버전을 업데이트 할때마다 Summary(요약) 을 적는것을 요구하고, 그렇게 적용된 업데이트를 Commit, 그리고 Commit들이 어떻게 쌓였는지 알아보는 기록을 History 라고 한다. 이부분이 직접 해보면 햇갈리는 부분인데, 자신의 브랜치를 따로 판 다음 만든 변경점들을 부모 브랜치로 merge(병합)해주기 전에 해야..

게임개발/Unity 2024.09.09

24-09-06 개인 프로젝트 : Geometry Survivor 06

마우스로 조준하는 원거리 공격을 미뤄(사실상포기)해두고, 좀더 뱀서스러운 자동 원거리 공격을 강의를 보며 따라해보기로 했다. 일단 캐릭터의 자식 오브젝트로 Scanner를 만들어 적을 찾아 자동 조준하도록 해보겠다. 4가지 변수를 만들었다. 1. float scanRange : 스캔범위.2. LayerMask targetLayer : 특정 레이어를 타겟으로.3. RaycastHit2D[] targets : 스캔된 타겟들, 다수이기 때문에 배열( [] ) 이다.4. Transform nearestTarget : 가장 가까운 타겟. 그 밑에 FixedUpdate로 스캔을 실행할건데, 이 문장도 좀 길어졌다. 풀이하자면. Phsics2D.CircleCastAll 은 2D물리에서 원형으로 스캔한다는것.그 뒤엔 ..

게임개발/Unity 2024.09.06

24-09-05 개인 프로젝트 : Geometry Survivor 05

일단 유튜브 강의를 따라하기로 해봤다.   오늘 구현한 내용은 회전하는 구체(근접무기) 구현과 적과의 충돌시 체력이 깎이는 판정이다.  먼저 무기(Orb) 스크립트다. damage와 per(관통력?)을 선언해주고 Init으로 매개 변수를 만들어준다. 그리고 적이 무기와 충돌했을때 생기는 일을 만들어주자 OnTriggerEnter2D를 사용해서 충돌 판정을 만들고 if문으로 그것이 Weapon 태그의 콜라이더인지를 검사를 해준다.Weapon이 아닐 경우에 실행되지 않도록 해줬다. 이제 Weapon일 경우엔 Enemy의 health 값에 Orb의 damage만큼 빼주게 해도록 했다. 이제 health값에 따른 리액션을 만들어줬는데 health가 0이하가 될 경우에 사라지도록(Dead) 했다. 죽는 함수가 D..

카테고리 없음 2024.09.05

24-09-04 개인 프로젝트 : Geometry Survivor 04

이번엔 강의를 무작정 따라하기보단 직접 필요한 자료들을 찾아보며 필요한 기능을 구현하길 시도했다.. 적의 체력과 스프라이트 연동시키기 이 게임엔 적들의 도형이 곧 체력을 표시한다. 삼각형에서부터 체력이 하나 늘어날때마다 사각형, 오각형.. 최대 12각형까지 된다그래서 직접 삼각형에서 12각형까지의 도형을 직접 만들어줬고  이렇게 간단한 스크립트를 통해 적용시켰다. 이제 Enemy의 health 값에 따라 형태가 바뀌게 된다. 앞으로 상호작용으로 health값이 잘 변하기만 한다면 의도한대로 작동하게 될것이다.   마우스를 따라 움직이는 오브젝트 + 슈팅  플레이어 캐릭터인 Circle의 자식 오브젝트로 Shooter를 붙여줬다. 이제 이 오브젝트가 마우스의 방향에 따라 회전하게 해야하는데... 방법이 좀..

카테고리 없음 2024.09.04

24-09-03 개인 프로젝트 : Geometry Survivor 03

전 시간에 적들을 잘 인스턴스화하는데 성공했으니 스폰 포인트를 잡아주는것부터 시작했다. 스포너 오브젝트의 자식노드로 point를 만들어주고 각자 x축과 y축이 10씩 차이나도록 배치했다.  그리고 스폰 포인트와 스폰 쿨타임을 위해 타이머도 선언해주고  기존에 스페이스바를 누르면 실행되던 기능을 Spawn이라는 함수에 잘 집어넣어줬고, 위치도 스폰포인트중에 하나로 정의되도록 해줬다. ( 밑에 주석처리된 부분은 적의 종류가 많아질때 적을 랜덤으로 만들어주기 위해 미리 적어줬다 )  그리고 타이머 쿨이 찰때마다 적이 스폰되도록 Update에서 Spawn을 호출.   잘 작동한다!다음은 이 스폰이 레벨별로 스폰율이 달라지는 로직인데, 이해하기가 조금 힘들다  우선은 GamaManager에 게임 타임을 선언해주고..

게임개발/Unity 2024.09.03

24-09-02 개인 프로젝트 : Geometry Survivor 02

지난 시간에 캐릭터를 이동하게 하는데 성공했고 적이 쫓아오는 로직까지 구현했다. 이제 적들이 생성되는 로직을 배울 차례였는데, 지금 보는 강의는 PoolManager 라는 개념을 사용했다.https://www.youtube.com/watch?v=A7mfPH8jyBE&t=305s 오브젝트 풀링이라고도 서술했는데, 프리팹들을 배열해서 생성하는 방식으로, 단순이 Instantiate 와 Destroy를 반복하다간 메모리상의 이슈가 있을수 있기 때문에 그걸 관리하는 방법이라고 한다. 강의에서 보고 따라한 PoolManager 코드 전문 : 더보기using System.Collections; using System.Collections.Generic; using UnityEngine; public class Po..

게임개발/Unity 2024.09.02