일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 게임 개발
- 합격
- unity3d
- 퐁
- portal
- 토이 프로젝트
- 유니티 3D
- Vampire Survivors
- 게임
- 자바스크립트
- 자바스크립트 게임
- 정처기
- 1인 게임
- 1인 게임 제작
- 3회차
- FPS
- 프로그래머스 #최소힙 #우선순위 큐
- 필기
- Unity
- 1인 게임 개발
- 게임제작
- 유니티
- Unity2D
- 정보처리기사
- Unity #Unity2D #Portal
- Pong
- 정처기 필기
- 게임 제작
- 유니티3d
- 1인 개발
- Today
- Total
목록분류 전체보기 (91)
Coding Feature.
포탈건을 만들어보기로 했습니다. 우선 플레이어가 포탈건으로 조준할 때 조준선이 화면에 보이도록 만들어보겠습니다. 유니티 엔진에서 제공하는 Line Renderer를 사용했습니다. 우선 Portal Gun Script 이라는 오브젝트를 생성하고 PortalGunScript.cs를 작성했습니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class PortalGunScript : MonoBehaviour { public LineRenderer m_lineRenderer; public GameObject m_player; public float aimLineLength; Vector3 m_startP..
이전까지 포탈에 들어갈 때 플레이어의 위치만 변경했다면 이제는 플레이어가 들어간 속도 그대로 나오도록 구현해보겠습니다. 포탈에는 관성을 이용해서 퍼즐을 클리어해야 하는 구간이 많습니다. 위 그림처럼 중력을 이용해 포탈에 빠르게 들어가서 빠르게 나오면서 멀리 가도록 하게 구현해야 합니다. 또한 포탈에도 각도가 생겨서 들어간 각도대로 나올 수 있도록 해야 합니다. 우선 플레이어의 속도를 제어할 것이므로 이전에 플레이어를 움직일 때 사용했던 Transform.Translate는 좋은 플레이어 컨트롤 방법이 아닙니다. 대신 플레이어의 속도를 조절하도록 변경하여 물리적 특성을 더 잘 반영할 수 있도록 해줬습니다. ... if (Input.GetKey(KeyCode.A)){ m_rb.velocity += new V..
이제 본격적으로 Portal 게임의 핵심인 포탈과 관련된 매커니즘을 구현해보도록 하겠습니다! 먼저 포탈 매커니즘은 아래 그림 하나로 요약됩니다! 한 포탈로 들어가면 다른 포탈로 나옵니다. 나올 때 들어갈때의 속도와 방향과 같게 나갑니다. 위 매커니즘을 구현하기 위해 우선 오렌지색 포탈과 파랑색 포탈 Sprite을 가져옵니다. 각각 OrangePortal, BluePortal이라고 이름지었습니다! 추후에 Collision Detection하기 위해 Box Collider 2D 컴포넌트를 각각 부여하였습니다. 그리고 포탈의 물리적 특성(플레이어와 부딪힐 경우 막히는 것 등)을 없애기 위해 Is Trigger 부분을 체크합니다. 우선 포탈과 관련된 매커니즘을 따로 관리하기 위해 Portal Script를 짜도..
제가 정말 좋아하는 게임 Portal을 Unity 2D Engine을 사용해서 만들어보기로 했습니다. 프로젝트 명은 "mini-portal"입니다. 우선 Unity 2D 프로젝트를 만들고, 사용될 Sprite 들을 불러왔습니다. 각각 Player 와 Ground로 이름을 지었습니다. 그 다음 Player와 Ground에 Box Collider 2D 속성을 집어넣어서 물체가 부딪히는 경우를 처리해주었습니다. 추가로 Player에는 RigidBody 2D 속성을 넣어서 물리적 특성을 부여하였습니다. 플레이 해보니 캐릭터가 게임에서 설정된 중력에 의해 내려와 플랫폼에 닿을 시 움직이지 않도록 되는 것을 확인할 수 있었습니다! 그 다음 플레이어의 움직임을 프로그래밍하기 위해 PlayerMovement.cs 파일..