일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 유니티 Json 데이터 연동
- XR
- 유니티
- OVR
- 포트폴리오
- Oculus
- 멀티플레이
- 연습
- HAPTIC
- 개발일지
- 오큘러스
- 팀프로젝트
- 개발
- 유니티 UI
- 드래곤 플라이트
- 팀 프로젝트
- 길건너 친구들
- meta
- 가상현실
- input system
- ChatGPT
- meta xr
- CGV
- 앱 배포
- 모작
- VR
- 드래곤 플라이트 모작
- 유니티 GUI
- 오브젝트 풀링
- Photon Fusion
- Today
- Total
EasyCastleUNITY
길건너 친구들 모작 개발일지 7(장애물 랜덤하게 생성) 본문
길건너 친구들 모작 개발일지 7(장애물 랜덤하게 생성)
EasyCastleT 2023. 10. 4. 18:17앞에 포스팅에서, 플레이어의 이동을 장애물을 통해 제한하였습니다.
그러므로 이제, 실제 인게임에서 장애물을 생성하여, 플레이어의 이동을 막아보겠습니다.
장애물은 다음과 같은 2개의 용도로 사용됩니다.
1. 일정범위이상 못 움직이게 하기 위해 배치된 경우
2. 플레이어의 이동경로를 제한하기 위해
그래서 저는, 무조건 설치되는 Default 장애물(1번 용도)과, Random 장애물(2번 용도, 설치 안 될 수 도 있음)로 나누어서 만들어 보도록 하겠습니다.
먼저 Default 장애물입니다.
캐릭터의 이동범위를 제한해야 하므로, 넘어가면 안되는 위치에 만들어져야 합니다.
그래서, 빈 오브젝트를 통해, 위치를 지정해주었습니다.
그리고 미리 만들어둔 3개의 프리팹들을 등록하여 주었습니다.
그리고 위에서 지정한, Default 위치도 Assign 하였습니다.
위와 같은 스크립트를 통해 Default 위치에 장애물이 생성되게 하였습니다.
InitDefaultSummonPos에서, 계산하고 있는 값은, 각각의 장애물마다, 크기와 모습이 다르기에,
인게임상에서 올바르게 위치할 수 있도록 하는 값들 입니다.
다음으로는 Random 장애물입니다.
이 장애물들은, 플레이어의 이동경로를 방해하기 위해 존재합니다.
하지만, 아예 움직이지 못하도록 하면 안되기에, 플레이어가 지나갈 수 있는 빈틈을 만들어 주었습니다.
그리고 이 위치들은 Default 장애물 처럼, 등록해 주었습니다.
Default 장애물과 가장 큰 차이점은, 장애물이 무조건 해당 위치에 생성되는 것이 아니라는 것입니다.
랜덤을 통해, 30%의 확률로 해당 위치에 장애물이 생성됩니다.
다른 결과가 나오는 것을 확인할 수 있습니다.
이렇게 장애물을 땅에 설치하는 것을 완료했습니다.
그러므로 이제 실제 인게임내에서 땅이 설치되도록 해보겠습니다.
전에 만들어 둔, MapGenerator에 Assign 하는 groundPrefab을 이번에 만든 Ground로 대체합니다.
https://easycastleunity.tistory.com/172
위에 링크로 들어가시면 MapGenerator에 대한 설명이 있습니다.
그리고 실행시켜보았습니다.
위와 같이 랜덤하게 장애물이 설치되면서 시작할때마다 다른 맵이 나오게 되었습니다.
이렇게 장애물을 랜덤하게 배치하는 부분 구현을 마쳤습니다.
'3D 프로젝트 개발 일지(Crossy Road, 한글명: 길건너 친구들)' 카테고리의 다른 글
길건너 친구들 모작 개발일지9 (비트맵 폰트 및 UI 타이틀) (0) | 2023.10.05 |
---|---|
길건너 친구들 모작 개발일지8 (플레이어 점수 측정, UI 표시) (0) | 2023.10.05 |
길건너 친구들 모작 개발일지6 (Ray를 통한 장애물 검출 및 이동금지) (0) | 2023.10.04 |
길건너 친구들 모작 개발일지5 (뗏목 만들기 및 뗏목 탑승) (0) | 2023.09.27 |
길건너 친구들 모작 개발일지4 (코인 랜덤 생성) (0) | 2023.09.26 |