본문 바로가기

전체 글128

12.22 (TIL-코딩문제) 나누어 떨어지는 숫자 나의 풀이 더보기 using System.Collections.Generic; public class Solution { public int[] solution(int[] arr, int divisor) { int[] answer = new int[] {}; var list = new List(); if (divisor != 1) { foreach (var v in arr) { if (v % divisor == 0) list.Add(v); } if (list.Count == 0) list.Add(-1); } else { list.AddRange(arr); } list.Sort(); return list.ToArray(); } } 다른사람풀이 더보기 using System.Linq; .. 2023. 12. 22.
12.21 (TIL - Unity) GridLayoutGroup 이 포넌트는 UI 요소들을 그리드 형식으로 정렬하는 데 사용 주로 2D UI 개발에서 사용되며, 버튼, 이미지, 텍스트 등의 UI 요소들을 규칙적인 그리드에 배치하는 데 유용 셀 크기(Cell Size): 각 셀의 너비와 높이를 설정. 이는 그리드 내의 개별 요소들이 차지하는 공간의 크기를 결정 간격(Spacing): 셀 사이의 수평 및 수직 간격을 정의. 값을 조정함으로써 셀들 사이의 공간을 늘리거나 줄일 수 있다. Start Corner: 그리드의 시작점을 정의. 예를 들어, 'Upper Left'로 설정하면 그리드는 왼쪽 상단 모서리에서 시작하여 오른쪽 및 아래쪽으로 확장. Start Axis: 셀이 채워지는 축을 결정. 'Horizontal'로 설정하면 셀이 수평으로 .. 2023. 12. 21.
12.20 (TIL - Unity) 트리거 충돌(Trigger Collision)과 콜리전 충돌(Collision Collision)은 둘 다 물리 엔진에서 물체들이 서로 상호작용하는 방식을 나타내는 용어 콜리전 충돌(Collision Collision): 물리 엔진에서 두 물체가 서로 충돌하면서 발생하는 충돌을 말한다. 물체들이 서로 겹쳐지거나 부딪치는 순간을 말한다. 두 물체가 실제로 충돌하여 반동이나 물리적 영향을 주는 상황에서 사용 트리거 충돌(Trigger Collision): 이것은 충돌이 감지되지만 물리적인 반응은 일어나지 않는 충돌을 의미 트리거는 충돌이 감지되었을 때 특정한 작업을 수행하도록 만들어진다. 해시는 데이터를 효율적으로 저장하고 검색하기 위해 사용되는 특별한 알고리즘 해시 함수를 사용하면 데이터를 빠르게 비교하거.. 2023. 12. 20.
12.19 (TIL-Unity3D) 낮과 밤 구현 - 핵심내용 1. AnimationCurve Unity에서 애니메이션의 키프레임(Keyframe)을 사용하여 값을 보간(interpolate)하는데 사용되는 클래스. 클래스를 사용하여 시간에 따라 값을 부드럽게 변화시키는 커브를 정의하고, 이를 기반으로 애니메이션을 만들 수 있다. AnimationCurve 클래스의 기본적인 구성: 키프레임(Keyframe): 시간에 따른 값을 정의하는 점을 의미. 키프레임은 시간(t)과 해당 시간에 대응하는 값(value)으로 이루어진다. 보간 방식(Interpolation Mode): 인접한 키프레임 사이의 값을 보간하는 방법을 지정. 기본적으로는 Cubic Bezier 보간이 사용되며, 선형, 스텝, 등 다양한 보간 방식을 선택할 수 있다. 주요한 A.. 2023. 12. 19.
12.18 (TIL-코딩문제) 두 정수 사이의 합 나의 풀이 더보기 public class Solution { public long solution(int a, int b) { long answer = 0; if( a 2023. 12. 18.
12.15 (TIL-Unity3D) 2D와 3D의 차이 차원: 2D(2차원): 가로와 세로로만 이루어진 공간으로, X와 Y 축으로만 물체를 배치. 예를 들면, 슈팅 게임, 플랫폼 게임, 보드 게임 등이 있다. 3D(3차원): 가로, 세로, 높이로 이루어진 공간으로, X, Y, Z 축을 사용하여 물체를 배치하고, 입체적인 모습을 표현한다. 이런 방식은 FPS 게임, 어드벤처 게임, 레이싱 게임 등에서 주로 사용 시각적인 표현: 2D: 주로 픽셀 아트, 스프라이트 시트를 사용하여 물체들을 평면적으로 표현. 이러한 스타일은 효율적인 게임 제작에 좋고, 보다 간단한 그래픽 요소들을 다룬다. 3D: 모든 물체는 깊이와 입체감을 가지며, 다양한 시각적 효과와 현실감 있는 그래픽을 표현. 광원, 그림자, 입체적인 모습 등이 가능하며, 보다 현실적인 게.. 2023. 12. 15.
12.14 (TIL - Unity) 사운드 컨트롤 - 핵심내용 1. 사운드를 처리하는 주요 컴포넌트 AudioClip: AudioClip은 사운드 파일을 유니티에서 사용할 수 있도록 하는 데이터 타입 .wav, .mp3, .ogg 등 다양한 형식의 오디오 파일을 지원 AudioSource: AudioSource 컴포넌트는 사운드를 재생하는 데 사용 AudioSource에 AudioClip을 연결하여 재생할 수 있다. AudioSource는 3D 사운드 설정, 볼륨 조절, 사운드 반복 재생 등의 설정을 제공 AudioListener: AudioListener 컴포넌트는 사운드를 듣는 포인트를 나타냄 일반적으로 주요 카메라에 AudioListener가 위치 게임에는 하나의 AudioListener만 있어야 한다. UI만들기 - 핵심내용 1. .. 2023. 12. 14.
12.13 (TIL - Unity) 오브젝트 풀 구현 - 핵심내용 오브젝트 풀링 게임 개발에 널리 사용되는 테크닉으로, 게임의 성능을 개선하기 위해 사용 오브젝트 풀링은 객체를 미리 생성해 두고 필요할 때 가져다 사용하고, 사용이 끝나면 다시 풀에 반납하는 방식을 말한다. 오브젝트 풀링은 생성(Instantiate)과 소멸(Destroy)이라는 비용이 큰 작업을 최소화함으로써 성능을 향상시키는 데 중요한 역할을 한다. 이는 특히 빈번하게 생성하고 파괴되는 객체(예: 총알, 입자 등)에 대해 중요하며, 이런 객체들을 풀에 저장해 놓고 재사용함으로써 메모리 할당과 가비지 컬렉션에 따른 성능 저하를 방지할 수 있다. 오브젝트 풀링은 적절히 사용하면 큰 성능 개선을 가져올 수 있지만, 불필요한 메모리 사용을 증가시킬 수 있으므로 사용 시에는 신중.. 2023. 12. 13.
12.12 (TIL-Unity) 투사체 구현하기 - 핵심내용 1.레이어 비트 연산 레이어 비트 연산은 Unity에서 게임오브젝트의 레이어를 빠르게 검사하고 조작하는 방법 비트 연산은 AND, OR, XOR, NOT 등의 연산을 이용해 레이어 마스크를 조작 이 방법은 물리적 충돌, 레이캐스팅, 카메라 렌더링 등을 제어하는 데 사용 각 게임 오브젝트는 고유한 레이어에 배치될 수 있으며, 이 레이어는 비트 필드로 표현 예를 들어, levelCollisionLayer.value == (levelCollisionLayer.value | (1 2023. 12. 12.
12.11 (TIL-Unity) 스텟만들기 - 핵심 내용 1. 스크립터블 오브젝트(Scriptable Object) 스크립터블 오브젝트는 Unity에서 데이터를 저장하고 관리하는 유연한 데이터 컨테이너 게임에서 재사용 가능한 데이터 또는 설정을 저장하는 데 사용 코드와 데이터를 분리하여 코드를 더 깔끔하고 관리하기 쉽게 만듬 하나의 스크립터블 오브젝트를 여러 게임 오브젝트에서 참조하거나 재사용할 수 있다. Unity 에디터와 통합되어 인스펙터 창에서 직접 수정하고 관리할 수 있다. 케릭터 스텟 만들기 1. Attack SO 만들기 더보기 using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu(fileName ="Defau.. 2023. 12. 11.