odyssey 23

#22 odyssey 개발일지 : (또) 동적 지형생성

동적으로 지형을 생성하는 건 이전에도 사실 만들었지만.. https://san10.tistory.com/26 #9 odyssey 개발일지 : 동적 지형생성과 오브젝트 풀링 (드디어) 중간고사가 끝나서 다시 스터디와 개발을 시작하려고 한다! 지형을 어떻게 만들지 생각해 봤는데... 미리 여러 패턴의 지형을 생성해놓고, 런타임중에 적당히 이어붙이려고 한다! 우선 san10.tistory.com 이때는 위치만 맞춰주기에 곡선이 연속적이지 않다는 문제가 있다. 그래서 저번에 만든 지형을 부드럽게 만들어주는 기능을 바탕으로 지형과 지형을 부드럽게 이어주는 지형을 계속 만들어주며 동적으로 지형이 생성되는 기능을 만들었다. 구현 //다음 지형 생성 TerrainType selectedTerrainType = (Ter..

odyssey 2024.02.03

#21 odyssey 개발일지 : 지형과 지형을 부드럽게 잇기

지형을 만들때 베지어 곡선을 통해 만들었는데, 전에 언급했던 것처럼 곡률이 안맞아서 어색한 지형이 생기기도 한다. 이런 식으로 곡률이 안맞는 문제는 동적으로 지형을 이을 떄도 문제가 되지만, 지형 프리셋을 만들 때도 일일이 곡률을 맞춰서 지형을 만들어야 하니 엄청 불편하다.. 감으로 맞추니깐 약간 어색한 부분이 생기기도 하고.. 이런 일을 해결하기 위해, 저번엔 캣멀롬 스플라인을 이용해서 해결하려 했으나.. https://san10.tistory.com/42 #16 odyssey 개발일지 : 캣멀롬 스플라인으로 지형 보간 베지어 곡선으로 지형을 만들고 붙이는건 좋은데.. 지형의 곡률이 안맞아서 어색한 장면이 생기기도 한다.. 그래서 보간 곡선으로 지형과 지형을 자연스럽게 이을 수 있는 지형을 만들려고 한..

odyssey 2024.01.21

#20 odyssey 개발일지 : 플립 및 부스트 추가

보통 2d 레이싱 게임에서는 플립했을 때 보너스가 있다! odyssey에서도 그런 요소를 추가하고자 한다. 부스트 추가 원래는 부스트를 하나의 상태로 취급했었는데 생각해보니 부스트는 어떤 상태든지 적용될 수 있게 만들고 싶어서 상태에서 뺐다. private void ActivateBoost() { if (isBoost&&isGrounded) { if (!boostParticle.isPlaying) { boostParticle.Play(); } if (rigid.velocity.x >= 0) { rigid.velocity += rigid.velocity.normalized * boostForce * Time.deltaTime; } boostTimer -= Time.deltaTime; if (boostTimer

odyssey 2024.01.19

#19 odyssey 개발일지 : 캐릭터 컨트롤러 버그 수정

지금까지 5달 동안 글을쓰지 않았는데.. 정글 게임랩에서 게임만들고 있었다.. 그래서 에픽 프로젝트에서 BoardLand라는 게임을 만들어서 출시했다... https://store.steampowered.com/app/2735620/BoardLand/ BoardLand on Steam BoardLand is a turn-based strategy board game where you use the numbers rolled by dice to grow your own board and battle monsters. store.steampowered.com BoardLand에서 프로그래밍&아트를 했었는데, 자꾸 사람들이 오리키우기 같다고 한다.. 어쨌든 출시하고 나서 좀 여유가 생겼고 정글 게임랩이 거의 ..

odyssey 2024.01.14

#18 odyssey 개발일지 : 반사광, 렌즈 플레어 추가

저번에 낮과 밤 시스템을 만들긴 했으나 실제로 일몰이나 일출때는 바다에 반사광이 생긴다 이걸 sun glitter, sun reflecting, specular 등등으로 부르는 것 같다. 어쨌든 이런 빛을 구현하고자 노력했다.. specular 사진들처럼 빛을 여러개 깔아서 반사광을 만들었다. 그리고 지금까지 했던것처럼 색상이나 falloff를 조절하여 자연스럽게 생기고 사라지게 만들었다. 그리고 해 뿐만아니라 달도 반사광이 생긴다! 해보다는 약하게 적당히..만들었다 ^__^ 구름 반사광 바다뿐만 아니라 구름에도 반사광이 생긴다. 원래는 스프라이트형 라이트로 구현하려 했는데 노말맵써도 괜찮을 것 같아서 이번에 한번 사용해봤다.. https://blog.naver.com/PostView.naver?blog..

odyssey 2023.08.10

#17 odyssey 개발일지 : 캐릭터 움직임 수정

맨 처음에 게임을 기획했을땐 알토의 모험처럼 곡선의 지형을 따라 움직이는 거였는데.. 생각해보니 그럼 너무 알토의 모험과 비슷해지는 것 같아서.. 캐릭터 조작 방식을 바꿨다. 지형을 따라 자동으로 이동하는게 아니라 일반적인 2d 캐주얼 레이싱 게임처럼 버튼을 누르면 전진하게 만들려고 한다! 조작 방식은 위의 두게임을 많이 참고했다. 캐릭터 스프라이트 조작법을 수정하는 김에 캐릭터도 그렸다! 구현 https://san10.tistory.com/4 #1 odyssey 개발일지 : 지형 생성, 캐릭터 움직임 구현 컨셉아트도 대충 짰고 이제 본격적으로 개발을 해야한다. 1. 지형생성 우선 처음으로 한 일은 지형생성인데 곡선의 언덕을 어떻게 만들까 고민했고, 우선 지금 지형을 생성하는 방식은 1. 폴리곤 san1..

odyssey 2023.07.31

#16 odyssey 개발일지 : 캣멀롬 스플라인으로 지형 보간

베지어 곡선으로 지형을 만들고 붙이는건 좋은데.. 지형의 곡률이 안맞아서 어색한 장면이 생기기도 한다.. 그래서 보간 곡선으로 지형과 지형을 자연스럽게 이을 수 있는 지형을 만들려고 한다. 캣멀롬 스플라인 캣멀롬 스플라인은 보간 곡선 중 하나이다. 곡선에는 보간 곡선, 근사 곡선이 있는데 보간곡선은 제어점들을 통과하는 곡선이고 대표적으로 캣멀롬 스플라인, 카디널 스플라인 등이 있다. 근사 곡선은 제어점을 연결하는 선의 모양에 근사하는 곡선이고 대표적으로 베지어 곡선이 있다. 다양한 근사곡선중에서 왜 캣멀롬 스플라인을 택했냐면.. 그냥 이게 제일 먼저 보여서이다! ^__^ 구현 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=bast..

odyssey 2023.07.29

#15 odyssey 개발일지 : 지형 생성기 만들기

https://san10.tistory.com/10 #5 odyssey 개발일지 : 베지어 곡선으로 곡선 지형 생성 지금까지는 임시로 곡선 지형을 만들었는데 이제는 베지어 곡선으로 지형을 만들려고 한다. 베지어 곡선이란? n개의 조절점과 선형 보간을 통해 얻을 수 있는 곡선으로, n-1차 베지어 곡선이라고 san10.tistory.com https://san10.tistory.com/19 #7 odyssey 개발일지 : 커스텀 에디터 odyssey의 지형생성 방식에 대해 생각해봤는데.. 미리 여러 타입의 지형을 생성해놓고, (일단은) 런타임 중에 적당히 랜덤하게 붙이기로 했다. https://san10.tistory.com/10 #5 odyssey 개발일지 : 베지어 곡 san10.tistory.com ..

odyssey 2023.07.24

#14 odyssey 개발일지 : 낮/밤 시스템 만들기

알토의 모험처럼 odyssey에서도 시간이 지남에 따라 낮밤이 바뀌게 만드려고 한다! 위 그림처럼 우선은 테스트로 낮부터 저녁까지 구현해보려고 한다.. 하늘 그라데이션 셰이더 https://www.youtube.com/watch?v=O62Iio-Qvjs&list=PLsPC1W5E9IRTc-Urd0Y1OaXQSv1SzxVwp&index=7 이 강의를 참고해서 셰이더를 만들었다. 그냥 튜토리얼 설명대로 똑같이 만들었다^___^ 이렇게 하늘에 그라데이션이 생겼다! 하늘/바다 색상 변경 https://forum.unity.com/threads/2d-day-night-cycle-and-weather-system-a-la-altos-adventure.377959/

odyssey 2023.07.22

#13 : odyssey 개발일지 : 바다 셰이더 만들기

2D 바다 셰이더 지금까지 바다 셰이더를 만들었다. 구글에 바다 셰이더라고 검색하면 많은 자료가 나오지만 현실물리기반 실제같은 바다보다는 애니메이션이나 그림같은 바다를 묘사하려 노력했다. 이런 느낌으로 만들고자 했다. 파도 움직임 만들기 https://www.youtube.com/watch?v=eD7LmXShYcs&list=PLsPC1W5E9IRTc-Urd0Y1OaXQSv1SzxVwp&index=1 이 영상을 참고해서.. 바다의 그림자 부분을 물처럼 움직이게 만들었다. 텍스쳐를 tiling and offset 노드로 UV를 조정하여 움직이게 하고 셀 애니메이션 처럼 끊어지는 느낌을 주고 싶어서 step 노드를 이용했다. 그리고 multiply 노드로 메인 텍스쳐의 알파값을 곱해서 필요한 부분에만 보이게 ..

odyssey 2023.07.17