분류 전체보기
-
Cinemachine 을 사용한 카메라 이동 범위 제한 (2D)Unity/제로부터 구현 2024. 1. 16. 15:54
1. Cinemachine VirtualCamera 생성 카메라 설정 카메라 범위 설정 2. Cinemachine Confiner Cinemachine Confiner를 추가하려면 Virtual Camera 인스펙터의 하단에서 Add Extension 드롭다운 메뉴를 클릭하고 CinemachineConfiner를 선택합니다. 3. 새 게임 오브젝트를 선택하여 이름을 CameraConfiner로 변경합니다. Polygon Collider 2D 컴포넌트를 추가해 줍니다. Polygon Collider 2D에서 Edit Collider를 눌러 맵 테두리로 설정해줍니다. 4. Cinemachine VirtualCamera 에 추가한 Cinemachine Confiner에 Confiner mode 를 2d 로 해..
-
5주차 - Quest 만들기Unity/Unity 스파르타 2024. 1. 15. 20:31
순서 퀘스트 클래스 만들기 퀘스트 만들기 1. 퀘스트 클래스 만들기 퀘스트마다 공통적으로 가지고있는 변수들을 만들고 필수 메서드를 virtual 로 만들어 퀘스트마다 오버라이딩을 해준뒤에 상속시켜 퀘스트를 만들 것 입니다. ShowQuestInfo - 퀘스트 정보를 보여주는 메서드 Reset - 퀘스트 포기를 했을시 또는 반복 퀘스트의 경우 퀘스트 진행도를 초기화 시기는 메서드 CheckCondition - 퀘스트 클리어 조건을 충족하는지 확인하는 메서드 CheckCondition(string targetName) - 퀘스트 클리어 조건 충족하는지 확인하는 오버로딩 메서드 Clear - 퀘스트 클리어시 실행할 메서드 ClearInfo - 퀘스트 클리어시 보여줄 UI public enum QuestStat..
-
Lightning (Shader + VFX)Unity/제로부터 Effect 2024. 1. 15. 20:30
순서 1. Lightning Shader 만들기 Rectangle와 Noise를 사용해 번개를 만들 것 입니다. Noise는 Time 과 Tilling And Offset 을 사용해 일정한 방향으로 움직이게 만듭니다. Rectangle은 적절하게 직사각형을 만들어주고 UV 맵과 위 Noise를 Lerp로 연결해 준뒤 Rectiagle에 연결해 줍니다. 보간 비율은 UV에 가깝게 설정하면 됩니다. 완성된 Rectangle을 Fragment Alpha에 연결하고, 색을 입혀서 Base Color에 연결해줍니다. 2. Vfx 만들기 Single Burst Output Particle Mesh 쉐이더 적용 Pivot 설정 번개 시작지점, 번개 끝나는 지점 플레쉬 만들기 번개 끝나는지점 스파크 만들기 1.Lig..
-
LeetCord - 300.Longest Increasing Subsequence제로부터 C# 코딩테스트 2024. 1. 11. 21:07
순서. 이중포문을 사용한 해결. 이진탐색을 사용한 해결. 1. 주어진 배열의 길이만큼의 DP 배열을 생성하고, 모든 요소를 1로 초기화합니다. 2. 이중 포문을 사용하여 배열이 순차적으로 증가하는 부분 수열의 정보를 DP에 기록합니다. 내부 포문에서는 현재 요소(nums[i])와 이전 요소(nums[j])를 비교하여, 현재 요소가 더 큰 경우에만 DP 값을 갱신합니다. dp[i] 값은 dp[j] + 1과 비교하여 더 큰 값을 선택합니다. 모든 요소에 대해 반복하면서 최대 부분 수열의 길이를 업데이트해나갑니다. public class Solution { public int LengthOfLIS(int[] nums) { int[] dp = new int[nums.Length]; int answer = 1; ..
-
LeetCord - 733. Flood Fill제로부터 C# 코딩테스트 2024. 1. 10. 20:13
이미지는 m x n 크기의 정수 그리드인 image로 표현됩니다. image[i][j]는 이미지의 픽셀 값입니다. 또한 세 개의 정수 sr, sc, color가 제공됩니다. 이미지[sr][sc]에서 시작하여 이미지에 대해 flood fill 작업을 수행해야 합니다. flood fill을 수행하기 위해서는 시작 픽셀과 동일한 색상을 가진 시작 픽셀과 4방향으로 연결된 모든 픽셀, 그리고 그 픽셀들과 4방향으로 연결된 모든 픽셀들(또한 같은 색상)을 고려합니다. 이들 모든 픽셀의 색상을 color로 바꿉니다. flood fill을 수행한 후 수정된 이미지를 반환합니다. 1. BFS 탐색 준비하기 상하좌우 이동방향이 들어있는 배열을 만듭니다. 방문처리할 image의 크기만큼 bool 배열을 만듭니다. 시작지점..
-
LeetCord - 84. Largest Rectangle in Histogram제로부터 C# 코딩테스트 2024. 1. 9. 18:32
주어진 배열 heights는 히스토그램의 막대 높이를 나타내는 정수들로 구성되어 있습니다. 각 막대의 너비는 1로 가정하고, 히스토그램에서 가장 큰 직사각형의 넓이를 반환하는 문제 입니다. https://www.algotree.org/algorithms/stack_based/largest_rectangle_in_histogram/ Finding the Largest Area Rectangle In A Histogram :: AlgoTree Finding the Largest Area Rectangle In A Histogram Histogram is nothing but a graphical representation of data using columns or bars of different heigh..
-
리스트, 구조체 - '깊은복사' '얕은 복사'에 대한 고찰Unity/Unity 스파르타 2024. 1. 8. 16:49
순서 1. 구조체에 대한 고찰 2. 구조체 객체를 저장하기위한 동적 리스트를 생성했을때 1. 구조체에 대한 고찰 *값 형식 *구조체는 값에 의한 복사를 수행하며, 변수에 할당된 구조체의 복사본을 수정해도 원래의 구조체에는 영향을 주지 않습니다. 따라서 구조체의 멤버 변수를 수정하려면 해당 구조체를 새로 생성하여 수정된 값을 할당해야 합니다 메모리 할당 구조체는 값 형식이므로 스택(Stack)에 직접 메모리를 할당합니다. 메모리 할당과 해제가 빠르며 데이터의 크기가 작을 때 유리합니다. 그래서 데이터의 읽기와 쓰기가 빠르다는 장점이 있습니다. int a = 10; int b = a; *값 형식은 변수 간에 값이 복사되는데, 변수의 동작 방식을 설명하는 개념입니다. 값 형식의 변수는 해당 변수에 저장된 값이..
-
Disintegrate Enemy Effect(Shader+VFX)Unity/제로부터 Effect 2024. 1. 6. 19:06
Texture ↓ 더보기 Albedo 표면의 색상 및 질감을 정의하는 데 사용되는 텍스쳐입니다. 주로 물체의 기본 색상 맵핑에 사용되며, 픽셀별로 표면의 색상 정보를 담고 있습니다. 예를 들어, 벽면의 벽돌 또는 나무의 표면 텍스쳐 등을 Texture Albedo로 사용할 수 있습니다. Normals 표면의 방향과 기울기를 나타내는 벡터입니다. 표면의 각 픽셀에 대해 노멀 벡터를 지정하여, 빛이 표면에 반사되는 방향을 결정하는 데 사용됩니다. 이를 통해 빛의 입사각에 따라 표면이 어떻게 조명되고 투영되는지 시각적인 효과를 조절할 수 있습니다. Normals는 주로 표면의 입체감을 강조하거나 광택 효과를 부여하는 데 사용됩니다. Ambient Occlution 주변 환경의 조명 상태에 따라 표면의 그림자 ..