일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OAuth2.0
- 백준
- 프로그래밍
- netlify
- jwt
- Python
- spring
- 게임개발
- IntelliJ
- 파이썬
- 스프링부트
- AWS
- MongoDB
- bcrypt
- frontend
- unity
- RiotAPI
- 깃
- springboot
- oAuth
- JSON
- 게임
- c#
- 코딩
- 백엔드
- 유니티
- node.js
- react
- express
- 스프링
- Today
- Total
목록분류 전체보기 (84)
Unwound Developer
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/oHQz6/btrsi99JOBe/yQn91JSFuqZkqCglsiFtyK/img.png)
슈퍼마리오에서 마리오가 벽돌을 점프로 부술 수 있어요. 벽돌이 사라지는건 그냥 OnCollisionEnter2D를 이용했는데, 벽돌이 부서지는 애니메이션은 따로 만들 수가 없어요. 전 애니메이션을 만들 수 없어서.. 그런데, 유니티 내부에 파티클이라는 기능이 있었어요. 이걸 이용해서 벽돌이 부서지는 애니메이션을 구현했습니다. 생각보다 유니티에 다양한 기능이 많아, 꽤 편리하게 많은 것들을 만들어 낼 수 있을 것 같습니다. Hierarchy에 파티클 시스템이 있습니다. 그리고 부서질 블록에 자식으로 추가했어요. 파티클 시스템의 Inspector를 보면 뭐가 잔뜩 있습니다. duration부터 delay, speed 이런건 말그대로 효과가 나타나는 지속시간, 시작시간, 속도 등 인데 파티클 효과가 게임창에서..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/eK5cu4/btrrYRiXsfU/YuwnckxvfZasm8gbmMessK/img.png)
이번엔 플레이어 스크립트를 봐볼게요. 아직 계속 작성중인 스크립트라 미완성이긴 합니다. 원래 유튜브를 보고 했을 땐 전부 RayCast를 이용해 오브젝트간 상호작용을 구현했는데, 전 최대한 유니티의 유틸리티를 사용하고 싶어서, collider와 rigidbody 컴포넌트를 사용하는것으로 바꿨어요. bool 변수들은 player가 현재 어떤상태인지를 알려줍니다. 그 외에는 점프의 세기 같은 이런거네요. enum을 이렇게 선언하면 안에 선언된 애들로 상태를 관리할 수 있어요. bool형 변수들도 있는데 이건 없어도 될 것 같기도 한데요? UpdatePlayerPosition 메소드는 player를 실제로 움직이게 하는 기능을 가져요. 메소드 안에는 단순한 움직임을 구현한 것들이에요. 하지만, 입력을 받는 메..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bInnLF/btrrYRiQQjA/DCYwY8QDhvVhZix0eQTuQ0/img.png)
첫번째 클론으로 슈퍼마리오를 선택했는데, 생각보다 어려웠습니다. 일단 시작하자마자 슈퍼마리오 특유의 카메라 시점부터 막혔어요.. 도움받을 곳을 찾아본 결과로 외국인 유튜버의 설명을 보면서 따라했는데, 뭔가 이상했어요. 카메라 무빙 부분은 괜찮았는데, 캐릭터와 적 AI를 구현할 때, 유니티에서 제공하는 Collider, RigidBody이런 기능을 놔두고 레이캐스트를 이용해서 비효율적으로 하는 것 같더라구요. 레이캐스트를 이용해서 오브젝트간의 상호작용을 관리하는게 더 수준 높은 방법인건가요..? 어쨌든 저는 다 따라해놓고 맘에 안들어서, 전부 갈아엎느라 시간을 많이 쓴 것 같네요. 우선 카메라 무빙을 제어하는 CameraFollow 스크립트입니다. 슈퍼마리오의 카메라 무빙을 생각해봐요. 항상 캐릭터가 중심..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/lRXZK/btrrDOZskKD/5XU3Tp8floWr6j6ZOlZWYk/img.png)
옵션 창 추가에 이어서 게임 내부에 이벤트를 추가해봤습니다. 그리고, 게임 도중에 타이틀 화면으로 이동하는 버튼과, 타이틀 화면에서 게임종료 버튼도 추가하였습니다. 추가한 게임 진행에서의 이벤트로는 발판에 가시외에 몬스터 장애물 추가와, 게임 진행 후 10초가 지난 시점부터 공중에 새가 리스폰 됩니다. 가시와 마찬가지로 발판에 자식으로써 종속시킨 후, 발판 생성시에 일정 확률로 나타나게 설정했어요. 가시와 다른점은 플레이어가 점프할 때 몬스터도 점프를 하게 설정했습니다. 사진 속 몬스터도 플레이어가 몬스터를 피하려고 점프를 눌렀을 때 같이 점프를 한 모습입니다. 플레이어 컨트롤과 유사한 스크립트를 가지고 있습니다. 차이점은 점프가 한 번에 최대 1회까지만이에요. 새는 이런식으로 공중에 생성됩니다. 새가 ..