일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- raycasting
- 유니티
- Blend Type
- Ainimation Blending
- Back Tracking
- 플레이어 방향전환
- C#
- Object Pooling
- pccp 기출문제 3번
- CSharp #자료구조
- 충돌위험 찾기
- heap tree
- 너비 우선 탐색
- Hpbar
- Unity
- Animation State Machine
- 프로그래머스
- pccp 기출문제 2번
- ASTAR
- LayerMark
- Scrooling
- 깊이 우선 탐색
- Hp바
- Algorithm
- 플레이어 이동
- Lv2
- Object Poling
- 2D슈팅게임
- pccp 기출문제 1번
- 오브젝트 풀링
- Today
- Total
주녘공부일지
[ShootingGame] 7. 원근감있는 무한 배경 만들기 + 페럴렉스, 스크롤링 본문
[ShootingGame] 7. 원근감있는 무한 배경 만들기 + 페럴렉스, 스크롤링
주녘 2022. 1. 31. 01:25
0. 준비하기
- 카메라는 그대로, 배경이 아래로 움직여서 플레이어가 위로 움직이는 것처럼 느껴지게 만듬
- 카메라에서 벗어난 배경은 다시 위쪽으로 붙여서 재활용하여 사용할 예정 ( 1. 스크롤링 )
- Back Group Top, Middle, Bottom 으로 나눠 Parallax 기법을 사용할 예정 ( 2. 패럴렉스 )
- Back Group Botton, Middle, Top 에 스크립트 추가 ( class Background )
+ 이미지는 위에서 아래로 움직일 예정
1. Scrooling 기법
- Camera View 높이 = Size x2 // veiwHeight
- 기본 셋팅 (시작 셋팅) : startIndex = 2, endIndex = 0
- sprites[0] : 가장 밑에 있는 스프라이트
Move() : tranform을 이용한 이동 구현
Scrooling() : 카메라에서 벗어난 배경은 다시 위쪽으로 올려서 재사용
#. Sprite ReUse
- 가장 밑에 있는 스프라이트의 월드 좌표가 카메라 크기만큼 내려가 있다면 스프라이트가 카메라를 벗어난 상태가 되므로 로직을 실행 (if문)
- 가장 위에있는 backSpritePos과 밑에있는 frontSpritePos를 지역 좌표로 가져와서 저장한 뒤 맨 아래에 있는 인덱스를 맨 위에있는 스프라이트 이미지의 위로 이동시킴
#. Cursor Index Change
- 씬에서의 스프라이트 이미지 순서가 변했으므로 맨 위와 맨 아래를 재조정
( 배열의 범위를 벗어나지 않도록 삼항연산자로 지정 )
배경 스크롤링은 카메라 밖에서 이루어지는 작업
+ 이미지들을 가지고 있는 부모 오브젝트는 계속 이동 중이므로, 지역 좌표(localPosition) 사용
https://godgjwnsgur7.tistory.com/17
2. Parallax 기법 : 거리에 따른 상대적 속도를 활용한 기술로 플랫포머에서도 많이 사용
- 이를 위해서 Back Group 을 Top, Middle, Bottom으로 나누어 생성한 것
https://github.com/godgjwnsgur7/ShootingGame
강의 출처
https://www.youtube.com/watch?v=KUQAULcpYZU&list=PLO-mt5Iu5TeYtWvM9eN-xnwRbyUAMWd3b&index=7
'GameDevelopment > [Unity] Lecture' 카테고리의 다른 글
[ShootingGame] 9. 텍스트파일을 이용한 커스텀 배치 구현 ( + 구조체 ) (0) | 2022.02.02 |
---|---|
[ShootingGame] 8. 최적화의 기본, 오브젝트 풀링 (0) | 2022.02.01 |
[ShootingGame] 6. 아이템과 필살기 구현하기 (0) | 2022.01.29 |
[ShootingGame] 5. UI 간단하게 완성하기 (0) | 2022.01.28 |
[ShootingGame] 4. 적 전투와 피격 이벤트 만들기 (0) | 2022.01.28 |