Develop

이제 게임같이 움직이고, 플레이어에 따라 카메라가 이동하는것 까지 구현해놓고 나니, 그래도 뭔가 게임만들기의 시작이 된것같다. 그럼 이제 플레이어가 화면 밖으로 나가지 못하게 막아보자.이전 플레이어에 붙여뒀던 PlayerManager에 다음 코드를 추가한다.//PlayerManager void Update() { //플레이어 이동 //중략 //플레이어 움직임 제한 (범위 밖으로 나가지 못하게) Vector3 pos = Camera.main.WorldToViewportPoint(this.transform.position); if (pos.x 1f) pos.x = 1f; if (pos.y 1f) pos.y = 1f; ..
일단 이렇게 그렸다!플레이어가 맵을 돌아다녀야되니깐 이제 카메라 설정을 해보자! 예전엔 카메라를 구현할 때 하나하나 코드로 짜 넣어야됐다... 이게 은근 복잡하고 어렵다 보니 여기가 첫 관문인적도 많았다. 이번 카메라 구현은 유니티에서 제공하는 Cinemachine을 사용할것이다.일단 Cinemachine을 유니티에서 받아오자. 상단 탭에 Window -> PackageManager를 켜주자.좌측 위에 + q버튼 옆에 Packages를 UnityRegistry로 맞춰주고, 우측 상단에 Cinemachine을 검색해주자. 우측 하단의 Import버튼을 눌러 추가시켜주자.나는 이미 다운로드를 해서 Remove라고 뜨고 있지만, Import버튼을 눌러주면 된다. 이러면 이제 준비는 끝났다.하이라키창을 오른쪽클..
게임에는 여러 그림이 들어간다. 물론 어느 게임이든 BackGround는 무조건 들어간다.  지금은 RPG류의 게임이니깐 맵을 찍어보자!다행히 유니티에는 타일맵을 지원한다.타일맵은 찍는건 간단하지만, 준비하는 과정이 어려울 수 있다. 일단 게임에 필요한 스프라이트부터 가져와보자.나는 아래 링크에서 얻은 타일을 사용하려 한다. Forest TilemapA tilemap we created for our RPG project Rising Spire. We've replaced most of the assets already so feel free to use these in your projects!opengameart.org무료 스프라이트라 사용해도 괜찮을것이다. 이미지를 저장해두고, 이제 타일맵을 생성하..
이제 UI를 위한 기본 틀을 만들어보자. 게임에서 UI(UserInterface)는 플레이어에게 필요한 정보를 제공한다. (게임머니, 날짜 뭐 이런거 등등) 유니티에서는 UI를 구현할때, Canvas를 이용해 구현한다. 캔버스는 하이어라키에 오른쪽 클릭해서 UI-Canvas를 눌러 캔버스를 추가해주자. 캔버스를 추가했다.캔버스에는 여러 속성이 있지만 추후에 알아보기로 하고일단 캔버스의 컴포넌트를 수정해주자. 일단 Canvas 컴포넌트의 Rander Mode를 클릭해 Screen Space - Camera로 바꿔주자. 카메라의 크기에 맞춰 UI를 표시하겠다는 설정이다.이후, 카메라를 설정해주자. MainCamera를 드래그해서 Render Camera 속성에 넣어주면 된다.이후 Sorting Layer를 ..
잠깐. 이건 만들기전에 설명했어야했는데 놓친 부분이다.유니티를 처음 접하는 사람들도 있을테니 유니티 내부의 구성요소에 대해 설명하고 글을 계속 읽어보자.내부 구성요소는 조금 길어 더보기에 넣었다.더보기 (그림이 잘 안보인다면 클릭해서 보자.)유니티 내부 구성요소인 윈도우에 대한 설명이다. 1번은 11시 방향에 있고, 시계방향으로 돌아가면서 번호에 대해 설명한다.1. 상단 옵션탭 (나는 그냥 이렇게 부를거다) - 유니티의 속성이나, 게임 오브젝트, 컴포넌트, 윈도우 등, 유니티의 전체적인 옵션을 나타낸다. 2. Scene 윈도우 - 우리가 실질적으로 게임을 만드는 공간이다. 이 공간에서 추가된 오브젝트의 위치를 옮기거나, 크기를 줄였다 키웠다 할 수 있다. 참고로 Scene윈도우의 좌측에 보면 손모양과 화..
컴퓨터 공학과에 들어와 공부를 하다보면 자주 듣는 말이 있다."객체지향 프로그래밍을 해야한다." 그럼 도대체 객체 지향이 무엇인가?객체 지향 프로그래밍이란, 큰 문제를 작게 쪼개는게 아니라, 먼저 작은 문제들을 해결할 수 있는 객체를 만든 뒤, 이 객체들을 조합해 큰 문제를 풀어가는 방법 이라고 한다... 솔직히 뭔 소린지 한번에 감이 안온다. 객체 지향 프로그래밍이 나오기 전엔 코딩을 할 때 절차적 프로그래밍 언어를 사용하여 개발했다고 한다.학교 대사전의 고등학생 알고리즘 ( https://web.archive.org/web/20160306122421/dic.idoo.net/s/dic/pics/student.gif )처럼 입력을 받아 순서대로 처리하는 탑 다운 (top-down) 방식이라고 보면 된다...
개요 요즘 열심히 하는 게임이 생겼다. 하이 우동 호텔이라는 게임인데 이 게임에는 영화관이라는 컨텐츠가 있다. 방문하는 손님들의 요구사항에 따라 만족할만한 영화를 찾아서 상영시켜야한다. 지금은 상영중인데 위에 관람소원이라는 칸을 보면 손님들이 어떤 영화를 보고싶어 하는지 힌트를 준다. 처음 봤을땐 어느 장르의 영화를 상영해야하나 검색해보고 하나하나 고르는 작업을 했다. 하다가 보니까 이거 그냥 편하게 프로그램을 하나 짜서 하면 편하지 않을까 라는 생각을 하였고 바로 실행에 옮겼다. 다 만들고 안 사실이지만 계속 정확한 영화 요구를 들어주다가 보면 위의 주황색 글씨처럼 소원 맨 끝에 어떤 장르인지 뜨는 기능이 있었다... ㅠㅠ 콘텐츠 영화 관람 소원에 대한 정보는 다음 블로그에서 참고하였다. https:/..
0. 개요 이전 글에서 기본 설정 하는 법을 읽지 않았다면 이전 글을 먼저 읽고 오자. (접은글을 펼치자!) 더보기 https://freeedeveloper.tistory.com/entry/Unity-%EB%A9%80%ED%8B%B0-%ED%94%8C%EB%A0%88%EC%9D%B4%EB%A5%BC-%EC%9C%84%ED%95%B4-%ED%8F%AC%ED%86%A4%EC%9D%84-%EC%97%B0%EB%8F%99%ED%95%98%EC%9E%90Photon-0-%EA%B8%B0%EB%B3%B8%EC%84%A4%EC%A0%95%EA%B3%BC-%EA%B0%80%EC%9E%85%EB%B0%A9%EB%B2%95 [Unity] 멀티 플레이를 위해 포톤을 연동하자!(Photon) - 0. 기본설정과 가입방법 0...
0. 개요유니티로 게임을 개발하다보면 멀티플레이를 구현해야 할 때가 있다.  여러 API가 있지만, 이번에는 Photon을 사용해보려고 한다. 1. 기본 설정포톤은 다음 사이트에서 만나볼 수 있다. https://doc.photonengine.com/ko-kr/server/v4/getting-started/photon-server-intro Photon Server 소개 | Photon EnginePhoton은 굉장히 빠르고 매우 쉽게 사용할 수 있는 온프레미스 실시간 소켓 서버이며 크로스 플랫폼 멀티 플레이어 게임 개발 프레임워크 입니다. Photon Server 멀티플레이어 API를 이용하여 여러 플doc.photonengine.com 사이트에 들어가서 간단한 회원가입을 한 후, 우측 상단의 대쉬보드..
0. 로그라이크란? 로그라이크는 말 그대로 로그 처럼 생긴 게임을 의미한다. 로그 게임은 1980년대 제작된 텍스트 기반으로 된 RPG 던전 탐험 게임이다. 현대에 들어서는 이 로그라이크 게임의 특징 중, 게임오버 시 처음부터 다시시작, 모든 아이템 초기화, 맵 초기화 등이 있다. 이 중, 맵이 초기화 되는 기능을 구현하고자 한다. 맵을 생성할때, 맵의 크기는 전부 동일하다고 가정한다. 또한 통로는 생성하지 않고, 맵을 모두 연결시킨다. 1. 고려할 점. 일단 로그라이크 맵을 만들기 위해 n*m 크기의 배열을 먼저 생성할것이다. 이후, 배열위에서 아무 무작위 점을 하나 정하고, 커서를 그 위치로 옮긴다. 커서가 움직이는 방향은 상하좌우이고, 커서가 움직일때마다 움직인 방향에 맵을 생성할것이다. 맵의 프리..
LKM0222
'Develop' 카테고리의 글 목록 (5 Page)