내일배움캠프 게임개발반 1일차 개강이다.9시부터 일어나서 지금 TIL 적는 지금까지 12시간을 코딩 중 이다.오늘부터 3일간은 미니 프로젝트를 시작했다.프로젝트는 미리 배웠었던 '카드 뒤집기 게임'을 개선 시키는 것이다.전에 깃쓰다가 코드 대차게 날려먹고, 깃허브 데스
화요일, 즉 2일차.어제보단 좀 더 할만치하다.오늘은 프로젝트 개선사항을 많이 추가했다.깃허브 데스크탑. 써본적 있지만 써본게 아니었다. 다시 제대로 익히니 이게 이렇게 편한거였구나라는 걸 다시 느끼게 되었다. 브랜치 만들고 이동이 자동으로 되는 것도 편하고, 무엇보다
이제 8시에 일어나는 것도 슬슬 적응이 되고, 이제 12시만 되면 피곤해지는 나.프로젝트 마감은 내일까지인데 어제 거의 다 끝내버리고 오늘 몇 개 더 하니까 끝나버렸다.마치고 만들다 만 게임 손 좀 보는 시간을 가졌다. 리슬라임은 피드백이 배고프다...일단 오늘 프로젝
이제 12시간 코딩도 점점 익숙해진다랄까..오늘은 리슬라임 개선에 하루를 넣었다.<< https://github.com/berylstar/RE-SLIME >> 많관부지금까지는 매 상황마다 단축키를 알려줄 때 그 상황에 맞춰 Text 값을 수정해줬다.
내배캠 1주차 마무리.개강 전에는 하루 12시간 하기도 빡실거 같았는데, 어느새 일주일이 지나고 프로젝트마저 하나 뚝딱 해버렸다. 생각보다 다른 조에서 잘 만든게 많이 보여서 배울 수 있는 계기가 되었다.일단 아직은 배워야 하는 점이 많다고 느꼈다. 프로젝트를 할 때는
주말 지나 다시 평일이다. 그치만 내일도 쉬는 날이라는 엄청난 사실. 파이썬 연습 오늘 푼 문제는 " [경주로 건설] (https://school.programmers.co.kr/learn/courses/30/lessons/67259) " 최소 거리를 찾는 문제라
오늘도 열심히 공부해보자. 거두절미하고 바로 ㄱㄱ 프로퍼티 사실 어제 클래스에 대해 공부할 때 프로퍼티에 대해 그냥 대충 넘어갔던 감이 없잖아 있는 느낌적인 느낌. 그래서 오늘 강의를 이어서 보다보니 프로퍼티에 대해 확실히 하고 넘어갈 것 같아야 했다. > 프로퍼티
정렬 알고리즘 파이썬에서는 sort(), C#에서는 System.Linq의 OrderBy() 메소드가 있다. 쉽게 그냥 사용해도 되지만 구현 방법 정도는 알고 넘어가야제. 선택 정렬 > 배열 내의 최솟값을 찾아 맨 앞에 배치하는 방법이다. 시간 복잡도 : 평균적으로
금요일이다. 화요일에 쉬었지만 빨리 쉬고 싶다. 오늘도 화이팅새로운 개인 프로젝트가 던져졌다. 내용은 C=> 콘솔 던전기한은 수요일까지. 빡시게 한 번 불태워보자 💉일단 게임 이름은 콘솔 던전 으로 생각중이다. 콘솔에서 나오는 그 느낌이 좋다. 후엔 아스키 아트도 적
주말 열심히 놀고 왔다. 그럼 뭐해 이제 공부해야지. 업보 받을 시간. 일해라.오늘도 코테를 위한 파이썬 안까먹기 한 문제. 조합에 대한 새로운 접근을 배울 수 있었다.예를 들면 4개의 원소에 대해 Combination이 필요하다면 from itertools impor
좀 이따 써야지
TMI 1. 요즘 다시 FM 시작. 본머스로 하는데 첫 시즌 바로 5위 찍어버렸네. 다음 시즌은 챔스 ㄱ.TMI 2. 오늘 점심은 버거킹 시켜먹었지롱. 버거킹 어플로 시키니까 배달비는 없는데 최소 주문 금액이 14000원 이더라. 高... 이득인가 아닌가.어쨌든 오늘도
오늘부터 내배캠에서 코테 대비를 한다. 그 동안에 나는 파이썬으로 코테를 준비해왔기 때문에 파이썬이 훨-씬 편하지만, 공부되지 않을까 하는 생각에 한 번 C#으로도 도전해보자. System.Array 매번 배열을 선언하고 하기 귀찮아졌다. 파이썬처럼 뭔가 메소드가 있
오늘은 금요일이다. 내일 쉰다. 내일 쉰다. 내일 쉰다. 내일 쉰다. 내일 쉰다. 내일 쉰다. C# 코테 프로그래머스 : 문자열 내림차순으로 배치하기 이 문제를 풀면서 기억해야 하는 것이 있어 적는다. 일단 파이썬으로 먼저 풀어봤다. 한줄 컷 삽가능. 역시 파이
오늘부터 다시 또 조가 바꼈다. 많은 사람들을 만나고 있어서 재밌긴 함. 파이썬 리멤버 바다코끼리 연산자 바다코끼리 연산자가 무엇이냐? := 바로 할당과 반환을 동시에 하는 연산자이다. 그럼 이름이 왜 바다코끼리냐고? 그야 바다코끼리를 닮았으니까. 사용 예시를 보자
동원훈련 끝나고 오랜만에 코딩한다. 이 서늘한 감각.... 근데 나는 3일 쉬고 왔으니 16일차라고 해야하나, 원래 19일차라고 해야되나. 어쨌든 다시 코딩근 ON C# 리멤버 문자열 반복 파이썬에서는 아주 편하게 '1' * 5를 할 수 있지만, 우리 C# 선생님께서
오늘부터 2주간 또 새로운 팀이 편성되었다라는 사실과 내가 팀장이 되었다는 사실. 허허 유니티 리멤버 Time.deltaTime 이전 프레임부터 현재 프레임까지의 경과 시간을 나타내는 것이랍니다. 주로 사용하는 목적은 > 게임의 프레임 속도에 상관없이 일정한 시간 간
별 볼일 없는 화요일.그냥 코딩이나 하자.강의 다 듣고 오늘부터 개인 프로젝트 시작했다. 게더와 비슷한 뭔가를 만들라는데, 이거 멀티 안배우고 만들면 무슨 소용인가 싶어서 그냥 간단한 게임이나 만들자 싶었다. 바로 ㄱㄱ오늘 강의에서 타일 맵이라는 것을 배웠다. 이게 뭐
Update와 FixedUpdate 무슨 차이가 있을까?Update : 스크립트가 활성화 상태일 때, 매 프레임마다 호출된다.FixedUpdate : 프레임마다 호출되는 것이 아닌, 물리 효과가 적용된 이후 호출된다.두 개를 비교해보자면 FixedUpdate가 호출 주
새롭게 배운 InputSystem을 이용해 리슬라임 모바일 이식 작전 중이다. 오늘 먼저 에셋 다운해놓고 StoryScene, TitleScene부터 차근차근 적용했다.결과는 성공적.확실히 이게 훨씬 직관적이고 Update안에 넣지 않아서 뭔가 편안한 느낌마저 든다.나
부모의 메소드를 이어만들 때, 추상 클래스로 만들어주어야 한다.public abstract class 이런식으로, 그러면 자식에서도 정의하고 싶은 메소드를 선언한다.protected abstract void Move(Vector3 dir) 물론 부모에서 메소드 내용을
팀원분이 가져오신 새로운 방식이다. GameEvent ScriptableObject에 UnityEvent를 구독해주는 방식으로 한다.image이런 식으로 인스펙터에서 구독을 걸어줄 함수를 불러와 걸어주고. GameEvent를 스크립트에서 받아와 Raise() 해주면 구
오늘로써 또 2주간의 프로젝트가 마무리되었다.사바이벌... 어쩌구저쩌구 결국 만들어내긴 했다.https://github.com/berylstar/Dodge4Vival시연영상이번 프로젝트로 여러가지 배웠다.InputSystemUpdate 안에서 Input.Get
내일배움캠프 26일차.앞으로는 핵심 내용을 제목에 적어놓자.오늘은 인스펙터 커스텀 버튼에 대해 ARABOZA.인스펙터 커스텀 버튼? 이게 뭐노.테스트를 위해 인스펙터 창에 버튼 처럼 만들어 놓는 거시다.뭐하러 귀찮게 그래. 그냥 캔버스 하나 딱 하고 버튼 하나 딱 해서
또 새로운 팀 프로젝트를 시작하기에 앞서, 팀 편성이 나오고 개인 프로젝트가 시작되었다. 팀 관련해서는 高...... 할말하않. 일단 방법이 뭐 있나. 열심히 머리박아보자. 프로퍼티 > 프로퍼티(Property) : C# 클래스 내부의 변수를 읽거나 값을 대입하는
유니티에서 사용하는 게임 오브젝트를 분류하기 위해 Tag와 Layer를 사용한다. 하지만 나는 지금껏 두 개를 구분짓지 않고 무분별하게 Tag만 사용했다는 생각이 들어 이번 기회에 정리해보자. Tag > 게임 오브젝트를 식별하는 용도 OnCollision 이나
이게 뭐냐. 하위 자식 오브젝트를 정렬해주는 기능이다. 인벤토리같은 곳에서 사용하면 매우 편한 그런거다.이런식으로 자식 오브젝트들의 위치를 알아서 조정해준다.자동 조정해준다고 떠서 수정도 몬한다.기능을 살펴보자.Padding : 패딩, 좌우상하 띄어쓰기Cell Size
이번 개인프로젝트를 마무리하는 회고를 진행해보자아이템을 Scriptable Object로 관리하면서 원본을 저장하고, 실제로는 Instantiate로 복사본을 사용하는 방식을 사용했는데. 효율적인 측면에서는 어떨지 더 알아봐야겠다. 그치만 스탯을 적용시키는 데는 매우
오늘부터 3D 프로젝트 강의 시작. Rigidbody - ForceMode ForceMode, 말 그대로 힘모드다. Rigidbody 컴포넌트를 사용해 게임 오브젝트의 물리적인 힘을 가할 때 사용하는 힘 적용 방식이다. 예를 들면 점프할 때, _rigidbody.A
TryGetComponent > public bool TryGetComponent(out T component) 가끔씩 이럴 때가 있다 GetComponent를 하고 싶은데, 있나 없나 모를 때. 그래도 그냥 가져왔을 때는 메모리 할당을 발생시켜 Garbage Col
Navigation 네비게이션 이름만 봐도 뭔지 알 거 같은 느낌적인 느낌. 길 찾아주는 친구다. ??? : 아니 그냥 너가 움직이는 거면 알아서 가면 되지. 유니티맨 : AI 가 움직일 때는 어떡하려고. ??? : 高... 그래서 쓰는게 Navigation 시스템
저번에 이어서 네비게이션 이야기를 해보자. 네이게이션을 구웠다면, 오늘은 구운 빵위에서 춤춰보자. NavMeshAgent 변수 / 프로퍼티 AI로 움직일 대상에 NavMeshAgent 컴포넌트를 달아주자. 컴포넌트의 구성요소가 덕지덕지 붙어있는데 한번 살펴보자.
NavMeshObstacle 장애물을 설정하는 컴포넌트이다. ??? : 아니 그럼 처음부터 NavMesh 구울 때 같이 굽던가 왜 이제와서 못 지나가게 하는거요? 두 경우의 가장 큰 차이점은 이동할 수 있냐 없냐이다. NavMesh로 구울 때 Object -> Nav
코루틴 그동안 많이도 사용해봤다. 그치만 코루틴의 자잘한 팁 몇개 써보자. 코루틴을 클래스로 선언할 수 있다. 이런 식으로 코루틴을 변수?처럼 사용할 수 있다. StartCoroutine은 보아하니 코루틴을 반환하는 메소드였다는 사실. 그래서 이런 식으로 코루틴 변
인터페이스 : IPointer 유니티에서 마우스 클릭이나 터치를 반응하게끔 해주는 인터페이스다. 사용하기 위한 조건으로는 using UnityEngine.EventSystems; UI에 Graphic Raycaster 컴포넌트 부착 UI에 Raycast Target
선형 보간법 (線型 補間法, Linear Interpolation) ? > 어떤 수치에서 어떤 수치로 값이 변경되는데 한 번에 변경되지 않고 부드럽게 변경하고 싶을 때 다양한 선형보간 메소드들이 있다. Mathf.Lerp, Vector2.Lerp, Vector3.
프로퍼티를 인스펙터에 보이게 하고싶다. [field : SerializeField] public UIMainMenu { get; private set; } UI-Button에 메소드 할당을 인스펙터에서 하기 싫다. btnStatus.OnClick.AddListener
유니티에서 사용자의 입력을 받는 방식으로는 지금까지 2개를 써봤다. 먼저, Input.GetKeyDown() Update문에 넣어주면서 인풋의 입력을 확인하기 때문에 뭔가 비효율적인 느낌이 들었다. 그리고 InputAction 내배캠을 들으며 알게된 기능 중에 하나다
내 인생은 Nullable을 알기 전과 후로 나뉜다.Nullable Type은 Null을 값으로 가질 수 없는 데이터의 타입을 Null을 가질 수 있는 타입으로 만들도록 선언해주는 것.그럼 Null을 값으로 가질 수 없는 데이터 타입에는 무엇이 있을까 ?대표적으로 in
색을 다르게 하는 효과를 가질 수 있다.\_generalLight2D.color = \_lightColor.Evaluate(GameTime / FULL_DAY_LENGTH);스크립트에서는 Evaluate를 이용해 Location의 Gradient 값을 가져올 수 있다.
이번 GhostOnly 프로젝트를 만들면서, 가장 중요하게 생각했던 부분이 플레이어의 애니매이션이다. 애니매이션에 대해 알게된 몇가지를 적어보자.애니매이터를 인스펙터에서 넣어주고 싶을 때는 RuntimeAnimatorController 변수를 선언해야한다. 그냥 Ani