일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 1인 개발
- 유니티3d
- Unity2D
- 자바스크립트 게임
- 1인 게임 개발
- Pong
- 정보처리기사
- 유니티
- 필기
- 정처기
- 자바스크립트
- Unity
- 정처기 필기
- unity3d
- 퐁
- 1인 게임 제작
- 프로그래머스 #최소힙 #우선순위 큐
- FPS
- 게임 개발
- 합격
- portal
- 토이 프로젝트
- 3회차
- Vampire Survivors
- 게임제작
- 게임 제작
- 유니티 3D
- Unity #Unity2D #Portal
- 게임
- 1인 게임
- Today
- Total
목록Unity (22)
Coding Feature.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Iu591/btsDmqflcD1/NPGHxiij57SyIMKEcp5L70/img.png)
우선 메인 메뉴 씬을 간단하게 만들었습니다. Canvas 위에 Text와 Button을 만들고, Start Game의 On Click()에서 이전에 작성했던 SceneController의 LoadScene 함수를 호출하여 Level1 씬을 불러오도록 설정했습니다! 그리고 Exit Game에서는 다음 함수를 구현해서 게임을 종료하도록 했습니다. public void QuitGame() { Application.Quit(); } 추후에 옵션 버튼을 만들어서 해상도, 음량을 조절할 수 있도록 구현해볼 계획입니다! 그 다음 스프라이트가 조금 단조로워서 수정하기로 했습니다. 기존 포탈 게임은 실험실 내에서 실험을 당한다는 설정으로 깔끔한 흰색, 과학적인 디자인이 강조되었었는데요. 제가 만든 게임에서는 사이버펑크,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qtxbc/btsC9ayitbU/J2crLnQqnwHIRd6c1CRYaK/img.gif)
캐릭터가 움직일 때 애니메이션을 추가해보겠습니다! 플레이어 게임 오브젝트에 "Player_Idle" "Player_Run" "Player_Jump" 애니메이션을 추가해줬습니다. 그리고 달릴 때와 점프할 때의 스프라이트들을 각각 추가해줬습니다. 그 뒤, Animator의 parameter에 Float형의 "Speed"와 boolean 형의 "IsGrounded"를 추가해줬습니다. 그 다음, Animator 내 transition을 다음과 같이 설정했습니다. Idle에서 Run : Speed > 0.1 Run에서 Idle : Speed < 0.1 Any State에서 Jump : IsGrounded == false Jump에서 Idle : IsGrounded == true 조건으로 설정해줬습니다. 그리고 P..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ck5pLK/btsDdFp89TS/naDrpKAUplCSYJKd0wqdKk/img.png)
이펙트, 효과음 등 추가해야 할 사항들이 많지만 우선 사용자가 플레이할 첫 번째 레벨부터 구현해보도록 하겠습니다! 우선 다음과 같이 레벨을 디자인 해보았습니다. 간략하게 설명하자면, 우선 플레이어의 동선을 블루 포탈 -> 오렌지 포탈 -> 전원 버튼 -> 오렌지 포탈 -> 블루 포탈 -> 나가는 문으로 설정했습니다. 위 과정을 통해 플레이어는 - 블루 포탈, 오렌지 포탈 - 전원 버튼 - 클리어를 위한 나가는 문 의 용도를 알게 됩니다! 우선 나가는 문으로 도달한 경우 다음 레벨을 로딩하는 스크립트(SceneController.cs)를 짜보았습니다. using UnityEngine; using UnityEngine.SceneManagement; public class SceneController : Mo..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lv916/btsC2AD2GPo/aqRIoea6JmkK1Oc6dpBWb1/img.gif)
이제 앞서 만든 포탈과 포탈건 매커니즘에 대해서 발생할 수 있는 여러 가지 버그 또는 리스크 들을 해결하여 더욱 완벽한 게임 플레이 경험을 만들어 보겠습니다! - 두 포탈이 겹치는 경우 처리 포탈건으로 같은 벽면에 블루, 오렌지 포탈을 쏜다면 겹쳐질 것입니다. 이를 해결하기 위해 블루, 오렌지 포탈의 Collider가 겹치는지 확인하는 코드를 작성했습니다. private void HandlePortalCreation() { if (Input.GetKeyDown(KeyCode.Mouse0)) { m_tempVector = bluePortal.transform.position; // 이전 포탈 위치 저장. m_tempQuaternion = bluePortal.transform.rotation; // 이전 포..