til
-
[TIL] 15주차 4일 트러블슈팅 FSM을 사용하며 일어난 문제들개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 26. 10:11
FSM을 사용하면서 일어난 다양한 문제들문제State간의 전환이 안될 때가 있는 경우각 State의 애니메이션 간의 전환이 매끄럽지 않은 경우State의 강제적인 변환으로 인해서 일어난 버그들 ( 캐릭터가 굳어 버린다던가 )State간의 전환 사이에 1프레임 씩 다른 State가 섞이는 문제State의 전환에 따라서 물리적인 문제가 발생하는 경우State의 조작과 내부로직이 함께 작동하지 않고 따로 노는 경우State를 마구마구 변환 시키다 보면 발생하는 문제 ( 스킬을 막 누르고, 전환을 막 누르다 보면 굳음 )기존 접근저 버그들이 한번에 모두 발생한 것이 아니기 때문에버그가 발생할 때마다 그에 맞은 어느정도 하드코딩으로 대처를 했었다.예를 들면 State간의 전환이 안될 때는 미리 만들어둔 Chang..
-
[TIL] 15주차 2일 타임라인을 활용한 컷씬 제작개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 23. 18:54
최종프로젝트를 진행하면서 컷씬 같은 연출을 하고싶다는 생각을 많이 했었는데당장 구현하고 리펙토링해야할 것들이 너무 많고 계속 생겨서미루고 미루다가 오늘 폴리싱 작업 중에 인트로 컷씬을 제작해봤다. 컷씬 제작을 위해서 알아본 결과 컷씬은 유니티의 TimeLine 기능을 활용하여 만들 수 있다는 걸 알게 되었다. 타임라인 활용하기먼저 빈 오브젝트를 하나 만든 후 Playable Director컴포넌트를 추가해준다. 그리고 TimeLine 폴더를 만들고 윈도우에 Sequencing을 보면 Timeline을 생성할 수 있다. 먼저 Timeline의 구성을 알아보자 애니메이션 트랙(Animation Track): 캐릭터 애니메이션을 제어하는 데 사용합니다.오디오 트랙(Audio Track): 배경 음악이나 효과음..
-
[TIL] 14주차 4일 트러블슈팅개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 18. 19:29
여러가지 버그 수정 이동중에 메인메뉴 UI 키면 계속 달리는 버그public virtual void Update(){ Move(); if (UIManager.Instance.onUI) { stateMachine.MovementSpeedModifier = 0f; StartAnimation(stateMachine.Player.AnimationData.IdleParameterHash); }}스테이트머신에 UI가 켜져있는 상태라면플레이어의 속도를 0으로 만들고, Idle상태로 돌아가게끔 설정하여 해결했다. 스킬 사용중에 다른 스킬을 누르면 멈추는 버그 체크포인트에 상호작용 시 모든 인풋이 안들어가게 하기 protected virtual void AddInputAct..
-
[TIL] 12주차 3일 기술면접 대비개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 5. 09:54
using System;class Program{ // 델리게이트 정의 public delegate int MyCallback(int a, int b); // 덧셈 메서드 static int Add(int a, int b) { return a + b; } // 곱셈 메서드 static int Multiply(int a, int b) { return a * b; } static void Main(string[] args) { MyCallback MathOperation; MathOperation = Add; Console.WriteLine(MathOpe..
-
[TIL] 11주차 5일 ( 리소스 데이터 관리 )개발일지/스파르타 코딩클럽 부트캠프 2024. 6. 28. 12:12
그냥 기본적으로 큐브를 프리팹으로 만들어서 대충 객체로써 생성한다고 생각해보자 우리는 지금까지 큐브를 만들어서 프리팹으로 뺀 후 캔버스를 만들어서 판넬에 버튼을 만들고직렬화필드로 프리팹을 받아와서 버튼에 온클릭 형식으로 프리팹을 생성했을 것이다. 만약에 여기서 빌드를 하게되면 여기있는 에셋 파일이 다 빌드가 되는 것이 아니다.빌드를 할 때는 씬에 연결되어있는 오브젝트들만 연결되어 빌드가 된다. 직렬화필드로 인스펙터에서 프리팹을 연결해주면버튼을 눌러서 큐브를 생성하지 않아도큐브는 항상 메모리에 올라 가 있게된다. ( 게임의 처음부터 끝 까지 큐브의 메모리가 존재하는 샘 )당연히 최적화에 좋지 않을것이다. 인스펙터에서 프리팹을 넣어주거나 하는 행위는 좋지 않다고 볼 수 있다.오늘은 조금 유연성 있게 데이터를..
-
[TIL] 10주차 5일 ( 유니티에 관한 꿀팁 (심연))개발일지/스파르타 코딩클럽 부트캠프 2024. 6. 21. 21:59
오늘 특강에서 배운 부분을 TIL로써 채워볼까 한다.이번 특강에서는 튜터님의 유니티를 향한 시선과, 유니티를 활용한 개발에 있어서 있는 꿀팁과 중요 정보들을많이 알 수 있었다. 튜터님의 Unity에 영화를 빗댄 시선Unity - 영화Scene - 영화 촬영 장소Game - 실제 영화의 결과물Hierarchy - 영화에 출연하는 배우들Inspector - 각 배우들에게 주어진 역할들Project - 창고(다른 씬에서 사용할만한 소품, 배우들이 저장되는 공간)Script - 배우들에게 주어지는 대본PrefabPrefab을 만들고 하이어라키 창에서 수정을 한 후 다시 프로젝트에 넣으려고 할 때우린 이런 창을 볼 수가 있다.각각 무슨 뜻일까? Original Prefab - 아예 독립적으로 새로 만들어지는 P..
-
[TIL] 9주차 2일 팀 프로젝트 마무리개발일지/스파르타 코딩클럽 부트캠프 2024. 6. 11. 20:47
오늘은 정말 개발 적인 부분에서는 쓸 부분이 없다.(하루종일 발표준비와 발표만..) 많은 발표들을 보면서 느낀 점 난 아직도 많이 부족한건 원래 알고있었지만 생각보다 완성도가 높은 팀이 많았다.그걸 보면서 느낀 점이 물론 아 우리가 완성도가 낮은 편이구나 이런 생각도 들긴 했지만아 짧은 시간안에 이 정도까지도 만들 수가 있구나? 하는 생각이었다. 사실 지금까지 팀플도그렇고 이번 팀 프로젝트도 불과 일주일 남짓한 시간인데 이 정도의 퀄리티라면8주동안 진행하는 파이널 프로젝트에서는 어떤 모습들을 보여줄지 기대가 됐다.나 또한 파이널 프로젝트에서 많은 부분을 시도하고 실패하며 성장할 예정이라 기대가된다. 간단한 회고를 해보자면 팀플에 있어서 가장 중요한건 뭘까? 실력이라고 생각할 수도 있을 것 같다.실력은 물..
-
[TIL] 8주차 3일 팀 프로젝트 진행 ( Raycast, Instantiate )개발일지/스파르타 코딩클럽 부트캠프 2024. 6. 5. 20:42
현재 우리팀이 만들고 있는 게임은 방을 돌아다니며 함정과 퍼즐을 클리어하는 형태의미로퍼즐 게임이다. 나는 함정 방 구상, 구현을 맡게 되었는데오늘 구현한 함정 방으로는 바닥의 레이저에 플레이어가 닿게되면 천장의 랜덤한 위치에서 칼이 20개가 떨어지는 함정이다.칼을 맞는다고 즉사는 아니어서 그렇게 많은 숫자는 아닐거라고 생각된다. public class KnifeTrap : MonoBehaviour{ RaycastHit hit; [SerializeField] LayerMask layerMask; [SerializeField] float maxDistance; [SerializeField] float time; public GameObject knifePrefab; publi..