일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 플레이어 방향전환
- apk
- 유니티
- 패럴렉스
- Scrooling
- LayerMark
- CSharp #자료구조
- 프리팹
- Animation State Machine
- Transform
- 스크롤링
- 플레이어 이동
- Prefabs
- raycasting
- rotation
- Object Pooling
- Blend Type
- Hpbar
- Vector3
- Parallax
- Unity
- 오브젝트 풀링
- Hp바
- rigidbody
- 2D슈팅게임
- Object Poling
- joystick
- raycast
- Ainimation Blending
- 일시정지
- Today
- Total
주녘공부일지
[ShootingGame] 7. 원근감있는 무한 배경 만들기 + 페럴렉스, 스크롤링 본문
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
'GameEngine > 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 |