유니티 22

유니티 06. Navigation Mesh 응용

Off Mesh Link- 사다리, 암벽과 같이 수직으로 올라가거나 내려오는 길.- 절벽 사이를 뛰엇 넘어가거나 낭떠러지 아래로 떨이지는 길과 같이 메시가 끊어져 있는 곳을 이동할 수 있게 설정.- 설정 방법 자동자동으로 Off Mesh Link를 설정할 오브젝트를 선택Navigation View - Object 탭의 "Generate OffMeshLinks" 체크Navigation View - Bake 탭의 낙하 높이, 점프 거리를 설정, "Bake"를 눌러 데이터 저장수동연결되는 두 지점으로 사용할 오브젝트 생성 및 설치Off mesh Link 컴포넌트를 생성하고 "Start", "End" 변수에 연결되는 두 지점 설정 구역 설정  - navigation area에 user3에 climb이라는 구역 ..

유니티 2024.05.15

유니티 06. Navigation Mesh 기초

Navigation Mesh- 게임월드에서 이동 가능 / 불가능 등의 경로를 데이터로 저장 - 해당 실습을 하기 위해 window > package manager > unity registry > Ai Navigation으로 다운받음.- 설치된 것을 확인했으면 navigation view를 위해 navigation mesh 설정.- 4개의 탭이 있음.Agent Type Agent Type- 에이전트 속성- 정보NameRadiusHeightStep HeightMax Slope Areas Type Name구역 이름으로 기본으로 (Not) Walkable, Jump가 제공 Cost구역과 함께 등록되며 이동하는데 소요되는 비용 Bake- 최근 버전에는 지원이 되지 않기에 NavMeshSurface compone..

유니티 2024.05.15

유니티 05. CharacterController 기반의 오브젝트 이동

CharacterController 컴포넌트- 3차원 게임에서 사람 형태의 캐릭터 움직임과 관련된 제어를 위해 사용.- 캡슐 형태의 충돌 범위가 포함됨.lope Limit : 올라갈 수 있는 경사 한계 각tep Offset : 설정 값보다 낮은 높이의 계단을 오를 수 있음.Center : Capsule 충돌 범위의 중심점Radius : Capsule 충돌 범위의 반지름Height : Capsule 충돌 범위의 높이 게임 월드 구성, 플레이어 캐릭터 제작- 배포가 되었던 패키지를 다운 받아 불러옴.- prefab의 gameworld를 hierarchy로 불러와 게임 월드 생성. - gameworld를 한 눈에 보기 위해 메인 카메라를 수정.- 수정한 후 player 캐릭터를 생성. Mesh Renderer..

유니티 2024.05.09

유니티 05. 2D Tilemap - Extras

2D 확장 기능- Unity Technologies github 계정에서 서칭하여 다운로드.- 최근 버전에는 패키지에 포함이 되어 tiles에 대한 정보와 brushes에 대한 상세한 정보가 있으나 예전 버전의 경우 없을 수 있으니 다운로드. - 충돌하면 사라지는 스크립트- coin 이미지를 적용한 Sprite를 생성하여 Circle Collider 2D와 위에 충돌하면 사라지는 스크립트를 추가.- 해당 sprites을 asset으로 이동시켜 prefab으로 진행 시 많은 오브젝트가 있을 경우 복잡해짐. Brushes - Prefab Brush- prefab을 tilemap 프로젝트에 쉽게 배치할 수 있는 기능.- prefab brush는 prefab에 하나를 동록해서 사용하는 것으로 tile palet..

유니티 2024.05.09

유니티 05. 2D Tilemap Editor

Tilemap이란?- 타일 형태의 리소스를 배치해 게임 월드를 표현하는 방법Tilemap Editor 구성 요소Tile PaletteTilemap 오브젝트에 배치할 Tile Asset들을 등록해두는 저장소팔레트에 있는 Tile Asset을 여러 속성에 따라 배치하거나 삭제 가능Tile Asset맵에 배치할 수 있는 하나의 타일Grid 오브젝트자식으로 배치되는 Tilemap 오브젝트들을 관리하는 역할Cell Layout, Cell Swizzle 정보를 이용해 배치되는 맵의 방식을 Rectangle, Hexagon, Isometric Z As Y등으로 설정 가능.Tilemap 오브젝트Tile Asset을 배치하는 공간으로 실제 게임에 보여지는 타일 형태의 게임 월드Grid 오브젝트의 자식으로 여러 개의 Ti..

유니티 2024.05.08

유니티 04. 2D 애니메이션 실습

플레이어 오브젝트에 이미지 분할- 이미지를 적용하여 Player Idle / Player Die 두개로 쪼개어 설정.- Player Idle의 이미지를 슬라이스하여 idle 이미지를 세 장으로 나눔. 애니메이션 재생 설정- project의 Animator controller을 적용하여 player 컨트롤러 변수에 적용. 대기 애니메이션 등록- asset에 animation 생성.- Loop time 체크하여 반복해서 재생true : 반복 재생false : 1회만 재생- animation view(animator)에서 편집 가능.- playerride로 들어가 assets에서 드래그를 하여 애니메이션 배치 가능. Samples- 2D 애니메이션의 프레임 재생 속도- 높을수록 애니메이션 속도 빠름 사망 애니..

유니티 2024.05.01

유니티 04. 2D 스프라이트 / 애니메이션

Draw Call- CPU에서 GPU에게 어떤 그림을 그려 달라고 요청하는 것.- Draw Call 값이 낮을 수록 게임이 가벼움. 기기에 따라 특정 개수 넘기면 프레임 저하 현상 발생.- 모바일의 경우 100을 넘기지 않는 것을 권장. Batches- Draw Call 을 포함하는 상위 개념. Draw Call 대신 Batches 기준으로 "Stats"에 랜더링 정보 표현.- Batches는 Mesh, material, Shader, Draw Call 등의 정보를 종합적으로 계산. 결론 : Batches가 낮을 수록 좋음. Sprite Atlas- 여러 장의 Sprite 이미지를 한 장의 텍스처에 모아 두고 사용하는 것.- 사용해야 하는 이유캐릭터, 적 등을 표현하는데에 사용되는 이미지 에셋은 랜더링 ..

유니티 2024.05.01

유니티 04. 플랫폼 게임에서의 플레이어 이동, 점프 구현

유니티 패키지 파일- 원하는 파일들을 하나로 묶어 다른 프로젝트로 전달할 때 사용.  Rigidbody2D 컴포넌트의 Constraints- Freeze Position : 물리에 의한 이동 중지- Freeze Rotation : 물리에 의한 회전 중지 - Collider 2D를 적용하면 충돌 처리 적용됨. 플레이어의 이동- 이동 속도를 나타내주는 c# 코드- 플레이어를 제어하는 c# 코드- 좌우 방향키로 제어 가능 플레이어의 점프- move 함수 처럼 외부에서 가져옴.- 스페이스 키를 누를 때마다 점프. 낮은 점프- y축 속력 값을 양수인 위로 올라가는 상태일 때 점프 키를 누르고 있으면  gravity 설정은 1 아닌 경우 2.5로 설정. rigid2D.gravityScale- 중력 계수- 플레이어에..

유니티 2024.05.01

유니티 03. 게임오브젝트 생성 & 삭제 함수 및 Instantiate() 활용

원본 오브젝트 - 게임에서 오브젝트를 복제 생성하기 위해 필요. - 게임 내부에 있는 오브젝트를 사용하지 않음. 예) 플레이어에 의해 원본으로 사용되던 것이 죽게 되어 더 이상 복제를 할 수 없게 됨. - 프로젝트 뷰에 파일로 저장해둔 프리팹(Prefeb)을 이용. 프리팹(Prefeb) - 안전하게 보관되어 있는 파일 형태. - 게임에 존재하는 게임 오브젝트 project view에 파일로 저장해 둔 것. 생성 1. 원하는 형태로 게임오브젝트를 꾸며줌. 2. Hierarchy View의 게임오브젝트를 Project View로 드래그&드롭함. 3. Hierarchy View에 있는 게임오브젝트를 삭제하여 project에 있는 오브젝트를 Hierarchy로 이동. Instantiate(원본오브젝트 정보) -..

유니티 2024.04.17

유니티 02. 게임오브젝트

물리 장애물 없는 환경에서 게임오브젝트 이동 프로젝트 생성 기본 2D로 생성하였기 때문에 현재 Hierarchy View에는 카메라만 존재. 위치는 (X: 0, Y: 0, Z: -10). Projection > Orthographic. - Sprite Renderer에 내가 보여고자 하는 사진 넣기. Transform.position - 위치를 제어하는 컴포넌트 - 오브젝트의 위치를 해당 영역에서 조정할 수 있음. - 포지션 정보를 바꾸게 되면 오브젝트의 위치를 바꿀 수 있음. - 왼쪽 transform.position은 값을 설정. 오른쪽 transform.position 값을 사용. - new Vector3(x,y,z)*속도 - new Vector3(x,y,z)*1 = Vector3.right*1 -..

유니티 2024.04.10