본문 바로가기

전체 글

(31)
Unity - 블랙홀(Point Effector 2D) Unity에서 지원하는 Point Effector를 사용하여 플레이어가 영혼을 흡수하는 것을 구현하려함 예시는 아래와 같음 Player Player 오브젝트를 만들어주고 키입력받아 이동할 것이기 때문에 Rigidbody를 추가해줌 또한 흡수한 영혼이 Player에 닿으면(충돌하면) 로직이 실행되어야 하므로 Collider도 추가함 Player오브젝트 자식으로 Absorber를 추가해서 넣어줌 Absorber가 진짜 영혼을 흡수하는 오브젝트임 Absorber의 컴포넌트임 1) Absorber의 Collider는 꼭 Used By Effector로 사용해야 함 -> 아래의 Effector로 사용되겠다는 뜻 2) Point Effector 2D가 진짜 블랙홀 역할을 하는 컴포넌트 본인은 영혼을 제외한 다른 오..
Unity - 인디케이터(Indicator)구현 인디케이터(Indicator)는 화면밖에 있는 적을 표시하기 위해 사용됨 OffScreen Indicator라고도 함 예시는 아래와 같음 1. 구현방법 생각 - 각도 구해서 인디케이터 방향 설정하기 - Camera.main.WorldToViewPort과 닮은 꼴을 이용하여 위치 설정하기 - 어디서 인디케이터를 생성하고 꺼줄지 생각하기 2. 구현 - 각도 구해서 인디케이터 방향 설정하기 먼저 defaultAngle을 구해서 위쪽, 아래쪽, 오른쪽, 왼쪽에 대한 연산을 하면 됨 편의상 dA라고 칭하겠음 위쪽 : -dA ~ dA 오른쪽 : dA ~ 180 - dA 왼쪽 : -180 + dA ~ -dA 아래쪽 : -180 ~ -180 + dA 또는 180 - dA ~ 180 그래서 defualtAngle을 구하..
Unity - 총알 구현하기(Bullet) 1. 구현방법 생각하기 1) 총알 만들기(Bullet) 이동, 충돌 처리, 이펙트 재생 2) 총알 나오는 곳(Bullet Shooter) 회전, 총알생성 2. 구현 1) 총알 만들기(Bullet) 마음에 드는 Sprite를 가져다가 만듬 (나는 y축+ 쪽이 머리인 스프라이트를 선택함) 총알은 앞으로 나가야 하기 때문에 rigidbody2D 설정 + Kinematic 설정 -> Script에서 velocity 설정할 것 총알은 Collider를 만나면 처리해야 함으로 Collider 추가 + Trigger 설정 -> OnTriggerEnter2D 사용 할 것 우선 앞으로 이동하기만 하면됨, 코드는 아래와 같음 -> 앞으로만 이동해야 하는데 자기 회전값에 대한 앞임, transform.up 신경써야 함 1 ..
Unity - 스폰(Spawn) 구현하기 1. 구현방법 생각하기 1) 스폰할 위치 정하기 -> 무엇을 기준으로 위치를 정할 것인가 (플레이어? 콜라이더중심?) 2) 랜덤으로 위치 뽑기 -> 어떻게 랜덤으로 뽑을 것인가 (원? 박스?) 3) 생성하기 -> 효율적인 방법은 무엇일까 (자주 생성되어야 하나? 오브젝트풀러?) 2. 구현 - 스폰할 위치 정하기 임의로 정함 본인은 플레이어(카메라) 중심으로 두고 일정한 거리(원)에서 적을 스폰하려 함 - 랜덤으로 위치 뽑기 플레이어 중심 기준 반지름(radius) 3인 원에서 뽑으려 함 방정식으로 간단하게 구현하면 됨 >>> x² + y² = 9 먼저 x값을 뽑은 후 방정식으로 y값 뽑으면 됨 x값은 -radius> (x-a)² + (y-b)² = 9 x값은 -radius + a
Unity - 조이스틱(Joystick) 2D게임에서 흔한 조이스틱을 구현해보기 실습환경은 다음과 같음 1. canvas를 만들어 터치가 가능한 Area 만들기 (여기서는 화면의 1/2를 사용했음) - canvas는 Screen Space - Camera로 바꾸고 Scaler도 Scale With Screen Size로 바꿈 (x : 1080, y : 1920) - Area는 앵커를 그대로 두고 Rect Tool로 임의로 바꿔줌 2. 조이스틱 범위를 설정할 outer 만들기 (Image, height 500 width 500) 3. 조이스틱 움직임을 표현할 inner 만들기 (Image, height 150) 4. Joystick.cs 스크립트 작성하여 Area에 넣어주기 touch관련은 Unity에서 EventSystem에서 관리함 여기에 포..
Unity - 무한 배경(Loop Background) 2D게임에서 배경 무한루프는 자주 볼 수 있다. 특히 러닝게임에서 자주 살펴볼 수 있다. 나는 일반적인 러닝게임이 아닌 NxM배열의 러닝게임이므로 2차원 배열을 사용해서 무한 루프를 구현했다. 무한 루프는 플레이어의 중심기준(아래기준 "11")으로 구현한다. 00 01 02 10 11(player) 12 20 21 22 각각 타일마다 Collider를 생성하고 Trigger를 체크해준다. 위의 타일을 나갈 때 마다 OnTriggerExit2D가 이벤트로 발생하고 거기에 따른 타일 이동을 해주면 된다. 예를들면 플레이어가 타일"11"에서 "21"로 이동한다면 "21"가 중심이 되어야 하고 나머지("00", "01", "02")는 아래로 내려와야 한다. 예로 들면 아래와 같다. 10 11 12 20 21(p..
Unity Asset Store 세일 좋은 정보다. 카피 프로젝트를 진행하려 했는데 디자인을 어떻게 할지 막막했다. 그냥 Asset도 구매해서 써보려한다. 링크는 아래와 같다. https://assetstore.unity.com/ Unity Asset Store - The Best Assets for Game Making Discover the best assets for game making. Choose from our massive catalog of 2D, 3D models, SDKs, templates, and tools to speed up your game development process. assetstore.unity.com 거기다가 50%세일 한다. 2달에 한번정도 세일을 진행한다는데 모든 에셋을 50%할인 하는 것은 보..