본문 바로가기

유니티 게임 개발16

[유니티 강좌] 2D RPG 게임 만들기 - 7 / 점프 전 포스팅에서 이동관련 함수들을 알아봤는데요. 여러가지 방법이 사용될 수 있다는 것을 알았습니다. 마찬가지로 점프도 다양한 방법이 있겠지만 여기서는 Rigidbody.AddForce, Rigidbody.velocity를 사용해보겠습니다. 점프를 구현하기 위한 과정 1. 애니메이터 설정 2. 레이캐스트로 땅과 충돌 체크 3. 점프하기 애니메이터 설정 점프 애니메이션이 없다면 이 과정은 생략해도 됩니다. Idle과 Jump, Run과 Jump에 Transition을 생성해줍니다. 파라미터에 Bool로 jumping을 선언해줍니다. 애니메이션 전환 조건을 밑의 그림에 따라 설정해줍니다. 애니메이터 설정은 끝났습니다. Has Exit Time, Settings 부분은 조금 있다가 직접 점프를 눌러보면서 수정해도.. 2020. 6. 7.
[유니티 강좌] 2D RPG 게임 만들기 - 6 / Translate의 문제점과 대안 지금까지 이동은 Translate라는 함수로 했습니다. 이 함수는 물리 제어로 움직이게 하는 것이 아니라서 약간의 문제가 있습니다. 예를 들어 Collider가 붙어있다고 가정했을 때 만약 어떤 물체와 맞닿은 상태에서 Translate로 계속 부딪히려고 한다면 밀어내는 것과 움직이는 것이 불규칙적으로 반복되어서 진동하는 것처럼 보이게 됩니다. Update에서 Translate 사용 이것은 Collider가 밀어내는 것(FixedUpdate)과 움직이는 것(Update)이 일정하지 않아서 발생하는 현상이므로, Translate를 FixedUpdate에서 사용하게 된다면 진동하지 않습니다. 더보기 0.02초당 한번씩(초당 50번) 고정적으로 실행되는 메시지입니다. 물리 시스템은 모두 FixedUpdate로 .. 2020. 6. 6.
[유니티 강좌] 2D RPG 게임 만들기 - 5 / 적 공격하기 적을 공격하는 것을 크게 두 가지로 나눈다면 1. 공격 판정 정하기 2. 맞은 적의 HP 줄이기 정도가 되겠습니다. 공격 판정은 여러 방식으로 정할 수 있지만 이번 강좌에서는 유니티 엔진에서 제공하는 것을 사용해보겠습니다. 공격 방식은 판정의 영역을 정해서 그 범위 안에 있다면 맞게 할 수도 있고 아니면 판정을 무기에 붙여서 무기를 휘둘렀을 때 판정 영역에 있다면 맞게 할 수도 있습니다. 저는 후자의 방법을 택해서 진행해보도록 하겠습니다. 먼저 무기에 Box Collider2D를 붙입니다. 그리고 본체에도 Collider2D를 붙여줍니다. 적에게도 몸에 Collider를 붙여줍니다. Collider는 물리적인 상호작용을 할 수 있게 해서 Collider들끼리 충돌하고 밀어낼 수 있습니다. 그리고 Rigi.. 2020. 5. 23.
[유니티 강좌] 2D RPG 게임 만들기 - 4 / 적과 체력바 만들기 공유 폴더에 체력바 그림 추가했습니다. 이미 다른 체력바 그림이 있으시다면 다른 것으로 사용해도 문제없습니다. RPG 만들기 - Google 드라이브 drive.google.com 1. 체력바 불러오기 점점 파일이 많아지니 폴더를 정리하겠습니다. Resources 폴더를 만들어 그림 파일들을 넣었습니다. 2. 체력바 생성 Hierarchy 창에서 우클릭 -> UI -> Image를 누르면 캔버스와 그 안에 Image가 생성됩니다. Image 밑에 하나 더 Image를 만들어줍니다. 구분하기 쉽게 이름을 변경해줍니다. bghp_bar 체력바의 모양처럼 Width와 Height를 수정해주고 bghp_bar의 image에 체력바의 배경을 넣어줍니다. hp_bar 좌우 확장되는 그림으로 클릭해서 바꿔주고 Lef.. 2020. 5. 11.
[유니티 강좌] 2D RPG 게임 만들기 - 3 / 공격 애니메이션 소드맨의 공격을 구현해볼 건데 그전에 한 가지 수정해야 할 것이 있습니다. GetAxis함수로 방향 전환할 때 애니메이션이 끊기는 현상이 있습니다. [2021/04/13 추가내용 : GetAxis함수로 방향 전환해도 끊기지 않게 설정할 수 있었습니다. 이 포스팅에서 Input.GetKey()함수로 진행하였으므로 포스팅 내용대로 진행하시면 됩니다.] 이 함수를 Input.GetKey() 함수로 교체하겠습니다. Input.GetKey(키코드) : 키를 꾹 누르고 있을 때 true 반환 Vector3.right, left : new Vector3(1,0,0) , new Vector3(-1,0,0) 와 같음 공격 애니메이션 Parameters에서 Trigger를 생성해주고 이름은 attack으로 합니다. 3가지.. 2020. 5. 6.
[유니티 강좌] 2D RPG 게임 만들기 - 2 / 캐릭터 움직이기 https://hoil2.tistory.com/5?category=857730[유니티 강좌] 2D RPG 게임 만들기 - 1 / 캐릭터 생성유니티로 간단한 2D RPG 게임을 만들어보겠습니다. 완전 초보를 대상으로 글을 쓰는 것이기 때문에 매우 상세하게 설명하게 될 예정입니다! 유니티를 아직 설치하지 않았다면 https://unity3d.com/kr/ghoil2.tistory.com(전 포스팅을 보지 않으셨다면 이해가 힘들 수도 있습니다.) 1. 소드맨 움직이기캐릭터 생성까지 마쳤다면 캐릭터를 움직여야겠죠? 하지만 안타깝게도 움직이려면 스크립트를 작성해야 합니다. 먼저 Scripts 라는 폴더를 만들고폴더 안에서 우클릭 -> Create -> C# Script 를 눌러 스크립트 파일을 생성합니다.C# 파.. 2020. 4. 28.
[유니티 강좌] 2D RPG 게임 만들기 - 1 / 캐릭터 생성 유니티로 간단한 2D RPG 게임을 만들어보겠습니다. 완전 초보를 대상으로 글을 쓰는 것이기 때문에 매우 상세하게 설명하게 될 예정입니다! 유니티를 아직 설치하지 않았다면 https://unity3d.com/kr/get-unity/download Download Unity! Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers. unity3d.com 이곳에서 허브.. 2020. 4. 26.