유니티

(유니티) 로드 기능으로 다른 씬을 불러오기

  • DKLaw 

게임에서 필수적으로 요구되는 기능은 세이브/로드입니다. 하지만 이게 구현하기가 상당히 귀찮습니다. 보통 다들 Brackey나 유니티 공식 튜터리얼을 참고하여 세이브 기능을 구현 할 것입니다 . 참고 Brackey 강의 : https://www.youtube.com/watch?v=XOjd_qU2Ido&t=521s 이러한 강의는 한번 들어볼 필요는 있습니다. 왜냐하면 Serialization 하는 방법도 알게 되고, 어떻게 IO를 호출하는지도 알게되니까요. 근데 아무래도 직접 구현하려다 보면 할게 너무 많습니다. 특히 유니티 특유의 자료형들인 Vector3 등은 c#에서 공식적으로 지원하는 자료형이 아니므로 일일히 분해해서(Flaot 3개) 저장해줘야 합니다. 특히 플레이어의… 더 보기 »(유니티) 로드 기능으로 다른 씬을 불러오기

자유의 나라 – 데모 화면

  • DKLaw 

1. 시놉시스 돼지 일당은 악마와의 계약을 통해 운동권이라는 사파의 무술을 배우게 됩니다. 운동권을 통해 돼지 일당은 선량한 시민들을 개, 돼지, 가재, 붕어, 개구리로 만들었습니다. 정의의 대가리 깨기 무술을 통해 선량한 시민들에게 자유를 되돌려 주세요. 2. 주요 캐릭터 북쪽돼지 : 최종보스 . 악마에게서 운동권이라는 요술을 배웠다 . 돼지 : 주로 남자 시민들이 변한 종족이다. 흔한 에네미 중 하나다. 지능은 딸리나 체력이 강하다. 킹크랩 : 간부급 악당이다. 댓글이라는 무기를 발사한다. 징그럽게 생겼다.… 더 보기 »자유의 나라 – 데모 화면

캐릭터슬라이딩

(유니티) 캐릭터 슬라이딩 구현하기

  • DKLaw 

경사로에서는 슬라이딩을 하면 멋지겠죠? 슈퍼마리오에서 마리오의 슬라이딩처럼 말이죠. 이렇게요. 1. 경사로 파악하기 경사로 타일을 별도의 레이어(저의 경우에는 “Ground”)로 지정한다음. 경사로를 레이캐스트 해서, 경사로의 각도를 구합니다. 2. 경사로에서 플레이어 이동시키기 별도의 경사로 전용 무브 함수를 만들어서 경사로에서는 플레이어를 훨씬 빠르게 이동시키게 합니다. 3. 경사로에서 아래키를 누른 경우 경사로 전용 움직임 일어나게 하기 입력 컨트롤 소스 파일에는 다음과 같이 경사로로 파악된 경우, 아래방향키를 누르면 경사로 전용 움직이기를 실행하게 합니다. 4. 참고 각… 더 보기 »(유니티) 캐릭터 슬라이딩 구현하기

(유니티) 절대 위치 움직이기와 상대 위치 움직이기

  • DKLaw 

유니티의 transform을 움질일 때는 물리법칙을 이용하지 않는 경우 당연히 translate를 이용합니다. 그러나 이는 상대적인 위치를 바꾸는 함수입니다. 따라서 플레이어가 rotation을 바꾸었다면, 그에 따라 방향이 바뀌겠죠. 만약 어떤 물체 위에 있는 캐릭터를 물체와 같이 움직이게 하려면, 절대 값을 움직여야 합니다. 플레이어에게 회전을 준 경우에는 말이죠. 전 플레이어가 왼쪽과 오른쪽을 볼 때마다 rotation을 바꾸도록 하였거든요. 이 때는 translate가 아니라 rotation으로 플레이어를 같이 움직이게 해야 합니다. 이렇게요.

오디오소스시리얼라이즈

(유니티) 사운드 파일을 인스펙터에서 효과적으로 정리하기

  • DKLaw 

기본 유니티 강의는 오디오 소스를 인스펙터에 추가하는 것으로 나옵니다. 그런데 오디오 소스가 많아지면 어떤 사운드가 어떤 오디오 소스에 연결되었는지 헷갈려집니다. 인스펙터에는 오디오 소스에 연결된 오디오 클립의 이름도 접혀진 상태에서는 안보이므로 난감하죠. 따라서 스크립트에 오디오 클립의 이름과 파일을 효과적으로 정리할 수 있게 해주는 작업이 필요합니다. 이렇게요. 1. 클래스 만들기 일단 인스펙터에 들어갈 자료형이 필요하므로 클래스를 만듭시다. 전 “audioserial.cs”파일을 이렇게 만들었습니다. 2. 플레이어 스크립트에 선언 플레이어 무브먼트 스크립에 다음과 같이 선언합니다. 여기서… 더 보기 »(유니티) 사운드 파일을 인스펙터에서 효과적으로 정리하기

(유니티)에네미가 장애물에 걸린 경우 방향 바꿔서 움직이게 하기

  • DKLaw 

경로를 지정한 에네미가 장애물에 걸린 경우에 대한 이벤트를 걸어주지 않으면 마냥 갇혀 있게 됩니다. 따라서 장애물에 걸린 경우 방향을 바꾸도록 이벤트를 설정해줘야 합니다. 이 경우에는 컬리젼으로 장애물에 부딪히는 것을 판단해주면 되겠죠. 그리고 리지드바디는 addfoce를 이용하도록 합니다. 기존 애니메이션을 건드리지 않도록 말이죠.

(유니티) 움직이는 플랫폼 위에 주인공도 같이 움직이게 할 때

  • DKLaw 

움직이는 플랫폼 위에 주인공이 타 있는 경우, 플램폿과 주인공이 같이 움직여야 할 것입니다. 이렇게요. 그런데 단순히 플랫폼만 움직여주는 코드를 구현하면 당연하게도 주인공은 같이 움직이지 않습니다. 그렇다고 일일히 콜라이더로 플레이어 판단을 해주자니, 매번 오브젝트를 만들 때마다 콜라이더 크기도 정해줘야 하고, 플레이어가 오브젝트보다 약간 붕 떠 있고… 고민이 많을 겁니다. 이럴 떈 레이어 마스클 이용하여 플레이어가 오브젝트 위에 있는 판정을 내려주면 됩니다. 즉, 플레이어의 레이어를 ‘Player’로 설정해 놓았다면, 오브젝트에게는 플레이어 레이어를 터치하는… 더 보기 »(유니티) 움직이는 플랫폼 위에 주인공도 같이 움직이게 할 때