Unity
-
1주차, 카드 게임 기능 구현(2)Unity/Unity 스파르타 2023. 12. 22. 20:55
카드 등장 효과 만들기 구현 + 게임 시작 모든 카드 앞면 보여주기 카드가 중앙을 향해 나선형으로 등장 중앙에 도착시 각자 카드의 위치로 이동 카드가 각자 제자리에 도착했으면 카드를 다 뒤집어 카드의 모든 앞면을 보여준 후 카드를 뒤집고 게임 시작. 카드 하나를 고르고 일정 시간동안 카드를 고르지 않으면 땡처리 하고 카드 뒤집기 1. 카드 등장 효과 만들기 구현 + 게임 시작 모든 카드 앞면 보여주기 카드의 나선형 이동 필요 변수 처음 카드의 생성 위치 카드의 회전 속도 나선형으로 돌 최대 반지름 센터를 중심으로 도는 속도 현재 반지름 public float rotationSpeed = 300f; // 회전 속도 public float maxRadius; // 주변을 도는 최대 반지름 public flo..
-
1주차 시작 + 카드 게임 기능 구현Unity/Unity 스파르타 2023. 12. 21. 20:53
본 캠 시작에 앞서, 내가 잘 해 나갈 수 있을지 너무나 걱정된다.. 앞으로 다가올 수많은 실패와 좌절들에 벌써부터 손발에 땀이 나고 가슴이 뛰고... 하지만 실패와 좌절을 딛고 나아가는 것이야말로 보스 레이드의 꽃이 아닐까 앞으로 수많은 레이드를 위해 내실을 착실하게 쌓아 올려보자! 오늘의 구현 카드 랜덤하게 섞는 부분 구현 카드 짝 맞추는 것을 실패할 때마다 시간 감소 효과 구현 카드 뒤집히는 효과 구현 짝 맞추기 카드 개수 조절 카드를 뒤집을 때마다 카드 색 점점 어둡게 만들기 1. 카드 랜덤하게 섞는 부분 구현 카드의 스프라이트 이미지는 Resources로 가져올 것이며 스프라이트 이미지 파일 이름 뒤에 붙은 숫자들로 카드에 이미지를 넣을 것입니다. (ex. image1, image2, image..
-
Meteor 구현하기(Shader,Particle 활용)Unity/제로부터 구현 2023. 12. 14. 20:55
메테오 만들기. 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)Unity/제로부터 구현 2023. 12. 14. 15:49
오늘의 구현 정해진 영역 내에서 랜덤한 위치로 반복 이동시키기 + Blend Tree 를 사용해 애니메이션 적용시키기 이동 영역을 Enemy기준으로 반지름 n 만큼의 원으로 정하고, 랜덤한 레디언 값으로 접선좌표를 구해 Enemy가 그 지점으로 이동했다가 다시 원래 위치로 돌아오게 만들것입니다. lerp 함수에 보간값으로 대칭함수를 사용해 목표지점에 도달했다가 원래위치로 돌아오게 만들 것 입니다. 목표 지점으로 이동할때의 이동 방향을 구해 Blend Tree의 변수로 사용해 줍니다. 1. 적이 죽지 않았을경우 반복해서 이동 시킬것이며, 목표지점으로 갔다가 원래 위치로 복귀했을시 새로운 목표위치를 찾아 반복적으로 이동 시킬 것 입니다. 보간 함수 lerp는 대칭 함수를 사용합니다. 보간 값은 0부터 1 사..
-
플레이어를 기준으로 n크기의 반지름을 가진 원의 접선 그리기.Unity/제로부터 구현 2023. 12. 13. 21:44
오늘의 구현. 플레이어를 중심으로 n 크기의 반지름을 가진 원의 접선 그려보기. 1.Debug.DrawLine() 을 사용해 반지름과, 접선 그려보기. 접선은 해당 점에서 원의 경계에 수직이며, 원의 중심을 지나는 직선과 평행합니다. 원의 접선을 구하기 위해서는 접하는 점과 원의 중심을 알아야 합니다. 해당 점과 원의 중심을 연결하여 구한 벡터는 원의 접선이 됩니다. 순서 원의 중심과 랜덤한 레디언값을 사용해 벡터를 구할 것 입니다. 레디언 값에 90도를 더한 각도를 사용하여, 원의 접선 벡터를 구합니다. 위에서 구한 벡터 값에서부터 원에 접선 벡터까지 기즈모를 그려줍니다. 1. 반지름을 2f로 설정하고, 랜덤한 레디언 값을 구해줍니다. 원의 중심은 플레이어의 위치 입니다. 레디언 값을 사용해 x,y 좌..
-
Electric Attack 구현하기 ( +Overlap)Unity/제로부터 구현 2023. 12. 11. 18:01
오늘의 구현 1. n명에게 전이되는 번개 공격 구현하기 순서 VFX로 번개 이펙트 만들기 공격시작 이펙트 : 공격시 전류를 모아주는 이펙트 전류 이펙트 : 전류 생성 적을 탐색해 n명에게 번개 공격하기(Overlap) 1. VFX로 번개 이펙트 만들기 기존에 만들어 놓은 번개 이펙트를 응용해 하나는 캐스팅 이펙트, 하나는 공격 이펙트 두가지 이펙트를 만들어 줍니다. 두 이펙트를 프리팹으로 만들어주고 스킬을 시전했을때 캐스팅 이펙트를 instantiate 해주고, 정해진 카운트 만큼 번개가 전이 되면서 전이가 다 끝나면 캐스팅 이펙트가 페이트 아웃되게 만들 것 입니다. 공격 이펙트의 경우 4가지 위치값을 이용해 베지어 곡선을 설정하고 noise를 더해 전류처럼 보이게 만들 것 입니다. 2. 적을 탐색해 n..
-
A* 알고리즘을 사용한 길찾기 구현Unity/제로부터 구현 2023. 12. 7. 16:15
오늘의 구현 A* 알고리즘을 사용한 길 찾기 구현 A* 알고리즘이란 최단 경로 탐색 알고리즘으로 시작점과 도착점 사이의 최단 경로를 찾는 데 사용됩니다. BFS 알고리즘을 알고 있다면 이해하기가 더 쉬울꺼라 생각합니다. 두 알고리즘의 차이점이라면 BFS 는 너비우선 탐색이고 A* 알고리즘은 각 노드의 비용을 계산해 최단 경로를 찾습니다. 경로 찾는데 효과적이지만 탐색 속도가 느릴 수 있습니다. A* 알고리즘의 코스트 계산은 F = G+H 로 F는 예상비용 , G는 경로 비용, H는 경로 평가 함수로, 일반적으로 노드 사이의 거리, 장애물 유무 등을 고려해 계산함으로, 이 경로 평가 함수 설정에 따라 알고리즘의 성능이 결정됩니다. 여기서는 단순하게 출발 지점과 도착지점 사이의 직선거리로 계산할 것입니다.(..
-
Editor 구현하기Unity/제로부터 구현 2023. 12. 5. 17:17
1. Board 판 만들기 2.Editor 만들기 1.Board 판 만들기 단순한 보드판 생성 함수를 만듭니다. x*y 크기의 보드판을 생성합니다. 보드판은 1개만 존재할 것이기 때문에 보드판이 생성되었을때 또 다른 보드판이 있는지 확인후 있다면 그 즉시 삭제하고 새로운 보드판을 만듭니다. public void BoardGenerator() { string holderName = "BoardHolder"; if (transform.Find(holderName)) { DestroyImmediate(transform.Find(holderName).gameObject); } Transform boardHolder = new GameObject(holderName).transform; boardHolder.tr..