본문 바로가기

Unity

(65)
2주차, 배열과 리스트 고찰 + 콘솔을 이용한 틱택토 게임 만들기 목차 1. 배열과 리스트 고찰 2. 콘솔을 이용한 틱택토 게임 만들기 1. 배열과 리스트 고찰 배열과 리스트의 차이점을 크게 4가지로 나눠 알아 보겠습니다. 크기 배열은 고정된 크기를 가지며, 한 번 생성되면 크기를 변경할 수 없습니다. 리스트는 동적으로 크기를 조정할 수 있습니다. 따라서 리스트는 필요에 따라 요소를 추가하거나 제거할 수 있습니다. 데이터 유형 배열은 동일한 데이터 유형의 요소들로 이루어져 있습니다. 예를 들어, 정수 배열은 정수 값들의 집합으로 구성됩니다. 리스트는 다른 데이터 유형의 요소들을 혼합하여 저장할 수 있습니다. 예를 들어, 정수와 문자열을 함께 저장할 수 있는 리스트를 만들 수 있습니다. 리스트는 Linked List*로 구현 되기 때문에 접근 속도가 배열보다 느립니다. ..
Electricity (Shader + Visual Effect) 오늘의 구현 Electricity Shader 와 Visual Effect를 사용해 전류 효과 만들기. 1. Shader 생성 Simple Noise를 사용해 전류 효과를 만들것 입니다. 이 Simple Noise 를 Remap 을 사용해 원하는 값 사이의 값으로 변환 해 줍니다. 그리고 Rectangle을 사용해 노이즈를 선으로 보이게 만들어 줍니다. Polar Coordinates 를 사용해 UV를 극좌표계로 변환후 Split으로 거리를 뽑아줍니다 One Minus 로 사이즈를 조금 줄여줍니다. Noise 를 극좌표계로 만드는 이유로, 원점으로부터 거리에 따라 노이즈이 강도를 조절하기 위해서 입니다. 원점으로 부터 거리가 멀수록 노이즈의 강도가 약해집니다. 1번과 2번을 Multiply로 연결해준뒤..
2주차, 사용자 데이터를 보여주는 UI 만들기(InputField - TextMeshPro) InputField - TextMeshProp 하나씩 뜯어보기. UI 제작 스크립트 작성 1. InputField - TextMeshProp 하나씩 뜯어보기. InputField - TextMeshProp 를 생성후 열어 보면 Text Area 와 그 안에 Place holder 와 Text가 있습니다. Place holder는 사용자가 어떤 텍스트를 입력해야 하는지 설명해주는 텍스트를 입력하는 곳이고 Text가 사용자가 텍스트를 입력 하는 곳 입니다. Transition None: 이 옵션을 선택하면 Input Field가 상태 변화 없이 그대로 유지됩니다. 즉, 아무런 시각적 변화가 일어나지 않습니다. Color Tint: 이 옵션을 선택하면 Input Field의 색상이 변화합니다. 일반적으로 상태..
플레이어의 정보를 로컬 저장소에 저장하기 (PlayerPrebs) PlayerPrefs는 로컬 저장소에 데이터를 저장하는 기능을 제공합니다. PlayerPrefs를 사용하면 게임 또는 애플리케이션의 실행 중에 데이터를 영구적으로 보존할 수 있으며 특정 키(Key)와 값(Value)의 쌍으로 데이터를 저장하고, 이를 로컬 저장소에 보관합니다. 저장된 데이터는 애플리케이션이 종료되어도 유지되며, 다음 실행 시에도 읽을 수 있습니다. 플레이어 데이터 클래스를 하나 생성해줍니다. 플레이어의 이름을 받아와 새로운 플레이어 클래스를 생성해주고 로컬 저장소에 이미 존재한다면 기존에 있던 데이터를 가져오고, 아니면 새로 만들어 줍니다. 플레이어의 정보를 저장하고, 가지고 올 수 있게 함수를 만들어줍니다. 1. 플레이어 데이터 클래스를 하나 생성해줍니다. [System.Serializ..
1주차, 카드 게임 기능 구현(2) 카드 등장 효과 만들기 구현 + 게임 시작 모든 카드 앞면 보여주기 카드가 중앙을 향해 나선형으로 등장 중앙에 도착시 각자 카드의 위치로 이동 카드가 각자 제자리에 도착했으면 카드를 다 뒤집어 카드의 모든 앞면을 보여준 후 카드를 뒤집고 게임 시작. 카드 하나를 고르고 일정 시간동안 카드를 고르지 않으면 땡처리 하고 카드 뒤집기 1. 카드 등장 효과 만들기 구현 + 게임 시작 모든 카드 앞면 보여주기 카드의 나선형 이동 필요 변수 처음 카드의 생성 위치 카드의 회전 속도 나선형으로 돌 최대 반지름 센터를 중심으로 도는 속도 현재 반지름 public float rotationSpeed = 300f; // 회전 속도 public float maxRadius; // 주변을 도는 최대 반지름 public flo..
1주차 시작 + 카드 게임 기능 구현 본 캠 시작에 앞서, 내가 잘 해 나갈 수 있을지 너무나 걱정된다.. 앞으로 다가올 수많은 실패와 좌절들에 벌써부터 손발에 땀이 나고 가슴이 뛰고... 하지만 실패와 좌절을 딛고 나아가는 것이야말로 보스 레이드의 꽃이 아닐까 앞으로 수많은 레이드를 위해 내실을 착실하게 쌓아 올려보자! 오늘의 구현 카드 랜덤하게 섞는 부분 구현 카드 짝 맞추는 것을 실패할 때마다 시간 감소 효과 구현 카드 뒤집히는 효과 구현 짝 맞추기 카드 개수 조절 카드를 뒤집을 때마다 카드 색 점점 어둡게 만들기 1. 카드 랜덤하게 섞는 부분 구현 카드의 스프라이트 이미지는 Resources로 가져올 것이며 스프라이트 이미지 파일 이름 뒤에 붙은 숫자들로 카드에 이미지를 넣을 것입니다. (ex. image1, image2, image..
Meteor 구현하기(Shader,Particle 활용) 메테오 만들기. 1. 운석 shader 생성. Shader Graph Fragment 콘텍스트 Normal(Tangent Space) : 픽셀의 표면 법선(normal)을 나타냅니다. 표면 법 선은 픽셀의 방향을 결정하는 데 사용되며 빛의 입사 각도, 그림자 및 조명 효과 등의 계산에 중요한 역할을 합니다. Emission : 픽셀에게 추가적인 발광 혹은 광원 효과를 부여하는 데 사용됩니다. 2. 노드 생성 텍스처 셈플링 Sample Texture 2D Normal From Texture 텍스처로부터 법선(normal) 데이터를 추출하는 데 사용됩니다.일반적으로 텍스처는 색상 정보를 담고 있지만, Normal From Texture 노드를 사용하면 텍스처의 RGB 채널을 법선 벡터로 해석할 수 있습니다...
(2D)Enemy 정해진 영역에서 반복 이동 시키기(+Blend Tree) 오늘의 구현 정해진 영역 내에서 랜덤한 위치로 반복 이동시키기 + Blend Tree 를 사용해 애니메이션 적용시키기 이동 영역을 Enemy기준으로 반지름 n 만큼의 원으로 정하고, 랜덤한 레디언 값으로 접선좌표를 구해 Enemy가 그 지점으로 이동했다가 다시 원래 위치로 돌아오게 만들것입니다. lerp 함수에 보간값으로 대칭함수를 사용해 목표지점에 도달했다가 원래위치로 돌아오게 만들 것 입니다. 목표 지점으로 이동할때의 이동 방향을 구해 Blend Tree의 변수로 사용해 줍니다. 1. 적이 죽지 않았을경우 반복해서 이동 시킬것이며, 목표지점으로 갔다가 원래 위치로 복귀했을시 새로운 목표위치를 찾아 반복적으로 이동 시킬 것 입니다. 보간 함수 lerp는 대칭 함수를 사용합니다. 보간 값은 0부터 1 사..