전체 글184 07. C# 심화 문법 확인 문제using System;using System.Collections.Generic;public class Box{ public T Value { get; set; } public void DisplayValue() { Console.WriteLine($"Value: {Value}"); }}class Program{ static void Main(string[] args) { Box intBox = new Box { Value = 123 }; Box strBox = new Box { Value = "Hello, World" }; Box dateBox = new Box { Value = DateTime.Now }; .. 스파르타 게임개발종합반(Unity)/기술 면접 대비 꾸준 실습 2024. 7. 11. 2024.07.09 TIL - StringBuilder, List 메모리 단편화 메모리 단편화란?메모리 단편화는 메모리 관리 시스템에서 가용 메모리 블록들이 작고 불규칙하게 분산되어 있는 상태를 의미한다. 이로 인해 메모리를 효율적으로 사용할 수 없게 되어 성능 저하가 발생할 수 있다. 메모리 단편화는 크게 두 가지 유형으로 나눌 수 있다. 1. 내부 단편화 (Internal Fragmentation)고정 크기의 메모리 블록을 할당할 때, 요청된 메모리보다 큰 블록이 할당되어 사용되지 않는 잔여 공간이 발생하는 경우이다. 이 잔여 공간이 바로 내부 단편화다.예를 들어, 64바이트의 메모리 블록을 할당했는데 실제로 필요한 메모리는 50바이트라면, 나머지 14바이트는 낭비된다. 2. 외부 단편화 (External Fragmentation)가변 크기의 메모리 블록을 할당할 때, 메모리 해.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 7. 9. 06. 가비지 컬렉터 - GC(Garbage Collectior) 확인 문제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. 위의 코드가 문제가 되는 이유를 메모리 관점에서 설명해주세.. 스파르타 게임개발종합반(Unity)/기술 면접 대비 꾸준 실습 2024. 7. 9. 2024.07.08 TIL - Rule Tile 유니티 타일맵을 만들 때 하나하나 찍어내는게 귀찮고, 효율이 좋지 않다.이럴 때 Rule Tile 기능을 사용하여 비교적 빠르고 쉽게 타일맵을 찍어낼 수 있다.우선 프로젝트창에서 우클릭으로 Rule Tile을 생성한다. + 버튼 클릭 대충 슥 그려줘도 이렇게 룰에 맞게 그려진다. 빨간색 X : 해당 방향으로 타일을 그릴 수 없음.초록색 화살표 : 해당 방향으로 타일을 그릴 수 있음. Tile Rule은 타일 팔레트에 드래그앤 드롭하여 생성하고, 기존처럼 타일 그리듯이 작업하면 된다. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 7. 8. 05. 상속과 인터페이스 확인 문제 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. .. 스파르타 게임개발종합반(Unity)/기술 면접 대비 꾸준 실습 2024. 7. 8. 2024.07.05 TIL - 최적화, 현재 켜져있는 적 몬스터 객체들로 탐색 VS 범위 탐색 현재 켜져있는 적 몬스터 객체들로 탐색해당 프로젝트에서는 오브젝트 풀링으로 적 몬스터들을 관리하고 있다.플레이어가 적을 탐지하여 해당 적에게 이동하기 위한 로직으로 썼던 첫 번째 방법은 현재 하이라키에 켜져있는 적 몬스터 객체들을 탐색하는 것이었다.위의 영상에서 FPS를 보면 210~230정도 나온다.이걸 인지해두고 다음으로 범위 탐색 방법을 보겠다. 범위 탐색플레이어 기준으로 초기 반경 4.0f를 시작으로 적 몬스터를 감지할 때까지 점점 탐색 반경이 늘어난다.2.0f씩 반경이 커지고 최대 반경은 10.0f로 설정했다.최대 반경에 도달했는데도 찾지 못하면 다시 초기 반경의 값으로 셋팅된다.그래서 영상을 보면 스폰된 몬스터가 나타나기 전 상황에서 최대 반경까지 갔다가 다시 초기 반경으로 돌아간다.이후 .. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 7. 5. 04. 스택 메모리 vs 힙 메모리 확인 문제 1. 다음 `struct` 코드와 `class` 코드의 결과를 예측해보고, 이유를 생각해봅시다. public struct Point{ public int X; public int Y; public Point(int x, int y) { X = x; Y = y; }}public class Program{ public static void Main() { Point point1 = new Point(10, 20); Point point2 = point1; point2.X = 30; Console.WriteLine("Point 1 X: " + point1.X); Console.. 스파르타 게임개발종합반(Unity)/기술 면접 대비 꾸준 실습 2024. 7. 5. 2024.07.04 TIL - 유니티 시네머신 개요 Virtual Camera 시네머신은 새로운 카메라를 생성하지 않는다.Virtual Camera는 Unity 카메라를 이동 및 회전하고 해당 설정을 제어한다. Unity 카메라와 별개의 게임 오브젝트이며, 독립적으로 동작한다. 또한 서로 중첩되어 있지 않다. Cinemachine brain 시네머신 브레인은 Unity 카메라 자체의 컴포넌트이다. 시네머신 브레인은 씬에 있는 액티브 가상 카메라를 모두 모니터링한다. 카메라 이동 및 조준가상 카메라의 Body 프로퍼티를 사용하여 씬에서 움직이는 방식을 지정할 수 있다. 회전 방식을 지정하려면 Aim 프로퍼티를 사용한다. 가상 카메라의 타겟`Follow` 타겟 : 가상 카메라가 함께 따라 이동할 게임 오브젝트를 지정한다.`Look At` 타겟 : 게임 오브젝.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 7. 4. 03. 콜백, delegate, event 확인 문제 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(M.. 스파르타 게임개발종합반(Unity)/기술 면접 대비 꾸준 실습 2024. 7. 4. 2024.07.03 TIL - 캐릭터 컨트롤러 VS Rigidbody 캐릭터 컨트롤러(Character Controller) 캐릭터 컨트롤러(Character Controller)는 Unity에서 캐릭터나 플레이어의 움직임과 충돌을 관리하기 위해 사용되는 컴포넌트다. 이 컴포넌트는 물리 엔진이 아닌 캐릭터의 움직임을 프레임 기반으로 처리하므로, 주로 3D 캐릭터를 제어하는 데 사용된다. 캐릭터 컨트롤러의 주요 기능과 특징은 다음과 같다:캐릭터 이동: 캐릭터 컨트롤러는 단순한 이동을 쉽게 구현할 수 있도록 메서드를 제공한다. 주로 이동 방향과 이동 속력을 설정하여 캐릭터를 움직이게 한다.중력 적용: 캐릭터 컨트롤러는 Rigidbody 물리의 도움을 받기 힘들기 때문에, 중력과 점프 기능 등을 직접 개발해야 한다. 수평 방향의 이동과 경사면 이동에는 강점이 있지만 수직 이동에.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 7. 3. 02. 객체지향 프로그래밍 확인 문제 using System;// 사각형 클래스public class Rectangle{ public double Width { get; set; } public double Height { get; set; } public double CalculateArea() { return Width * Height; }}// 원 클래스public class Circle{ public double Radius { get; set; } public double CalculateArea() { return Math.PI * Radius * Radius; }}// 면적 계산기 클래스public class AreaCalculator{ p.. 스파르타 게임개발종합반(Unity)/기술 면접 대비 꾸준 실습 2024. 7. 3. 2024.07.02 TIL - Circle VS Box VS Capsule Collider 충돌 연산량 비교 CPU(ms)Circle 6.5 ~ 8.2Box 6.8 ~ 8.2Capsule6.9 ~ 8.2 FPS(높을수록 빠름)Circle 114 ~ 160Box 117 ~ 150Capsule114 ~ 150 각 콜라이더는 100개를 기준으로 테스트 해봤다.100개라 그런지 눈에 띄게 차이가 나지 않는다. 300개 기준 FPS(높을수록 빠름)Circle 110 ~ 126Box 94 ~ 112Capsule95 ~ 110 GPT의 실험▼더보기유니티에서 Circle, Box, Capsule Collider의 충돌 연산량을 비교하는 것은 게임 성능 최적화에 중요한 요소입니다. 각 Collider는 다양한 형상의 충돌을 처리하며, 각각의 연산량과 성능에 미치는 영향을 비교하는 것은 매우 유용합니다.비교 기준충돌 계산 복.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 7. 2. 이전 1 2 3 4 5 ··· 16 다음 반응형