일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 17070번
- Unity
- 플레이어 이동
- 2870번 c++
- 프로그래머스
- 수학숙제
- 17070번
- 백준 c++ 2468번
- 오브젝트 풀링
- Algorithm
- 코딩테스트
- Lv2
- 백준 1103번
- dfs
- Beakjoon
- 백준 2870번
- 백준 17070번 c++
- 백준
- 2870번
- 백준 1103번 게임
- Lv.3
- C#
- 2468 c++
- 코테
- c++
- 2870번 수학숙제
- 2870번 수학숙제 c++
- 백준 1103번 c++
- 유니티
- 백준 c++ 2870번
- 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
local과 global ( position과 localPosition )
position ( world position ) - 절대적 - 월드의 원점을 기준으로 설정 localPosition ( local position ) - 상대적 - 부모의 좌표를 기준으로 설정 - 만약 부모가 존재하지 않으면 월드의 원점을 기준으로 설정 (..
godgjwnsgur7.tistory.com
2. Parallax 기법 : 거리에 따른 상대적 속도를 활용한 기술로 플랫포머에서도 많이 사용
- 이를 위해서 Back Group 을 Top, Middle, Bottom으로 나누어 생성한 것
https://github.com/godgjwnsgur7/ShootingGame
GitHub - godgjwnsgur7/ShootingGame
Contribute to godgjwnsgur7/ShootingGame development by creating an account on GitHub.
github.com
강의 출처
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 |