유니티 짱 04) 3D 액션 게임 카메라 시점 전환
·
Unity 3D/유니티 짱
이전의 포스트에서 복사한 Locomotion 씬을 실행해보면, 방향키(WASD) 입력에 따라 위아래(WS) 앞뒤 이동, 좌우(AD) 입력에 y축 회전 및 애니메이션까지 들어가 있습니다. 이건 초창기 3D 게임에서나 보던 답답한 회전 조작 방식이네요. 키보드 & 마우스 조작 기준으로 방향키(WASD)는 앞뒤좌우 이동, 시점은 마우스 이동에 따라 회전하도록 하는 것이 보편적인 조작이지요. 최근 다크소울3를 해보았으니 이를 관찰하여 비슷한 느낌이 나도록 카메라 이동, 회전을 구현해보겠습니다. 우선 관찰한 결과부터 정리해 보겠습니다. 1) 마우스 좌우 이동 - 카메라가 캐릭터 머리 약간 위를 중심으로 좌우 이동에 따라 일정 반경으로 이동하면서 캐릭터 방향을 바라보도록 회전 좌우 이동으로 변경되는 카메라가 보고 ..
유니티 짱 03) 작업에 들어가기 전 씬, 스크립트 복제
·
Unity 3D/유니티 짱
에셋에 포함된 기본 스크립트, 씬 등에 이미 구현된 내용이 있다면 이를 바탕으로 수정하는 것이 작업을 좀 더 빠르게 할 수 있는 길입니다. 작업하기에 앞서, 에셋의 샘플을 가져와서 쓸 때, 수정하는 도중 문제가 생길 수 있으니 항상 복제부터 하고 시작합니다. 이렇게 하면 수정 도중 문제가 발생하면 원본은 유지되니 이를 다시 사용할 수 있고, 에셋을 다시 불러와야 할 경우가 있더라도 실수로 원본이 수정본을 덮어 쓸 일이 없습니다. 1. 씬 복제 Locomotion 씬을 선택하고 Ctrl + D 를 입력하여 복제한 후, Assets > Scenes 폴더를 생성하고 복제한 씬을 여기로 가져와 이름을 변경합니다. 하이어라키(Hierachy) 창의 이름이 파란색인 프리팹들을 모두 선택하여 언팩합니다. 이로써 해당..
유니티 짱 02) 에셋에는 무엇이 포함되어 있는가?
·
Unity 3D/유니티 짱
Toon은 앞의 포스팅에서 추가한 유니티짱 툰 셰이더입니다. 셰이더와 에디터가 포함되어 있습니다. UnityChan 폴더를 뜯어봅니다. 폴더에 든 내용이 크게 중요하지 않은 경우는 넘기고 사용할 때 중요한 폴더 위주로만 설명드리겠습니다. License : 라이센스 조항, 유니티짱 로고 Models : 유니티짱 머터리얼, 텍스쳐 Animations (애니메이션) : 유니티짱 기본 제공 애니메이션들 1. 포즈 : 제자리에서 취할 수 있는 포즈 어떤 포즈인지는 직접 확인해보시고 사용할 것을 추리는 쪽이 좋을 듯합니다. 2. 모션 : 손 들기, 점프, 달리기, 대기, 걷기, 슬라이딩, 담 넘기, 승리, 패배, 피해 입음, 휴식 (큰 범주만 적었으며, 점프, 달리기, 대기, 걷기, 피해 입음은 상황에 따라 사용 ..
닷지 03) GameManager, 기존 오브젝트에 기능 추가, UI
·
Unity 3D/닷지
게임의 전반적인 페이즈를 생각해보겠습니다. 보통 미니 게임은 아주 단순하게 표현하면 아래와 같은 페이즈로 이루어져 있습니다. ↓ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㄱ 게임 실행 후 타이틀 화면 > 게임 시작 > 게임 중 > 게임 오버 > 재시작 페이즈를 나눠주기 위해 모든 스크립트에서 동일한 값을 가지고 공유하는 변수가 필요합니다. 이런 변수들을 모아두고 관리하고 사용하기 쉽게 static 클래스를 가진 스크립트를 하나 생성하겠습니다. C# 스크립트를 하나 생성하고 이름을 GameManger 로 붙여주면 다른 C# 스크립트와는 다르게 톱니바퀴 모양의 아이콘으로 변합니다. GameManager를 더블클릭하고 아래와 같이 코드를 작성하면 게임 페이즈를 bool 변수 하나로 구분할 수 있습니다. 주석에 설명한 대로 태그..
닷지 02) 총알 생성 포인트, 오브젝트 풀링
·
Unity 3D/닷지
지난 포스트에서 총알 기능을 구현하고 복제 생성 가능한 상태까지 만들었습니다. 이번에는 게임 도중 총알을 복제하여 게임 화면 가장자리인 벽 부근에서 생성하는 부분부터 시작해보겠습니다. 5. 총알 생성 포인트 1) 빈 오브젝트 생성 2) C# 스크립트를 생성하여 총알 생성 포인트의 컴포넌트로 추가 (1) 미리 생성한 총알의 정보를 가져오기 > public으로 선언한 변수는 해당 스크립트를 포함한 오브젝트의 인스펙터 창에서 직접 할당할 수 있습니다. (2) 필요한 변수 선언 및 초기화 생성 지연 시간, 카운터, 생성 위치에 대한 변수 (3) 카운터(목표 시간이 되기 전까지 시간을 세어주는 기능) private void Update(){} : 해당 스크립트를 포함하는 오브젝트가 활성화 상태라면, 1프레임 당 ..
닷지 01) 맵, 플레이어, 총알 제작
·
Unity 3D/닷지
예전에 이런 게임을 해보신 분들이 있을 겁니다. 한없이 날아오는 총알을 피하고 생존 시간으로 승부하는 간단한 미니 게임 이름 그대로 닷지(Dodge, 회피) 예전에 샀던 '레트로의 게임 프로그래밍 에센스' 교재를 복습하면서 만들어보기로 하겠습니다. 책 내용을 그대로 쓰지 않고 단계별로 필요한 절차만 간소화하여 정리하겠습니다. 다만, 교재만 따라 하는 것은 만들면서 재미가 없으니 저만의 커스텀 파트도 있을 예정입니다. 1. 유니티 3D 프로젝트를 생성 2. 맵 1) 바닥(Plane), 벽(Cube) 게임 오브젝트 생성 2) 트랜스폼(위치, 회전,스케일) 조정 3) 새 머터리얼을 생성하여 바닥에 색상 부여 4) 메인 카메라가 맵 전체를 볼 수 있게 위치, 회전 값 조정 + 배경을 단색으로 변경 3. 플레이어..
유니티 짱 01) 에셋 불러오기 및 툰 셰이더 적용 (3D ver1.4.0)
·
Unity 3D/유니티 짱
유니티 짱(Unity Chan)이란? > 유니티 재팬에서 만든 오픈소스 고품질 카툰풍 캐릭터 라이센스 정보 및 다운로드 링크 > 라이센스는 꼼꼼하게 읽어보시고 사용하려는 용도에 맞는지 확실하게 체크하셔야 합니다 https://unity-chan.com/contents/guideline/ DATA DOWNLOAD-利用規約 HOME DATA DOWNLOAD JP EN 2014/03/06作成 2014/05/19修正 2015… unity-chan.com 라이센스에 동의하고 다운로드 페이지로 들어가면 유니티쨩 외에 많은 캐릭터의 3D, 2D, 사운드, 아트웤, 라이센스 로고와 같은 많은 자료가 있는데 그 중 유니티 짱 3D 모델 데이터를 써보겠습니다. (해당 페이지는 아래에서도 사용하니 잠시 닫지 말고 켜두시기 ..