유니티 [Unity] 타게팅 락온 저번 포스트에서는 마우스를 적 위에 올렸을 때 평소와는 다른 커서가 나오도록 설정했다. 이번 포스트에서는 적을 클릭했을 때의 행동을 정하도록 한다. 땅을 처음 클릭하고 마우스를 누르고 있는 상태에서 포인터를 움직이면 캐릭터가 포인터를 따라 움직여야 한다. 하지만 적을 처음 클릭했다면 마우스를 누르며 포인터를 움직여도 플레이어는 적에게 가도록 하고 싶다. 그러기 위해 먼저 코드를 수정해야 한다... 유니티MMO_UnityMMO_Unity [Unity] 적 생성 및 스탯, 마우스 커서 위 에셋을 적으로 사용했다. 위 에셋을 커서로 사용했다. 적과 플레이어의 전투를 위해 스탯을 관리하는 스크립트를 생성하도록 한다. 이제는 게임 내에서 적군을 클릭하거나 적군 위에 마우스를 올렸을 때의 경우를 따로 처리하고 싶다. 이를 위해 적군의 Layer를 Monster로 설정해준다. 그리고 기존의 Wall 레이어를 편의를 위해 이름을 Ground로 변경해 주었다. 코드 수정에 앞서, 에셋... 유니티MMO_UnityMMO_Unity [Unity] 플레이어 이동에 애니메이션 적용 마우스 클릭을 통해서만 플레이어가 이동을 하도록 변경하였다. 동시에 마우스 버튼을 누르고 있을 때도 플레이어 이동이 가능하도록 if (evt == press) 문을 삭제하였다. 기존 PlayerController의 Update()에서 사용되던 코드를 세부적으로 나눠서 UpdateMoving, UpdateIdle, UpdateDie에서 실행되도록 하였다. (State 패턴) 따라서 _movet... MMO_Unity유니티MMO_Unity [Unity] PoolManager 유니티에서 성능 향상을 위해 게임 내에 객체를 생성할 때 일일히 프리팹을 가져와 인스턴스화 하는것은 성능에 부하가 심하게 된다. 따라서 처음에 게임을 시작할 때 여러 개의 객체를 생성한 뒤, 그 객체들을 비활성화 했다가 필요시에 활성화를 하는 방법으로 성능 부하를 줄일 수 있다. 스택을 사용해서 풀링할 오브젝트를 관리한다. 먼저 Pool이라는 클래스를 생성, 풀링과 관련된 함수들을 정의한 뒤... MMO_Unity유니티MMO_Unity [Unity] UI 자동화 앞선 게시글에서 말했듯이 UI를 툴 상에서 드래그&드롭으로 설정한다면 프로젝트 규모가 커질수록 단점이 많아지게 된다. 그렇기 때문에 UI를 코드 상에서 자동화 할 필요성이 있다. UI의 클릭과 드래그를 구분하기 위해 Define.cs에 UIEvent라는 enum을 추가했다. Bind()를 통해 UI의 정보를 저장, Get()을 통해 정보를 가져온다. AddUIEvent()를 통해 UI 이벤트... MMO_Unity유니티MMO_Unity [Unity] 인벤토리 만들기 UI_Base를 상속받아 사용하면서 override 된 init()을 사용한다. 기존 UI_Base에는 init()함수가 없었기 때문에 UI_Base 클래스를 추상 클래스로 변경하고 abstract init() 함수를 추가했다.... MMO_Unity유니티MMO_Unity 유니티 오늘의 에러 26분 짜리 강의를 난 1시간 넘게 붙잡고 있었다... 하하! 상황 설명 슈팅 게임인데, 플레이어에게 발사된 총알이 플레이어의 콜라이더를 인식하여 플레이어의 체력을 깍고 있었다. 이렇게 플레이어의 자식 객체에 콜라이더를 넣어주었다 Bullet.cs에서 총알과 오브젝트의 충돌을 관여하는 부분 코드 해결 총알이 충돌 할때 받아오는 콜라이더의 부모객체와, 총알이 발사되는 오브젝트(플레이어)를 비교... 에러유니티에러 [Unity] SoundManager 사운드 리소스들을 BGM, Effect 등으로 구분하여 관리하기 위한 배열 하나와 코드의 최적화를 위한 Dictionary 타입 변수 하나를 선언했다. 위에 선언한 배열과 함수 내에서 선언한 배열을 사용해 게임 실행 시 @sound라는 컴포넌트를 생성하도록 한다. path를 인자로 받아서 오디오 클립을 불러오는 함수와 오디오 클립 자체를 인자로 받는 함수를 작성했다. 인자로 받은 type의 ... 유니티MMO_UnityMMO_Unity Unity 2D 2. Number Wizard 이름만 듣고 이게 뭐지 싶겠지만, 범위내의 숫자를 예측하고 그 값을 바탕으로 큰지, 작은지를 판단하여 맞추는 게임이다. Scripts 는 Scene을 불러오기위한 SceneLoader 스크립트와 게임플레이를 위한 NumberWizard 스크립트 2개가 존재하고 나머지 UI및 텍스트 디자인은 무료폰트 및 TextMeshPro를 통해 해결하였다. Higer, Lower 버튼이 눌러졌을 때, 그 ... 게임개발유니티게임개발 2D 플레이어 점프 구현 플레이어의 점프를 구현해보자 에셋은 골드메탈 에셋을 사용했다. 먼저 Update문에서 jumpCheck함수를 돌린다. jumpCount 변수를 이용해서(값 2) 2단 점프 이상은 하지 못하게 막을 것 이다. Raycast로 땅 체크 AddForce 특성상 힘을 가하면 계속 쭉쭉쭉쭉 가해지기 때문에 중간에 진정(?) 시키지 않으면 총알보다 빠른 속도로 슝 지붕 킥 할 수 있다. 이를 막기 위해... 유니티유니티 [유니티 입문 강좌] part3 리지드바디 Rigidbody: 물리효과를 구현해줌 Use Gravity: 중력효과 Mass: 질량, 큰 쪽이 작은 쪽을 밀어버림 Drag: 저항, 0일때는 빨리 떨어지고 10일 때는 천천히 떨어짐 Angular Drag: 회전값에 대한 저항, 빠르게 움직높으면 빠르게 회적이 멈춤 Is Kinematic: 물리효과를 없앰 , 체크하면 중력 등 적용 x Interpolate: 이전 프레임의 움직임을 통해 ... Unity졸업프로젝트유니티입문Unity 유닛과 대화할 수 있는 앱을 만들어 봤어요. 여러 가지 웹사이트를 다 봤어요. Talk API는 Chatbot을 생성하는 API입니다.Recurrent Neural Network(LSTM)의 입력 문구를 사용하여 응답 문구를 생성하여 발생하는 일상적인 대화 응답 기능을 제공합니다.Talk API의 Chatbot을 사용하면 다양한 앱에서 자동으로 사용자와 대화할 수 있고, 언제든지 사용자의 질문에 즉시 응답할 수 있다. 이걸로 여자랑 대... 유니티 소스Unity유니티
[Unity] 타게팅 락온 저번 포스트에서는 마우스를 적 위에 올렸을 때 평소와는 다른 커서가 나오도록 설정했다. 이번 포스트에서는 적을 클릭했을 때의 행동을 정하도록 한다. 땅을 처음 클릭하고 마우스를 누르고 있는 상태에서 포인터를 움직이면 캐릭터가 포인터를 따라 움직여야 한다. 하지만 적을 처음 클릭했다면 마우스를 누르며 포인터를 움직여도 플레이어는 적에게 가도록 하고 싶다. 그러기 위해 먼저 코드를 수정해야 한다... 유니티MMO_UnityMMO_Unity [Unity] 적 생성 및 스탯, 마우스 커서 위 에셋을 적으로 사용했다. 위 에셋을 커서로 사용했다. 적과 플레이어의 전투를 위해 스탯을 관리하는 스크립트를 생성하도록 한다. 이제는 게임 내에서 적군을 클릭하거나 적군 위에 마우스를 올렸을 때의 경우를 따로 처리하고 싶다. 이를 위해 적군의 Layer를 Monster로 설정해준다. 그리고 기존의 Wall 레이어를 편의를 위해 이름을 Ground로 변경해 주었다. 코드 수정에 앞서, 에셋... 유니티MMO_UnityMMO_Unity [Unity] 플레이어 이동에 애니메이션 적용 마우스 클릭을 통해서만 플레이어가 이동을 하도록 변경하였다. 동시에 마우스 버튼을 누르고 있을 때도 플레이어 이동이 가능하도록 if (evt == press) 문을 삭제하였다. 기존 PlayerController의 Update()에서 사용되던 코드를 세부적으로 나눠서 UpdateMoving, UpdateIdle, UpdateDie에서 실행되도록 하였다. (State 패턴) 따라서 _movet... MMO_Unity유니티MMO_Unity [Unity] PoolManager 유니티에서 성능 향상을 위해 게임 내에 객체를 생성할 때 일일히 프리팹을 가져와 인스턴스화 하는것은 성능에 부하가 심하게 된다. 따라서 처음에 게임을 시작할 때 여러 개의 객체를 생성한 뒤, 그 객체들을 비활성화 했다가 필요시에 활성화를 하는 방법으로 성능 부하를 줄일 수 있다. 스택을 사용해서 풀링할 오브젝트를 관리한다. 먼저 Pool이라는 클래스를 생성, 풀링과 관련된 함수들을 정의한 뒤... MMO_Unity유니티MMO_Unity [Unity] UI 자동화 앞선 게시글에서 말했듯이 UI를 툴 상에서 드래그&드롭으로 설정한다면 프로젝트 규모가 커질수록 단점이 많아지게 된다. 그렇기 때문에 UI를 코드 상에서 자동화 할 필요성이 있다. UI의 클릭과 드래그를 구분하기 위해 Define.cs에 UIEvent라는 enum을 추가했다. Bind()를 통해 UI의 정보를 저장, Get()을 통해 정보를 가져온다. AddUIEvent()를 통해 UI 이벤트... MMO_Unity유니티MMO_Unity [Unity] 인벤토리 만들기 UI_Base를 상속받아 사용하면서 override 된 init()을 사용한다. 기존 UI_Base에는 init()함수가 없었기 때문에 UI_Base 클래스를 추상 클래스로 변경하고 abstract init() 함수를 추가했다.... MMO_Unity유니티MMO_Unity 유니티 오늘의 에러 26분 짜리 강의를 난 1시간 넘게 붙잡고 있었다... 하하! 상황 설명 슈팅 게임인데, 플레이어에게 발사된 총알이 플레이어의 콜라이더를 인식하여 플레이어의 체력을 깍고 있었다. 이렇게 플레이어의 자식 객체에 콜라이더를 넣어주었다 Bullet.cs에서 총알과 오브젝트의 충돌을 관여하는 부분 코드 해결 총알이 충돌 할때 받아오는 콜라이더의 부모객체와, 총알이 발사되는 오브젝트(플레이어)를 비교... 에러유니티에러 [Unity] SoundManager 사운드 리소스들을 BGM, Effect 등으로 구분하여 관리하기 위한 배열 하나와 코드의 최적화를 위한 Dictionary 타입 변수 하나를 선언했다. 위에 선언한 배열과 함수 내에서 선언한 배열을 사용해 게임 실행 시 @sound라는 컴포넌트를 생성하도록 한다. path를 인자로 받아서 오디오 클립을 불러오는 함수와 오디오 클립 자체를 인자로 받는 함수를 작성했다. 인자로 받은 type의 ... 유니티MMO_UnityMMO_Unity Unity 2D 2. Number Wizard 이름만 듣고 이게 뭐지 싶겠지만, 범위내의 숫자를 예측하고 그 값을 바탕으로 큰지, 작은지를 판단하여 맞추는 게임이다. Scripts 는 Scene을 불러오기위한 SceneLoader 스크립트와 게임플레이를 위한 NumberWizard 스크립트 2개가 존재하고 나머지 UI및 텍스트 디자인은 무료폰트 및 TextMeshPro를 통해 해결하였다. Higer, Lower 버튼이 눌러졌을 때, 그 ... 게임개발유니티게임개발 2D 플레이어 점프 구현 플레이어의 점프를 구현해보자 에셋은 골드메탈 에셋을 사용했다. 먼저 Update문에서 jumpCheck함수를 돌린다. jumpCount 변수를 이용해서(값 2) 2단 점프 이상은 하지 못하게 막을 것 이다. Raycast로 땅 체크 AddForce 특성상 힘을 가하면 계속 쭉쭉쭉쭉 가해지기 때문에 중간에 진정(?) 시키지 않으면 총알보다 빠른 속도로 슝 지붕 킥 할 수 있다. 이를 막기 위해... 유니티유니티 [유니티 입문 강좌] part3 리지드바디 Rigidbody: 물리효과를 구현해줌 Use Gravity: 중력효과 Mass: 질량, 큰 쪽이 작은 쪽을 밀어버림 Drag: 저항, 0일때는 빨리 떨어지고 10일 때는 천천히 떨어짐 Angular Drag: 회전값에 대한 저항, 빠르게 움직높으면 빠르게 회적이 멈춤 Is Kinematic: 물리효과를 없앰 , 체크하면 중력 등 적용 x Interpolate: 이전 프레임의 움직임을 통해 ... Unity졸업프로젝트유니티입문Unity 유닛과 대화할 수 있는 앱을 만들어 봤어요. 여러 가지 웹사이트를 다 봤어요. Talk API는 Chatbot을 생성하는 API입니다.Recurrent Neural Network(LSTM)의 입력 문구를 사용하여 응답 문구를 생성하여 발생하는 일상적인 대화 응답 기능을 제공합니다.Talk API의 Chatbot을 사용하면 다양한 앱에서 자동으로 사용자와 대화할 수 있고, 언제든지 사용자의 질문에 즉시 응답할 수 있다. 이걸로 여자랑 대... 유니티 소스Unity유니티