전체 글
![SOLID 원칙 (1)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FthIUa%2FbtsH8xCleMN%2F9kBtZkma6P86Lgvi0ln9Z1%2Fimg.png)
SOLID 원칙 (1)
소프트웨어 디자인의 근본 원칙을 이해하면 패턴이 어떻게 작동하는지 더 잘 이해할 수 있습니다. SOLID는 이러한 원칙을 나타내는 다섯 가지 핵심 원칙을 설명하는 머리글자어입니다. 이제 이 원칙들을 하나씩 살펴보겠습니다.1. Single Responsibility Principle (SRP): 단일 책임 원칙클래스를 변경해야 한다면 그 이유는 오직 단일 책임 원칙이어야 합니다. 모듈, 클래스 또는 함수가 오직 한 가지만 책임지며 로직의 특정 부분만 캡슐화할 것을 명시합니다. 단일 구조의(monolithic) 클래스를 만들기보다는 여러 개의 작은 클래스로 프로젝트를 조합하세요.클래스와 메서드는 짧을수록 설명과 이해, 구현이 쉽습니다. Unity를 어느 정도 사용해 봤다면 이미 익숙한 개념일 것입니다.유니티..
![게임 프로그래밍 패턴 공부하기 전 공부 자료 출처](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFauK3%2FbtsH0mMzyFP%2F8agKbxSKFkRuryIZSkGJRK%2Fimg.png)
게임 프로그래밍 패턴 공부하기 전 공부 자료 출처
유니티에서 제공해주는 게임 프로그래밍 패턴 문서를 통해 여러 게임을 제작하면서 고민했던 부분을 프로그래밍 패턴으로 공부하고 싶어 작성할려고 합니다. 저도 그렇지만 프로그래밍 패턴이 정답이 아닐수도 있으므로 필요할 때만 고민해서 사용해야할거같습니다. (= ・ω・ = )출처: GitHub - Unity-Technologies/game-programming-patterns-demo: A repo of small demos that assemble some of the well-known design patterns in Unity development to support the ebook "Level up your code with game programming patterns" GitHub - Unity-T..
![유니티 프로젝트 추가시 .ignore가 적용되지 않는 이유](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqgNHU%2FbtsF5DcfOEE%2FPhBLNMRAI4zMEUMsAm1Gk1%2Fimg.png)
유니티 프로젝트 추가시 .ignore가 적용되지 않는 이유
다들 유니티 프로젝트를 깃으로 관리하기 위해 레포지토리를 생성하는 과정에 git ignore를 유니티 용으로 생성했을 겁니다. 그런데 아래 사진과 같이 유니티 프로젝트를 생성하거나 기존 프로젝트를 이동시켰는데 .ignore가 작동을 안하고 있어 이 블로그 글로 오셧을 겁니다. GitHub에서 제공하는 Unity용 .gitignore 파일은 Unity 프로젝트와 관련된 일반적인 파일과 디렉토리를 무시하도록 구성되어 있습니다. 이 파일은 Unity 프로젝트가 레포지터리의 루트 디렉토리에 직접 위치할 때 가장 잘 작동합니다. 그러나, Unity 프로젝트가 레포지터리 루트의 하위 폴더에 위치하는 구조일 때는 .gitignore 설정이 예상대로 작동하지 않을 수 있습니다. ▶ 해결법1 이러면 해결법은 기존 .ig..
![플레이어가 보이면 쫓아오게 만듬(귀신 모델이니 조금 무서울 수 있음)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIzot1%2FbtsoZK1m56z%2FzDskL205NihwbHJ3M1Xnvk%2Fimg.png)
플레이어가 보이면 쫓아오게 만듬(귀신 모델이니 조금 무서울 수 있음)
바로 동영상을 보고 이해하는게 빠를거 같아 제일 처음으로 동영상을 넣었습니다. 지금 캐릭터는 PC로 테스트한거라 속도가 빠르고 해서 그렇게 무섭진 않지만 잘 쫓아오는걸 보여드리기 위해 이렇게 찍어봤습니다. 기능 구현에 쓰인 파일들로는 이렇게 있습니다. 1. BP_BabyTracer 아기의 캐릭터 블루프린트로 충돌과 매쉬를 담당합다 2. BP_BabyAIConteroller 이것이 플레이어가 범위 안에 들어오면 인식하는 하게 하고 비헤이비어 트리를 통해 AI의 행동패턴을 시작하게 하는 부분입니다. AIPerception으로 시야 범위안의 자극들을 느끼게 하고 새 자극을 느끼면 UpdatePerception 함수를 호출합니다. 아래의 옵션들로 시야 반경, 시야 상실 반경, 시야각도 등등을 조절할 수 있습니다..
![옵션 창 개발 (추가로 옵션 설정 저장)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb34bNQ%2FbtsnvIWUm8O%2FW6P4iakIkODKV8tWYSKTBk%2Fimg.png)
옵션 창 개발 (추가로 옵션 설정 저장)
언리얼엔진4에서 처음으로 옵션창을 개발해봤어요 Q를 누르면 옵션창이 나오고 CONTINUE는 게임 하면으로 다시 돌아가고 MAIN MENU는 메인 화면으로 돌아가기 QUIT은 게임 종료 그리고 그 밑의 세개의 볼륨으로 게임 소리 조절을 하고 조절한 값은 저장됩니다. 다시 옵션창을 키면 저장한 값이 LOAD됩니다. 참고 https://www.youtube.com/watch?v=swPCtscH--E&t=0s https://www.youtube.com/watch?v=HJxYPJF6wzk
![동기(Sync) vs 비동기(Async) / 직렬(Serial) vs 동시(Cocurrent)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmPx6t%2FbtsnqTqhy6d%2Fkhk7glLNKNOjpekREx5Fb0%2Fimg.png)
동기(Sync) vs 비동기(Async) / 직렬(Serial) vs 동시(Cocurrent)
동기(Sync) : 작업을 다른 스레드에서 하도록 시킨 후, 그 작업이 끝나길 기다렸다가 다음일을 진행한다 비동기(Async) : 작업을 다른 스레드에서 하도록 시킨 후, 그 작업이 끝나길 안 기다리고 다음일을 진행한다직렬(Serial) 처리 : 분산처리 시킨 작업을 다른 한개의 스레드에서 처리 - (순서가 중요할 경우) 동시(Cocurrent) 처리 : 분산처리 시킨 작업을 다른 여러개의 스레드에서 처리 - (순서는 상관없고 처리 속도가 중요할 경우) 헷갈려서 정리함 헷갈릴때마다 봐야지
![언리얼엔진 마켓플레이스 무료 에셋 추천](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbmhPL%2FbtslSlBSfIx%2FFOOKVCRlc3kQHT71WW4CJ0%2Fimg.png)
언리얼엔진 마켓플레이스 무료 에셋 추천
첫번째로 infinity Blade 시리지 입니다. 수상 경력에 빛나는 인피니티 블레이드(Infinity Blade) 프랜차이즈 에셋 팩을 평생 무료로 받을 수 있다길래 공부 하는 중간 호다닥 받았습니다. 그리고 한달마다 돌아오는 무료 콘텐츠도 무조건 받아놓으시면 좋습니다.
![언리얼 엔진 공부 시작](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc9SxeL%2FbtslC2KTjs1%2FKr9fYFsu29DPkYP20SD4ak%2Fimg.jpg)
언리얼 엔진 공부 시작
요즘 책값이 부담되어 도서관에서 책을 빌려 공부하고 있습니다. 이번에 게임 개발 팀에 들어가게 되었습니다. VR공포게임 장르인데 한번도 다뤄보지 않은 언리얼엔진4로 개발하고 있었기 때문에 저도 합류 전에 빨리 공부 해야겠습니다. 유니티랑 다른 부분 용어들이 많아 헷갈리지만 하나하나 따라 가니 은근 재밌습니다. 특히 스태틱 매시에 머터리얼 할당만 해도 그래픽이 너무 예뻐져서 맘에 듭니다. 😍 레벨 블루프린트와 블루프린트 클래스 공부 중간 평가 장점: 언리얼 엔진 자체의 대부분의 기능들을 배우는 방향을 지향하고 있습니다. 단점: 블루프린트로 연습과제를 만들어보는 내용은 담고 있습니다만, 명세를 서술하는 수준이고 가이드는 짧고 불친절합니다. 사진이 없어 따라하기 힘듭니다. 언리얼 엔진 자체에 대한 배움을 원하..
![[Codingame] ROLLER COASTER(롤러코스터 대기열 시뮬레이션 - Circular queue, Dynamic programming](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbnBZ5%2Fbtsi2Rdt6ij%2FTJyk2CFkzFfwKLGpe9ByK0%2Fimg.png)
[Codingame] ROLLER COASTER(롤러코스터 대기열 시뮬레이션 - Circular queue, Dynamic programming
문제 간략 설명: 놀이공원 분석 센터에 새로 배치된 당신은 놀이기구의 수익을 예측하는 임무를 맡게 됩니다. 가장 먼저 롤러코스터를 살펴봅니다. [사진] [Rules_규칙] 목표: 하루 동안 롤러코스터가 벌어들일 수익을 예측합니다. 규칙: 놀이공원의 사람들은 롤러코스터를 매우 좋아해서 롤러코스터에서 내리자마자 다른 기구에는 관심도 없이 다시 롤러코스터를 타려고 줄을 섭니다. ■롤러코스터의 탑승 규칙은 다음과 같습니다. - 롤러코스터 앞에 차례대로 줄을 서고, 줄을 선 순서대로 탑승합니다. - 단체 손님은 모두 함께 탑승하기를 원합니다. 같은 그룹에 속한 손님들은 여러 대에 나눠 탑승할 수 없습니다. - 지정된 좌석보다 초과한 인원을 태울 수 없습니다. - 단체 손님을 모두 태우기에 좌석이 부족한 경우에는 ..