본문 바로가기
반응형

2D8

C# 유니티 공부 17 - 2D 슈팅 예제(보스 생성, 보스 총알 패턴, 삼각함수 계산.) * 보스 생성 후 정지. - Enable에서 Invoke를 이용하여 Stop 함수 실행. - Stop 함수는 새로 생성. (vector를 제로로 만들어 주면 됨.) * 보스 총알 발사 로직. 0. 발사 준비. - 변수 생성. - Stop 함수에서 Think 함수를 Invoke 시켜 놓음. - Think 함수는 patternIndex라는 변수에 따라 보스 공격을 실행시킴. - 공격 패턴에 따라서 다양한 함수 생성. - 공격 패턴 함수 내에 아래 로직을 포함시켜, 공격이 순환되도록 함. curPatterCount++; if (curPatterCount 2022. 12. 17.
C# 유니티 공부 15 - 2D 슈팅 게임 예제. (아이템 획득 및 사용 로직, ★배경 패럴릭스/스크롤링 기법, ★오브젝트 풀링) * 아이템 획득 및 사용 로직 - 적 비행기 파괴 시에 생성되도록 설정. - 오브젝트 풀링 최적화로 Destroy가 아닌 SetActive로 설정. - random.ragne를 이용하여 아이템 생성 확률 조정. * 배경 원근법 (패럴릭스) - 배경 사진을 여러장 사용. - 가까운 배경그림은 속도를 빠르게, 멀리 있는 배경그림은 속도를 느리게 하여 원근법 효과 발생. (속도는 배경 스크립트를 생성하여 Public 변수로 설정.) - 횡스크롤 게임에서 주로 사용. * 배경 스크롤링 - 해당 종스크롤에서는 y축을 기준으로 하여 아래 배경을 위로 옮겨주어 무한적으로 배경을 만들어주는 방법. - 횡스크롤에서는 x축을 기준으로 하면 될듯. - 카메라 Size에 대한 이해 필요. - 로직에 대한 구제적인 이해 필요... 2022. 12. 16.
C# 유니티 공부 14 - 2D 슈팅 게임 예제. (Prefabs 프리펩, Instantiate함수, Destroy 함수) 0. 핵심.. Prefabs 사용(프리펩) - 이미지를 추가 후, 다시 Assets 창으로 옮겨주면 Prefabs 형태로 사용 가능. - 총알 발사 등, 여러 이미지가 들어가는 경우에 이미지를 직접 삽입할 필요가 없이 효율적으로 사용 가능. 1. 화면 비율 조정. - 모바일 빌드를 목표로 하였고, Aspect Ratio 9:19 비율로 제일 먼저 조정. 2. 비행기 움직임 및 비행기 애니메이션 3. 비행기 총알 발사 - Instantiate() 함수 이용 Instanitiate(생성되는 오브젝트 종류, 생성되는 오브젝트 위치, 생성되는 오브젝트의 회전) - 총알이 발사되는 속도는 아래 2가지 변수로 조정. public float MaxBulletSpeed; public float CurBulletSpee.. 2022. 12. 15.
C# 유니티 공부 12 - 키보드 타자 애니메이션(Typing), UI 대화창, 초상화 애니메이션 * 대화창 애니메이션 1) 대화창이 아래에서 위로 올라오는 애니메이션 - 애니메이터 하나 생성하여 대화UI에 추가. - 빈 애니메이션 생성하고 - 파라미터 bool 값 생성. (IsShow.... 보여주고있는가?) - 애니메이션 2개 더 생성. (토크중의 애니메이션 애니메이션 중지) - 대화창 아래로 내려놓기? (아래에서 위로 올라오는 애니메이션) - GameManger에 가서 애니메이션 코딩 진행. 기존 게임오브젝트에서 가져오던 talkpanel을 Animator에서 가져오는 것으로 변경. talkpanel.setbool("IsShow", isactuon... true인지 false이지...) - GameMager에서 Hiarachy 다시 집어넣어주기. (게임오브젝트에서 애니메이터로 변경했기 때문에) .. 2022. 12. 12.
C# 유니티 공부 11 - 퀘스트 코딩, 재귀함수, 오버로딩, Dictionary 활용. 1. 퀘스트 데이타, 스크립트 생성. (구조체) (상속 기능 필요없음.. 직접 불러서 쓸 것) - 퀘스트 네임, npc ID(배열) 2가지 변수 생성. - 구조체 생성을 위한 매개변수 생성자를 작성해주어야 함. pulbic 퀘스트데이타(퀘스트 네임, npc id) { 퀘스트네임 = 네임; npc id = npc; } 2. 퀘스트 매니저, 스크립트 생성. - 퀘스트ID 변수 생성. - Dictionary 퀘스트리스트(변수명) 생성. - 데이타 저장 함수 생성. - 데이타 저장 함수 내부에 Dictionary.Add 로 데이터 저장. 퀘스트리스트.Add(10, new 퀘스트데이타("퀘스트네임", new int []{npc id}) 이것을 사용하려면 구조체 생성자를 미리 작성해주어야 함. - int 퀘스트액션.. 2022. 12. 11.
C# 유니티 공부 8 - 2D 완성 (TileMap, 2D STAGE 전환, 코인 점수 획득, 버튼onclick함수) * 타일맵으로 맵 생성. - colider는 tilemap colider 사용 * stage 1, 2 생성. - stage 배열로 정의. - stage 1,2 각 활성화/비활성화로 다음 stage 진행. (플레이어의 시작 위치가 일정해야 함.) - 클리어 하였을 때는, 클리어 표시. - 실패하였을 때는 RETRY 버튼 표시. (클리어와 동일한 버튼 사용.) * 코인을 먹었을 때, 포인트 증가 함수. - 조건문으로 처리 * UI - 전체 점수 - 스테이지 점수 - 플레이어 생명 표시 * 플레이어 생명 감소시, UI표시 - 조건문으로 처리하였으나, 더 효율적인 방법이 있을 것 같음. (ex. 배열) * 사운드 - 사운드 함수를 생성하여 삽입. - 마지막 PLAY()함수를 잊지 않아야 함. 2022. 12. 8.
C# 유니티 공부 7 - 2D 제작(타일팔레트, 타일맵 생성 / 2D 카메라 설정피격 효과/적 제거 / 레이캐스트 활용 / Invoke함수 오류:함수위치, 코루틴 해결 ) 1. 타일팔레트 생성 Windows - 2D - tile palette 2. 타일맵생성 Hierachy - 2D Object - tilemap 3. 타일맵 콜라이더 2d 설정 4. 카메라 설정 - 카메라설정은 메인카메라를 플레이어에게 옮겨놓으면 됨. (1인칭시점 가능) 5. 경사면 콜라이더 범위 설정 - Sprite editor - physhics shape ediror Generator 가서 면적 조절... 보통 16픽셀×16픽셀 사이즈의 이미지를 사용하는데.. 너무 작아서 그럼.. 재적용하려면 타일팔레트에서부터 다시 적용해주어야함. 인공지능 적 만들기 애니메이션 설정.(플레이어와 동일) 1. 움직임. Rigid.vector3(x,y,z) 1. Random변수 Range(최소, 최대) 최소 이상, 최대.. 2022. 12. 6.
C# 유니티 공부 6 - 2D 제작(Spriter, 이미지 애니메이션 적용, 좌/우 이동, 2단 점프, 레이캐스트) 2d.... 1. spriter 생성 spriterender 2. 아틀라스?? 이미지 삽입 이미지 inspector에서 픽셀 수, 내가 사용하는 이미지에 맞추어서 수정. rigidbody, boxcolider (2d)로 삽입. 너무 작은 이미지의 경우 spriter간의 약간의 간극 발생. edit - project setting - Default Contact Offset 수정(최소 0.0001) ------------------------ 1. 아틀라스 자르는 법. 이미지 inspecotr에서 sprite editor 클릭. 2. sprite 애니메이션 만드는 법. 애니메이션으로 만들 이미지를 전체 클릭 후 , 드래그하여 player hierachy에 이동. 저장하면 애니메이션 자동 생성. window.. 2022. 12. 5.
반응형