본문 바로가기

Unity/Unity2D_TopDown

(17)
Unity2D_TopDown - 퀘스트구현(1) 1.퀘스트데이터 스크립트 (string 퀘스트 이름, int[] 퀘스트와 관련된 npc id 배열) 2.퀘스트매니저 스크립트(int 퀘스트 아이디 관리) 생성 및 오브젝트 생성 3. 딕셔너리를 만든다 퀘스트id에 대응하는 정보로 퀘스트의 이름 그리고 퀘스트와 관련된 npc들의 id를 가져온다 *하나의 id 정보에 대응하는 정보로 단일 정보를 가져올 수도 배열의 정보를 가져올 수도 있다 또한 그 이상의 정보를 가져올 수도 있는데 예제와 같이 퀘스트id라는 정보하나로 이에 대응하는 퀘스트이름과, 퀘스트와관련된 npc들의 정보를 가져오고 싶을때 단일정보 + 클래스 생성으로 인스턴스객체를 가져올 수 도 있다 또한 클래스의 필드를 단일자료형 뿐만아니라 배열을 만들 수도 인스턴스객체로 그 배열을 바로 초기화할 수도..
Unity2D_TopDown - 초상화 애니매이션 1. 초상화관련 이미지 오브젝트 생성 (1) - 8개의 이미지가 들어가 있는 sprite를 pixel per unit = 24로 설정하고 34x46크기로 자른다 (2) - 판넬Image 오브젝트 안에 새로운 image오브젝트를 생성(Potrait) (3) - Rect Transform를 shift와 alt키를 이요하여 오른쪽아래로 위치하게 해주고 이지미 크기를 조정 2.스크립트 작성 (1) - GameManigerScript 상단에 public Image potrait;를 선언하고 GameManiger 안으로 Potrait 오브젝트를 드래그앤 드랍 (2) - 플레이어가 스캔한 오브젝트가 NPC 인경우 위에서 설정한 Potrait가 보이도록 색을 조정 (3) - NPC 가 아닌경우 Potrait 이미지를 ..
Unity2D_TopDown - 대화시스템구현 1.NPC A ~ Ston 오브젝트안에 고유id부여 및 NPC여부 체크 (1) - 1.NPC A ~ Ston 오브젝트안에 ObImpor 스크립트를 생성하여 드래그앤 드랍 2. TalkManiger 오브젝트 생성 및 TalkManigerScript 생성, 스크립트 구현 (1) - TalkManiger 오브젝트 생성 (2) - TalkManigerScript 구현 - Dictionary 사용 3.GameManigerScript에서 isAction 관리를 통해 대화창 제어 - 목적 : 예를 들어 NPC A를 스캔 했을때 isAction이 true가 되어 판넬이 켜지고 TalkManigerScript에 있는 dictionary안의 데이터를 NPC A 가 가진 id 값을 통해서 가져와 대화창에 배열의 크기만큼 스..
Unity2D_TopDown -UI (3) Ui 커서 애니메이션 1. Ui 커서 애니메이션 - 하나의 이미지를 위치조정만으로 애니메이션을 나타낼때 쓰는 방법 (1) -Image 오브젝트 안에 또하나의 Image오브젝트를 생성하고 TalkEnd로 rename (2) - 화살표 스트라이프를 Source Image에 드래그앤 드랍 하고 (3) - Set Native Size로 원본크로 맞추어준다음 (4) - Scale조정을 통해 비율을 유지한상태로 크기를 살짝 키워주고 (5) - Transform을 shith와 alt를 동시에 눌러 우측 하단에 위치시킨다 (6) - 이 후 pos X 와 pos Y로 여백조정 (1) - TalkEnd Image 오브젝트 inspector에에 Animater 속성을 추가 하고 (2) - Assets - Animation 폴더에서 animato..
Unity2D_TopDown -UI (2) 판넬Ui 껏다 켜기 3. 판넬이 없는 상태에서 -> 스페이스바 눌러서 스캔하면 -> talkPanel 뜨고 -> 방향키 다 먹통 -> 다시 스페이스바 눌르면 talkPanel 사라짐 구현 3-1 : 방법(1) PlayerMove에 bool값 stopAction 선언 및 stopAction이 true면 플레이어 이동이 먹통이 되도록 삼항 연산자 이용 스캔할 물체 앞에서 스페이스 바를 눌렀을때 GameManigerScript로 전해지는 매개변수로 stopAction 추가 GameManiger 오브젝트의 Public PlayerMove에 Player 오브젝트 드래그앤 드랍 3-2 : 방법(2) 최초 계층구조에서 Image를 비활성화 하고 시작 리펙토링 *결론적으로 단순히 키를 눌렀을때와 같이 어떠한 부가적인 조건이 없는 상태에서..
Unity2D_TopDown - UI(1) 기본셋팅 2D Pixel Perfect Camere 참고 : blogs.unity3d.com/kr/2019/03/13/2d-pixel-perfect-how-to-set-up-your-unity-project-for-retro-8-bits-games/ 2D Pixel Perfect: How to set up your Unity project for retro 8-bit games2D 픽셀 퍼펙트: Unity로 레트로 8비트 게임 Retro games with simple mechanics and pixelated graphics can evoke fond memories for veteran gamers, while also being approachable to younger audiences. Nowadays,..
Unity2D_TopDown 십자이동 , 레이케스트(RayCast) 1.플레이어 십자이동 구현 2. 애니메이션 (1) - Asset에 Animation폴더 생성(2) - 애니메이션 스프라이트를 끌어다가 Player에게 드로그앤 드랍(3) - 아래와 같이 Make Transition 하고 각 트랜지션에* 겹치는 구간 없게 -> Transition Duration = 0 +Any state 에서 오른쪽 애니메이션인 player_right_walk state 로 가기위한 Transition 조건은 3번째 아래 스크린샷에 보이는 파라미터 HorizontalAnimation >0, isChanged true 일때 이다 나머지 방향도 같은원리 (4) - 플레이어 애니메이션 스크립트 작성 →입력h=1 ,HorizontalAnimation =0, h=1 따라서 isChanged = t..
Unity2D_TopDown - 타일애니매이션 및 콜라이더, 플레이어 기본설정 1.Rule Tile Animation - Rule Tile 생성 후 +표시 클릭항 Tiling Rules를 추가하고 Output을 Animation으로 주어 Size와 Speed등 설정 후 - 관련 애니메이션 이미지를 삽입 - 위 방법으로 만든 rule tile을 Tile Palette에 드래그앤 드롭하고 - 계층구조의 Tilemap 오브젝트를 클릭하고 격자무늬 Scene이 나오면 팔레트에서 Scene 화면으로 드래그 앤 드랍 2. 카메라 해상도 조절 - 픽셀 크기와 카메라 해상도가 맞지 않아서 아래와 같이 가운데에 줄이 그어져 있다 - Main Camera의 Inspector에서 컴포넌트로 Pixel Perfect Camera를 추가하고 - Assets Pixels Per Unit을 사용하고 있는 스..