본문 바로가기

유니티

유니티 - 탄막 슈팅 게임을 만들자(1), Sin(),Cos()과 Mathf 의 사용 안녕하세요, 윈디입니다!오늘은 처음으로 보스가 탄막을 뿜어내도록 만들었습니다.지난번의 보스 패턴 구현에서 연장선상이 되겠네요. 이러한 탄막을 구하기 위해, 구현해야 하는 두 가지의 파트를 먼저 살펴보겠습니다. 첫번째는, 탄막을 '쏘는' 보스에서 구현해야 할 부분. 두번째는, 탄 자체가 움직이거나, 혹은 시야 범위에서 사라진 탄이 삭제되기 위해 필요한'탄' 내부에서 구현해야 하는 부분이 있겠습니다. 탄을 쏘는 보스의 부분부터 살펴보도록 하지요.탄을 원하는 방식대로 쏘도록 코루틴을 만들어서, 원하는 타이밍에 실행해줄 수 있도록 하면 되니까요.저는 시작하는 시점에 저런 탄을 생성할 수 있도록, SpellStart() 코루틴을 만들었습니다. IEnumerator SpellStart() { float angle .. 더보기
유니티 - 스크립트 함수의 실행순서 (Awake와 OnEnable) 안녕하세요? 윈디입니다. 엑스트라 페이지를 만드느라 주말동안 코딩을 하면서 보냈네요. 다이얼로그컨트롤을 좀더 손봐서 배경화면도 바꿀 수 있도록 했습니다. 배경에 관련된 데이터를 채팅 스크립트에 추가하고 빈 png그림인 NULLIMAGE파일을 추가하여 앞으로 특별한 것이 없으면 널이미지를 적극적으로 사용하도록 조치를 했죠. 슬라이더와 유니티엔진에서 지원하는 Scroll Rect, 그리드 레이아웃을 사용하여 여러 버튼들을 엑스트라 페이지에 나열하고, 버튼을 누를때마다 해당 이벤트에 대한 다이얼로그가 생성되도록 했구요. 특히, 오늘 배운 것은 제가 이벤트를 저장하기 위해서 사용했던 방법에 있던 오류에 대한 것이었는데, ▲ 대화 이벤트를 구현하기 위해서 SetActive 함수를 많이 사용했습니다.대화를 저장한 .. 더보기
유니티(C#스크립팅) - 코루틴. 코루틴. Coroutine의 이해. 안녕하세요, 윈디입니다! 오늘은 코루틴의 개념에 대해서 좀더 자세하게 이해하게 되어서, 정리할 겸 글을 쓰게 되었네요.오늘 배운 내용으로 게임에 필요했던 메인 화면의 동작을 코루틴을 이용하여 제작해 보기도 했구요. 코루틴이란?Coroutine, 같이한다는 뜻의 접두사 Co와 작업을 뜻하는Routine의 합성어라고 할 수 있겠죠. 같이 하는 일. 그러니까 유니티에서 코루틴이란 간단히 말하자면 코루틴을 호출한 함수와 해당 코루틴이 같이 협동해서 문제를 해결하는 구문이란 뜻인 겁니다. 코루틴은 항상 실행되는 것이 아니라 필요한 상황에서만 발생시킬수 있다는 점에서 매 프레임 실행되는 Update문보다 훨씬 강력하고 효율적인 기능을 발생시킬 수 있죠. 간단히 생각해서, 유니티에서 사용하는 여러 스크립트의 많은 U.. 더보기
유니티 2D UI - 대화창 구현하기! - SetSiblingIndex 와 이미지 순서 유니티 수업을 들으며 혼자서 진행하고 있는 프로젝트 입니다.2D슈팅게임이 목표엿는데요, 슈팅게임을 하다 보면 당연히 대화가 필요한 시점도 나오겠죠. 그래서 오늘은 한번 대화창을 제작해 보았습니다! ▲최종 결과물이라고 생각해 주시면 되겠습니다. (Gif 파일은 이상이 없는데 올리는 과정에서 뭔가 문제가 생기는지 화면이 자꾸 깨지네요) 1. 계획 세우기 단계. 대화창을 제작하기로 결정한 후, 대화창에 넣기로 한 필요 기능들은 다음과 같았습니다. ⓐ 사용할 때 해당 판넬이 앞으로 돌아나오며 하이라이트를 받도록 조정, 대화의 대상이 되는 1개 캐릭터만 제외하고 RGB컬러를 어둡게 맞춰주는 상태 (미세값 조정 예정 : RGB전부 대략 77정도가 적절해 보임) ⓑ 캐릭터 판넬은 1 판넬당 1캐릭터의 초상화를 표시하.. 더보기