분류 전체보기
-
[TIL] 15주차 2일 타임라인을 활용한 컷씬 제작개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 23. 18:54
최종프로젝트를 진행하면서 컷씬 같은 연출을 하고싶다는 생각을 많이 했었는데당장 구현하고 리펙토링해야할 것들이 너무 많고 계속 생겨서미루고 미루다가 오늘 폴리싱 작업 중에 인트로 컷씬을 제작해봤다. 컷씬 제작을 위해서 알아본 결과 컷씬은 유니티의 TimeLine 기능을 활용하여 만들 수 있다는 걸 알게 되었다. 타임라인 활용하기먼저 빈 오브젝트를 하나 만든 후 Playable Director컴포넌트를 추가해준다. 그리고 TimeLine 폴더를 만들고 윈도우에 Sequencing을 보면 Timeline을 생성할 수 있다. 먼저 Timeline의 구성을 알아보자 애니메이션 트랙(Animation Track): 캐릭터 애니메이션을 제어하는 데 사용합니다.오디오 트랙(Audio Track): 배경 음악이나 효과음..
-
[TIL] 15주차 1일 오류 개선 사항개발일지/스파르타 코딩클럽 유니티 강의 2024. 7. 22. 21:16
트러블슈팅달리다가 메인메뉴를 켰다가 끄면 첫 번째 인풋이 먹히는 문제 원래는 많은 부분에서 UI를 키면 IdleState로 돌려주는 등의 강제로 State변환을 했었는데그런 방식이 버그를 많이 발생 시키는 거 같아서public void ToggleUI(ref T ui, float uiOnTimeScale = 1f, float uiOffTimeScale = 1f, bool isESC = false, bool isCheckpoint = false, int mainMenuIndex = 0) where T : UIBase{ if (ui == null) { //onUI = true; SetOnUI(true); player.Input.PlayerActi..
-
[TIL] 14주차 5일 트러블슈팅 ( State가 많이 늘어나면서 생긴 문제들 )개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 19. 22:19
최종프로젝트 진행중정말 많은 버그가 있었지만, 애니메이션 관련된 버그는 진짜 다 부수고싶다..오늘은 그에대한 트러블 슈팅이다. 캐릭터가 마나가 부족할 때 스킬을 못쓰게 하는 방법 이 문제는 애니메이션 관련은 아니지만 맞기도한게 스테이트 머신으로의 진입을 막아야 하는데스킬마다의 스테이트는 다른데 마나도 달라서 고민하던 차에if(stateMachine.Player.healthSystem.CurrentMana 진입을 막는것이 아닌 아예 스킬 애니메이션 실행 전에 IdleState로 돌려버리는 방법으로해결했다. 스킬 슬롯 스왑문제 protected virtual void AddInputActionCallbacks() { if(UIManager.Instance.onUI) return; if (sta..
-
[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] 14주차 3일 기술면접 대비개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 18. 19:18
설명 문제 💡 질문을 직접 설명해보고, 모르는 부분이 있다면 알아보는 시간을 가집시다.LinkedList의 특성을 설명해주세요.LinkedList는 언제 사용하면 좋은 자료구조인가요? 반대로 언제 사용하기 불리할까요?LinkedList를 본인의 프로젝트에 적용해본 경험을 말해주세요.1번 답 :LinkedList란 유연하게 크기 변경이 가능한 자료구조를 말한다. 데이터를 자유롭게 넣고 뺄 수 있는 장점이 있고,집합의 단위를 리스트, 각 요소의 단위를 노드라고 한다. 하지만 임의 접근이 불가능해서 N번째 노드에 접근하기 위해서는처음부터 순차적으로 접근해야한다. 2번 답 :데이터 순서가 중요한 경우 : 데이터 삽입/삭제 순서를 유지해야 하는 경우 중간 삽입/삭제 빈도가 높은 경우 : 데이터 목록의 중간 부분..
-
[TIL] 14주차 2일 기술면접 대비 C# 심화 문법개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 17. 09:04
다음 코드에서 제네릭을 사용한 부분을 식별하고, 해당 코드가 제네릭을 사용하지 않았을 때 발생할 수 있는 문제점에 대해 설명하세요.Box클래스에서 제네릭을 사용했다. 제네릭을 사용하지 않았다면 같은 내용의 매개변수만 다른 함수를 모두 새로 만들어야하는 문제점이 발생할 수 있다. 2. 아래 코드가 어떤 기능을 하는지, 어떤 방식으로 동작하는지 간단하게 설명해주세요.public static T Max(T a, T b) where T : IComparable { return a.CompareTo(b) > 0 ? a : b; } a와 b의 값을 비교해서 a가 더 크면 a, b가 더 크면 b를 반환한다.제네릭으로 선언된 a와 b를 비교하되, IComparable에서 파생된 클래스인 경우에만 사용 가능하도록whe..
-
[TIL] 13주차 5일 기술 면접 대비 ( 가비지 컬렉터, 박싱 언박싱 주의점 )개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 16. 09:01
using System;public class Logger{ public string LogMessages { get; private set; } public Logger() { LogMessages = string.Empty; } public void Log(string message) { LogMessages += message + "\n"; }}public class Program{ public static void Main() { Logger logger = new Logger(); for (int i = 0; i 1. 위의 코드가 문제가 되는 이유를 메모리 관점에서 설명해주세요. s..
-
[TIL] 13주차 4일 기술 면접 대비개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 15. 20:57
using System;// 상위 클래스 Apublic class A{ public virtual void Display() { Console.WriteLine("Class A Display"); }}// 클래스 B는 클래스 A를 상속받음public class B : A{ public override void Display() { Console.WriteLine("Class B Display"); }}// 클래스 C는 클래스 A를 상속받음public class C : A{ public override void Display() { Console.WriteLine("Class C Display"); }} 1. 위와 같은 ..