전체 글 282

연결 리스트(Linked List)

연결 리스트란? 필요할 때마다 바구니를 하나씩 마련해서 그곳에 데이터를 저장하고 이들을 배열처럼 서로 연결한다. 라는 개념으로 접근하면 이해하기 쉽다. 바구니 역할이 구조체가 되고, 구조체 변수를 하나씩 동적 할당해서 이들을 연결한다. 그리고 구조체 Node의 변수를 가리켜 '노드'라 한다. 이는 데이터를 담는 바구니보다는 연결이 가능한 개체라는 사실에 중점을 두어 지은 이름이다. 이렇듯 구조체의 정의 하나만 가지고도 연결 리스트의 기본 원리라고 말할 수 있다. 이를 그림으로 표현하면 다음과 같다. 연결 리스트에서의 데이터 삽입 다음 임의 코드로 연결 리스트의 삽입 개념을 잡아보자. Node * head = NULL;// 리스트의 머리를 가리키는 포인터 변수 Node * tail = NULL;// 리스트..

0309 작업 현황

한 것 - 메시 스폰 - 마우스에 메시 따라 가기 - 메시 빨강 파랑 로직 구현 오류 잡은 것 & 이유 - 메시 초록불 체크 로직 다시 확인하고 fix함 -> 이유 땅에 닿는지 확인하는 레이 트레이싱 길이가 짧아서였음 길이 조절 후 fix됨 그 외 함수 구현이 조금 오류난 것들 fix완 해야 할 것 농사 시스템 - location 시키기 - 식물 소켓 부착하기 - 식물 상태 구현 하고 싶은 거 - UI - 빌딩시스템 - 동물 AI

UE5 2024.03.09

작업 현황 0307

함수 로직 검사하기 로직 검사하기 Hide = PreviewCollisionChecks(bIsEnable); if(bIsEnable) { EnablePlacement(); return; } 개선 방안 로직안에 호출하는 인터페이스 함수 구현이 덜 된듯 한 것 - 메시 스폰 - 마우스에 메시 따라하기 - 메시 빨강 파랑 로직 구현 오류 잡기 - 메시 초록불 체크 로직 다시 확인하고 fix하기 해야 할 것 농사 시스템 - 빨강 파랑 로직 구현 - location시키기 - 식물 소켓 부착하기 하고 싶은 거 - UI - 빌딩시스템 - 동물 AI 일단 팀프로젝트 농사 시스템 기초 틀 잡고 개인 프로젝트도 병행하자 개인 프로젝트보단 팀플에 집중하기

UE5 2024.03.07

작업 - 0303

시작해야 할 곳 에디터 플레이 시퀀스 다이어그램 함수 뭐가 더 많긴 한데 일단 이런식으로 정리했다. 디버깅 찍어가면서 굵직한 함수들 시퀀스 다이어 그램에 추가해주기. c++ 프로젝트 경험이 많지 않아서 많이 헤맸지만 숙련된 팀원이 c++ 함수 추적하기 도와주셨다. 또 주변에서 뭘 공부하면 좋을지 중복된 것들을 추려서 짬짬히 읽으면서 코드를 짰었다. 나중에 농사시스템 속도 좀 빼면 TSubclassOf CDO Reflection 이 세개는 빨리 정리하자 처음에는 bp어떻게 c++로 업데이트하나 막막했는데 주변에서 도움도 받고 계속 검색하면서 하니까 대충 이렇지 않을까 하는 감이 조금 생겼다. 이 덕분에 코드에 속도가 좀 붙었다. 항상 내가 이거 왜 하고 있는가? 왜 배워야 하는가? 생각하기

UE5 2024.03.04

2월 마무리

10일간 게임인재원에서 프리스쿨 경험 후 우리 팀이 인기상을 받았고 이후 최종합격 하였으나 거리의 문제와 엔진 사용법도 모르는데 자체엔진을 배우기에는 너무 부족한 실력이라 느껴 인재원은 최종 등록을 포기하였다. 이후에는 지인들과 언리얼로 프로젝트를 진행하며 구현 뿐만아니라 엔진 내부코드를 읽어보는 연습과 구조짜는 연습 등을 하며 프로젝트 경험을 쌓고있다.

Instantitate()와 Destroy()함수

오브젝트 스포닝이란 유니티에서 오브젝트 스포닝에 사용하는 함수인 Instantitate 함수에 대해 간략히 설명하겠다. Unity에서 Instantiate()로 새로운 게임 오브젝트를 생성하는 것 즉 Instantiate 함수를 사용하여 기존의 오브젝트의 복사본을 만드는 것을 "스포닝"이라고 부르기도 한다. 네트워크 HLAPI에서 "스폰"은 더 세부적인 의미를 가지는데, 서버에서 오브젝트를 "스폰"하게되면 오브젝트가 서버에 연결된 클라이언트에서 생성되어야 하며 이들을 오브젝트 스포닝 시스템이 관리하게 된다는 의미이다. 오브젝트가 스포닝 시스템에 속하게 된 후에는 오브젝트가 서버에서 제거되면 클라이언트에서도 동일하게 제거된다. 스폰된 오브젝트는 서버가 관리하는 네트워크 오브젝트가 동일하게 해당 클라이언트에..

Unity 2024.02.15

게임 인재원 6기 프로그래밍 OT

지식을 배운다기보단 지식을 쌓을 자세나 태도를 돌아보는 관점을 배웠다. 추가적으로 사회에서 일을 한다는 것은 책임을 진다는 것이고 책임을 진다는 말이 어떤 것인가에 대해서 고려해보는 계기도 되었기에 정말 뜻깊은 시간이 되었다. 게임잼을 통해서 협업에 대해서 많이 생각해 볼 계기도 되었는데, 아무래도 유니티를 직접 사용해보진 않고 갔었기에 더욱 난이도가 느껴졌었다. 하지만 팀원분들이 잘 수습해준 덕에 잘 해결되었다. 이후 인기상을 수상한 뒤 2일간 못잤던 잠을 몰아잤다. 게임잼 이후에 팀프로젝트의 경험의 중요성을 알게되었으며, 게임잼 이후 바로 팀을 꾸려서 프로젝트 하나를 진행하고 있다. 게임잼에서 배운 것 하나는 팀 프로젝트의 중요성이고, 다른 하나는 개발PM의 존재의 중요성이었다. 아무래도 기획 아트 ..