C# Unity, npc 아이템 구매여부 및 대사

저번에 npc가 상점을 들고 있지 않아 여러 npc들의 상점 상태를 ui로 불러오는데 쓸데없이 코드가 복잡해지는 문제가 있었다.이를 해결하기 위해서 각각 npc가 상점 스크립트를 가지고 있게 수정했다.HasPurchassedItem에서 해당 아이템의 재고가 있는지 여부

2024년 8월 12일
·
0개의 댓글
·

C# Unity NPC 상점

이번에 npc와 상점기능을 구현하면서 했던 실수가 있다.객체를 신경쓰지 않고 코드를 작성해버린 것인데, 이것 때문에 쓸때없이 복잡하게 코드를 만든 문제가 있었다.그래도 구조를 남겨두면 참고할 수 있는 부분이 있을까해서 코드를 남겨뒀다.일단 여기서 문제는 npc가 아이템

2024년 8월 9일
·
0개의 댓글
·

C# Unity 상점 만들기

npc와 대화 중 상점 메뉴에 들어가 아이템들을 보여주는 ui가 필요해 제작하게 되었다.아이템 데이터를 담아줄 리스트를 만들고 반복문으로 리스트의 길이 만큼 반복하며 자식 오브젝트로 부터 TextMeshPro 컴포넌트를 가져온 후 아이템데이터의 텍스트를 넣어줬다.

2024년 8월 8일
·
0개의 댓글
·

C# 클래스 상속 다이아몬드 문제

C중복된 멤버 문제로 인한 모호성호출할 클래스의 호출경로에 대한 모호성복잡성 증가로 인한 유지보수의 어려움C이를 통해 다중상속의 장점을 가지면서 동시에 안정적인 코드의 작성이 가능하다.

2024년 8월 7일
·
0개의 댓글
·

C# Unity NPC 대화 만들기

플레이어에게 재화가 있었으나 사용처가 마땅하지 않아 팀 회의를 거친 끝에 플레이어 캐릭터의 스탯을 강화해주는 아이템을 파는 NPC를 만들어주기로 결정해 해당 기능을 구현하게 되었다.버튼 부분은 아직 미구현상태지만 Scriptable Object에서 리스트를 이용해 대화

2024년 8월 6일
·
0개의 댓글
·

C# Unity 면접 대비 CS 정리

C 가비지 컬렉터는 더이상 사용되지 않는 객체를 자동으로 해제하는 기능을 말한다. 힙에 메모리 할당 참조되지 않는 객체 감지 \* 해당 객체 메모리 해제장점가비지 컬렉터는 메모리를 자동으로 관리해 메모리 누수와 같은 문제를 줄일 수 있다.메모리 접근

2024년 8월 5일
·
0개의 댓글
·

C# Unity 스테이지 전환 시 스테이지 출력

팀프로젝트를 진행하다 스테이지를 전환하면 해당 스테이지를 보여주는 연출이 필요해 해당 부분을 구현했다.DOTween을 사용해 페이드 인, 아웃 효과를 준다. CanvasGroup은 해당 오브젝트들을 함께 투명화해주기 위해 사용했다.중간의 코루틴은 텍스트가 출력되고 약간

2024년 8월 2일
·
0개의 댓글
·

C# Unity 미니맵 만들기

전에 맵의 콜라이더를 참고해서 미니맵을 그리는 작업을 했지만, 해당 그림이 잘나오는 편이 아니라서 다른 방식을 활용해 미니맵을 만들기로 했다.콜라이더를 참고하는게 아니라 콜라이더를 담당하는 부분의 색을 변경하고 해당 부분을 참고해 맵을 만들었다.이미지를 따로 만들어서

2024년 8월 1일
·
0개의 댓글
·

C# Unity 아이템 습득시 팝업창 띄우기

이번엔 아이템을 습득하면 아이템 아이콘과 정보가 나오는 팝업창을 만들어 봤다.기존의 UI를 만들던 방식과 크게 다르지 않아 과정이 어렵지는 않았지만, 아무키나 눌러도 창이 닫히게끔 만들었는데 아이템 창이 너무 빨리 닫히는 문제가 있었다.해결 방법은 코루틴을 사용해서 b

2024년 7월 31일
·
0개의 댓글
·

C# Reflection

리플렉션은 런타임 단계에서 클래스 내부 구조를 메타데이터들을 가져와 사용할 수 있는 라이브러리를 말한다. 리플렉션을 통해, 값을 넣거나, 함수를 실행시키거나, 어떤 타입인지 보호 수준은 어느정도인지를 알아낸다.단점은 연산량이 많아 성능적으로 불리하며 필요한 부분에서 작

2024년 7월 30일
·
0개의 댓글
·

C# Unity UIManager 수정

저번에 UIManager가 Manager로써의 역할로 부족하다고 작성했었다. 다른 메뉴를 열었을 때 일시정지 메뉴가 나오는 것도 해결할겸해서 UI오브젝트 구성 수정과 UIManager가 더 다양한 역할을 담을 수 있도록 수정하려고 한다.코드를 수정하면서 메뉴를 전환하는

2024년 7월 29일
·
0개의 댓글
·

C# Unity BIRP, URP

Unity의 Built-in Render Pipeline(BIRP)와 Universal Render Pipeline(URP)은 각각 고유한 특성과 장단점을 지닌 렌더링 파이프라인으로 Unity 엔진에서 그래픽 렌더링을 처리하는 방식과 성능, 기능 측면에서 차이가 있다

2024년 7월 26일
·
0개의 댓글
·

C# Unity Quaternion

쿼터니언은 기존의 오일러 각을 사용하면서 생기는 문제점들을 예방한 것이다.오일러 각은 회전을 세가지 축의 각도로 표현하며 각 축에 대해 각각의 회전을 지정해 적용한다.회전을 쉽게 이해할 수 있어 직관적이고 각도를 직접 설정해 회전을 조정할 수 있다.각도를 직관적으로 조

2024년 7월 25일
·
0개의 댓글
·

C# Unity DoTween

이번에 UI를 제작하면서 DoTween을 처음으로 사용해봐서 내용을 정리해보려 한다.DoTween은 애니메이션을 구현하기위한 라이브러리로 오브젝트의 위치, 회전, 색상 등을 시간을 통해 변화시키는 기능을 제공한다.Move: 오브젝트를 이동시킴Rotate: 오브젝트를 특

2024년 7월 24일
·
0개의 댓글
·

C# 프로그래머스 - 조건 문자열

문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.두 수가 n과 m이라면 ">", "=" : n >= m "<", "=" : n <= m ">", "!" : n > m "<", "!" : n < m두

2024년 7월 23일
·
0개의 댓글
·

C# Unity 인벤토리 만들기

메트로바니아 팀 프로젝트를 진행하면서 습득한 아이템 정보와 레퍼런스 삼은 할로우나이트를 참고해 장착이 가능한 인벤토리가 필요해졌다. 현재 구현한 아이템은 더블점프가 가능한 기본 아이템으로 메트로바니아의 장르 특성상 장착 여부가 필요한 아이템 종류는 아니었기에 현재 아이

2024년 7월 22일
·
0개의 댓글
·

C# 프로그래머스 - 등차수열의 특정한 항만 더하기

두 정수 a, d와 길이가 n인 boolean 배열 included가 주어집니다. 첫째항이 a, 공차가 d인 등차수열에서 includedi가 i + 1항을 의미할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return 하는 so

2024년 7월 19일
·
0개의 댓글
·

C# 유니티 콜라이더를 참고해 선 그리기-위치 문제 해결

어제 미니맵을 그리기 위해 맵의 콜라이더를 참고해 선을 그리도록 하는 코드를 작성했으나 그려진 위치가 올바르게 나오지 않았고, 추가로 라인의 색상이 흰색이 아닌 마젠타로 적용되는 문제와 튀어나와있는 지형의 선이 뾰족하게 튀어나오는 문제가 있었다.여기서 문제의 일부분을

2024년 7월 18일
·
0개의 댓글
·

C# 유니티 맵 콜라이더를 참고해 선 그리기

현재 메트로바니아 장르를 만들면서 할로우 나이트를 레퍼런스 삼아서 팀프로젝트를 제작중에 있다. 할로우나이트에서 가장 불편했던게 맵 시스템이었는데, 지도는 맵 어딘가에 있는 상인에게서 구매해야 했고 플레이어의 위치를 알려주는 아이템은 스토리 진행 후 마을에서 구매가 가능

2024년 7월 17일
·
0개의 댓글
·

C# 프로그래머스 코드 처리하기

문자열 code가 주어집니다.code를 앞에서부터 읽으면서 만약 문자가 "1"이면 mode를 바꿉니다. mode에 따라 code를 읽어가면서 문자열 ret을 만들어냅니다.mode는 0과 1이 있으며, idx를 0 부터 code의 길이 - 1 까지 1씩 키워나가면서 co

2024년 7월 16일
·
0개의 댓글
·