본문 바로가기

Unity/Unity2D_TopDown

(17)
Unity2D-Top_Down - 모바일빌드하기 1.UI 스케일링 (1) - Canvas 오브젝트의 속성에서 Canvas Scaler로 UI의 크기와 스크린해상도에 따른 비율등을 조절한다 - UI Scale Mode 를 Scale With Screen Size로 두고 - Reference Resolution 과 Secreen Match Mode, Match등을 조절하여 적절한 UI를 만든다 2. 안드로이드 모바일 빌드 (1) - File -> Build Settings에서 기존 PC, Mac & Linux Standalone 에서 Android로 Swich Platform을 한다 (2) - (1) 에서 좌측 하단에 Player Settings 버튼을 누르면 우리가 App을 뽑아내기위해 설정해야 할 옵션들이 나온다 - 먼저 Default Icon을 이미..
Unity2D-Top_Down - 모바일Ui(방향키) 1. 모바일UI구성 (1) - 이미지Sprite border중 하얀배경과 검정배경 스프라이트는 늘려서 사용할 예정이기 때문에 이미지가 늘어나도 양 끝이 뭉게지지 않도록 border를 T: 3, B: 4로 잘라준다 (2) - Canvas 계층구조 아래 controler Image를 만들어 검정배경을 깔고 그안에 빈 오브젝트 두개를 생성하여 각 각 diretionKey, EnterAndBack 으로 이름을 정정 후 각 각 비어있는 오브젝트 안에 적절한 image UI를 배치한다 (3) - 화면 비율을 9:19(최근 모바일 화면 비율)로 조정해보고 Main Camera의 Pixel Perfect Camera와 함께 조정해보면서 알맞은 미리보기 Game화면 비율을 찾아본다 2. 모바일 방향키UI 관련 코드 작성..
Unity2D-Top_Down - 게임관리UI(계속하기, 종료하기, 저장하기) 만들기 1. 게임관리UI - 계속하기 - 만들기 (1). 계층구조 UI 오브젝트 생성하기 - blackBack이라는 Image UI를 만들어 화면을 덮고 검정색으로 바꾼후 투명도를 주고 - 그안에 Image와 Button UI로 아래처럼 만든다 (2). 게임매니져 스크립트 코드 작성 - public으로 GameObject blackBack을 주고 해당 오브젝트를 드래그 앤 드랍한 후 - esc를 눌렀을때 켜지고 꺼지는 기능을 구현 *gameObject.activeSelf = 현재 자신이 활성화상태면 true, 비활성화상태면 false를 리턴 (3). 계속하기를 눌렀을때 blackBack UI 끄기 - 계속하기 text가 포함된 Button UI Object를 클릭하고 속성 하단에 On Click()을 이용 - ..
Unity2D_TopDown - 대화애니메이션 1. 대화창 속 대화 text가 한글자식 차례대로 나오는 애니메이션 코드로 구현하기 -TalkEffect 스크립트를 생성후 계층구조 UI안의 Text 오브젝트에 드래그앤 드랍 - TalkEffect 스크립트 작성 *애니메이션 효과를 코드로 나타내기 위해서는 아래와 같이 데이터 셋팅, EffectStrat(), Effecting(), EffectEnd() 처럼 세가지 동작함수로 나누어 구현한다 *msgData[presentMsgIndex] --> msgData는 string이다 만약 "ABC" 라면 msgData[0]은 "A"가 된다 즉 string자료형을 하나의 배열이라고 보고 string의 원소를 char자료형으로 보도록 C#언어가 구현되어 있다 - GameManigerScript에서 실행코드 작성 -..
Unity2D_TopDown - 초상화애니메이션 1. 초상화 이펙트 (1) - potraitAnimator 와 potraitAnimation 생성 (2) - 비어있는 New State 를 기본 상태로 지정, 위에서 생성한 PotraitAnimation을 Animator 창으로 드래그 앤 드랍 - doEffect Trigger 파라미터를 생성하고 - Transition을 아래와같이 구성 -New State-> PotraitAnim 의 Conditions에 doEffect 추가, Has Exit Time 체크해제, Transition Duration 0 설정 -PotraitAnim -> New State의 Conditions은 빈상태로 , Has Exit Time 체크, Transition Duration 0 설정 *이렇게 하면 doEffect Trigg..
Unity2D_TopDown - 대화창애니메이션 1. 애니메이터와 애니메이션 생성 (1) - Image Animator 1개와 ImageUP Animation, Image Animation 2개를 생성한다 2. 애니메이터 관리 (1) - Image 오브젝트의 Animator 속성 안으로 Image Animater를 드래그앤 드랍 하고 (2) - Empty state를 만들어 놓고 1에서 만든 2개의 애니메이션을 애니메이터 안으로 드래그 앤 드랍한다 (3) - 아래와 같은 연결구조를 만들어 주고 isShow라는 bool값의 파라미터를 만들어 (4) - 기존 Empty 상태에서 isShow가 true일때 ImageUP애니메이션이 활성화 되도록하고 (5) - isShow가 false일때 ImageDown 애니메이션이 활성화 되도록 한다 3. 애니메이션 관리..
Unity2D_TopDown - 퀘스트구현(3) 2. 퀘스트 진행시키기 (1) - 퀘스트 이름을 수정하고 동전줍기 퀘스트를 구현하기 위해 동전오브젝트를 만들고 id를 5000번을 준다 (2) 게임오브젝트 배열을 만들어 QuestManiger에 public으로 배열 크기를 1로 정해주고 위에서 생성한 coin 오브젝트를 드래그앤 드랍한다 (3) - QuestObject 함수로 coin 오브젝트를 관리한다 -10번 퀘스트이면서 questIndex가 2 즉 레이와 대화하기 퀘스트를 진행중이면서 10번 퀘스트 관련NPC 중 두번째 NPC인 2000번NPC와의 대화가 끝나면서 qeustIndex가 증가하여 2가 될때 동전오브젝트를 활성화하고 - 20번 퀘스트이면서 해당 동전(id 5000)과 대화를 하여 questIndex가 1로 증가하면 동전오브젝트를 비활성..
Unity2D_TopDown - 퀘스트구현(2) 이전까지 퀘스트id 에 따라 npc의 대사가 다르게 나오도록 설정했다 1. 이제 퀘스트id를 받은 상태일때 퀘스트id와 관련된 NPC들에게 순차적으로 대화를 걸도록 하게 만들자 (1) - int questIndex 변수를 추가 (2) - QuestId함수에 리턴값으로 questid + questIndex(기본값 0)을 줌 (3) - GameManigerScript에서 대화가 끝날때 만약 QuestId함수에 들어온 npcid 값이 qeuestData의 첫번째원소인 1000과 같다면 questIndex값을 1올리는 함수인 QuestIndexPlus()함수 (4) - TalkManigerScript에서 10번 퀘스트와 관련된 NPC중 순서에 맞게 첫번째 원소NPC와 대화함으로써 questIndex가 1이 증가..