본문 바로가기
반응형

예제8

C# 유니티 공부 28 - 디펜스 게임 최종. (UI Fade in/out, 체력 바 생성, 업그레이드, 상점판매, 파티클 공격 로직, 디펜스 게임 적 생성 로직) * UI 생성. (OverlayCansvas, TopCanvas, BottomCanvas, MenuCanvas, PasuedMenu, Upgrade&Sell UI 등) - Vertical. Horizontal Layout Group - Canvas Group 으로 투명도(a값) 등 애니메이션 생성 가능. - Canvas가 여러 개 있어서 오브젝트 클릭이 안될 때는, 방해되는 Canvas의 Graphic Raycast를 없애주면 된다. 1) 체력 바 생성. - UI의 Image type을 fill로 바꿔주어 fillAmount를 통하여 체력바 감소 구현. - Enemy Prefab에 적용시켜 줌. 2) UI 전환 시, FadeIn/Out 효과 구현. - Canvas에 검정색의 Image를 생성. - Sce.. 2023. 1. 2.
C# 유니티 공부 21 - 3D 쿼터뷰 예제3 (CoRutine코루틴, TrailRenderer, 물리 오류 해결, 원거리 공격, 근접 공격, 몬스터 피격) ★ 코루틴 메인루틴 Use() -> 서브루틴 일반함수 -> 메인루딘 use() -------> 반복. 메인루틴 Use() + 코루틴 -> 서브루틴 일반함수 -> 메인루틴 Use() + 코루틴 ------> 반복 코루틴은 이와 같이 생성. IEnumerator 함수명(){} 함수 내부에 yield return null 으로 1프레임 대기를 걸 수 있다. yield return new waitForSeconds(시간/s) 은 시간만큼 대기를 걸 수 있다. 코루틴 함수를 실행하는 방법은 StartCoroutine(함수명()) 혹은 StartCoroutine("함수명")이다. 반대로 StopCoroutine은 멈추는 방법이다. * 근접 공격 - 무기의 충돌 오브젝트 범위 생성. (Colider 범위 조절) - .. 2022. 12. 21.
C# 유니티 공부 20 - 3D 쿼터뷰 예제2 (무기 스왑, 아이템 공전효과, Light& Particle 컴포넌트) * 무기, 아이템 프리펩 생성. - item 스크립트 생성하여 무기, 아이템에 스크립트 컴포넌트 넣어줌. - item 스크립트에서 enum 열거형 데이터 타입 생성. - 아이템 자체 회전 함수 적용. Rotate().. Vector3.up 축을 기준과 속도로 회전. - 플레이어 스크립트에서 아이템 관련 변수 생성. - 아이템에 충돌했을 때, 아이템을 먹어주는 OnTriggerEnter 함수 생성. - 아이템과 무기에 각 해당하는 태그를 넣어주고, 인스펙터창 조절해준다음 프리펩으로 생성. * 무기 스왑. - 상호작용 및 무기 스왑에 필요한 변수 생성. - 상호작용 함수 생성. - 무기에 충돌하였을 때, 상호작용 키를 누르면 발생하는 OnTriggerStay, OntriggerExit 함수 생성. (프리펩 .. 2022. 12. 20.
C# 유니티 공부 19 - 3D 쿼터뷰 예제 (캐릭터 생성 및 동작, 키보드 더블 클릭 구현, 카메라 위치 고정) * 3D 필드 생성. - Mesh Renderer를 비활성화 하면 시각적으로만 보이지 않을 뿐, 충돌 효과(Colider)는 유지된다. - Tiling으로 Metrial 갯수를 행, 열로 증가시켜 적용 가능. - FixedUpdate와 Update간의 근소한 프레임 차이로 플레이어와 벽의 물리충돌이 무시 될 때가 있는데, 그럴 때는 rigidbody의 collision Detection을 Continous로 변경해놓으면 좋음. (대신 CPU가 더 많이 사용됨.) * 메인 카메라 좌표 고정 - 카메라 수동으로 첫 위치 조정. - target(플레이어)과 offset(보정치) 변수를 Public으로 호출. (public 값은 카메라의 위치를 적어주고, 플레이어를 드래그앤드롭해줌.) - 카메라 포지션을 tar.. 2022. 12. 19.
C# 유니티 공부 17 - 2D 슈팅 예제(보스 생성, 보스 총알 패턴, 삼각함수 계산.) * 보스 생성 후 정지. - Enable에서 Invoke를 이용하여 Stop 함수 실행. - Stop 함수는 새로 생성. (vector를 제로로 만들어 주면 됨.) * 보스 총알 발사 로직. 0. 발사 준비. - 변수 생성. - Stop 함수에서 Think 함수를 Invoke 시켜 놓음. - Think 함수는 patternIndex라는 변수에 따라 보스 공격을 실행시킴. - 공격 패턴에 따라서 다양한 함수 생성. - 공격 패턴 함수 내에 아래 로직을 포함시켜, 공격이 순환되도록 함. curPatterCount++; if (curPatterCount 2022. 12. 17.
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# 유니티 공부 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# 유니티 공부 5 - 예제 프로젝트 (3d 물리 이동, Scene 전환, UI, 사운드 삽입, 카메라 이동) * Player 1) 무한 점프 제한 - 계산기의 IsNewNum 응용. - Isjump라는 bool형 변수를 생성하여 활용. - Public Float jumpPower를 유니티상에서 조절할 수 있게 하였지만, 그냥 코드에 숫자를 집어넣어도 됨. 2) 상하좌우 이동 Vector3 vec = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); rigid.AddForce(vec * 30 * Time.deltaTime, ForceMode.Impulse); vec라는 Vector3 변수를 생성. AddForce()에서 vec를 적용해줌. (vec만큼의 힘을 가하는 함수.) 3) item 먹을 때, 효과음 발생. - 컴포넌트의 Audi.. 2022. 12. 5.
반응형