내일배움캠프 Unity 9기 15

[Unity/TIL] - UI Image 깨지지 않게 만들기

이런 UI창을 만들고 싶었다. 이미지 사이즈는 100*100 이미지 Inspector에서 Texture Type을 Sprite로 바꿔야 UI 이미지로 쓸 수 있다. 1920*1080 화면에이미지를 놓고 늘리니 깨진다. 이미지 크기가 작아서 그런가..? 이번엔 1122*1060 사이즈의 이미지를 가져와서 넣어봤지만그래도 깨진다.모서리 선의 굵기가 균일하지 않고 늘어진다. 깨지지 않고 UI 이미지로 쓰는 법 Image 컴포넌트에서Image Type를 Sliced로 설정. 이미지의 Inspector로 와서 Sprite Editor 를 누른다. 초록 점을 옮겨 이미지를 9등분으로 슬라이스해준다.* 가운데 부분에 올 이미지는 연결했을 때 자연스러워 보이기 위해 되도록 아무런 장식이 없는 것으로 하는 것이..

[Unity/TIL] - 4주차 Unity입문 트러블슈팅

1. MainCamera 배경색이 화면을 덮음. - target을 따라다니는 카메라를 만들었는데- 플레이해보면 MainCamera에 지정된 Color가 화면을 덮음 =>z 포지션이 타겟과 동일해져서 그렇다.MainCamaera의 z 포지션 -10을 유지시켜준다.target의 x,y 포지션만 동일하게 만든다. 2. 씬을 불러오지 못하는 문제 ❗Scene 'MiniGameScene' couldn't be loaded because it has not been added to the build settings or the AssetBundle has not been loaded. 라는 오류가 뜨며 씬을 불러오지 못했다. =>File - Build Settings에 들어가서 씬을 추가해주니 해결되었다. ..

[Unity/TIL] - 맵 그리기(타일맵)

강의에서 가장 재밌었던 맵 만들기. 타일맵(Tilemap)이란?2D 게임 개발에서 격자 기반 맵(Grid-Based Map) 을 쉽게 생성하고 관리할 수 있는 기능.타일(Tile)이라는 작은 사각형 조각들을 사용하여 게임 맵을 효율적으로 구성할 수 있다. 맵 그리기 빈 오브젝트에 그리드 컴포넌트를 추가해준다. 그러면 씬뷰에 격자무늬가 생긴다. 그리드 안에 맵을 구성할 요소들을 추가해준다.2D Object - Tilemap - Rectangular Tilemap Renderer의 Order in Layer을 변경해준다. Floor , Collision - Back - Front 0 - 10 - 200 씬뷰의 오른쪽에 있는 Open Tile Palette를 누른다. 또는 Window - 2D ..

[Unity/TIL] - Rigidbody / Quaternion / 이벤트함수 / 카메라 움직이기 / 오브젝트 무한생성

Rigidbody2D.velocity객체가 이동하는 속도와 방향을 Vector2 형태로 설정하거나 가져올 수 있다.Vector2 currentVelocity = rb.velocity; // 현재 속도 저장 (혹시 나중에 복원할 수도 있음)rb.velocity = new Vector2(5f, 0f); // 새로운 속도로 덮어씀 (오른쪽으로 이동)x 방향으로 초당 5 유닛의 속도로 이동*Vector2는 값 타입(struct) Mathf.Clamp(값, min, max)값을 특정 범위 내로 제한하는 함수float angle = Mathf.Clamp((_rigidbody.velocity.y * 10f), -90, 90);transform.rotation = Quaternion.Euler(0, 0, angle)..

[Unity/TIL] - 애니메이션, 트랜지션 추가하기 / GetComponent

애니메이션 추가하기애니메이션을 추가할 오브젝트를 선택 후window - Animation - Animation 클릭. Create New Clip 클릭해서 애니메이션을 만든다 Animator창에 Model 오브젝트에 적용한 flap, die 애니메이션 노드가 뜬다. 트랜지션 추가하기트랜지션이란 ? 하나의 애니메이션 상태에서 다른 상태로 넘어가는 연결선flap 우클릭 - Make TransitionParameters - + - int - IsDie 입력 flap -> die 트랜지션을IsDie - Equals - 1로 만든다.(=> IsDie가 1이 되면 die애니메이션이 실행된다) has exit time - Animator체크 - 애니메이션이 끝날 때까지 기다림체크 해제 - 즉시 다른 애니메이션으..

[Unity/TIL] - new로 생성한 객체는 클래스와 동기화 되나요?

1. 오늘의 질문 - new로 생성한 객체와 클래스는 동기화 되는가? class ItemItem 클래스에 만들어놓은 hpPotion 변수. class BattleUIBattleUI에서 객체를 생성하고 GetHpPotion함수를 이용해 hpPotion값을 추가해줬다. class Item 그러고 나서 다시 Item 클래스로 돌아와 hpPotion 값을 살펴보니증가하지 않고 여전히 3이었다. 2. 답변 또는 발견 - new를 통해 생성하면 (매개변수 없을시) 별개의 객체가 된다. 동기화되지 않는다. >> static을 붙여서 모든 클래스에서 공유되는 변수로 만든다. 3. 느낀점접근 한정자와 static과 객체생성 등 강의를 들을때는 이해했다고 생각했지만 실제 프로젝트를 진행해보니헷갈리고 어려운 점이..

[Unity/TIL] - static

static 이란 ?- 공통적인 것, 인스턴스 없이 접근할 수 있는 것더보기💡 인스턴스란? "클래스를 기반으로 만들어진 실제 물건(객체)"Player p1 = new Player();p1.name = "용사";p1.hp = 100;Player p2 = new Player();p2.name = "도적";p2.hp = 80;여기서 p1, p2는 **Player 클래스의 인스턴스(실체, 객체)개념의미클래스설계도, 틀 (예: Player)인스턴스그 설계도로 찍어낸 실제 객체 (p1, p2)⚠️ static은 인스턴스가 아님! static이 붙은 변수나 메서드는 클래스 자체에 속해 있음 new 키워드로 객체를 만들지 않아도 바로 쓸 수 있음(인스턴스 없이 사용 가능)class Player{ public i..

[Unity/TIL] - 오류해결모음

챗지피티와 함께하는 오류 해결 모음 1. 오류public Character(){ public string name = ""; ...} // ❌클래스의 필드(변수)는 클래스 본문에서 선언하고, 생성자 안에서는 초기화만 해야 돼. 1. 해결class Character{ public string name; public string job; public int level; public int attack; public int defense; public int hp; public int gold; public Character() { name = ""; job = ""; level = 1; attack ..

[Unity/TIL] - Top-level statements (최상위 문) / namespace(네임스페이스)

"Top-level statements must precede namespace and type declarations.""최상위 문장은 네임스페이스나 타입 선언보다 앞에 있어야 합니다."라고 오류가 뜬다. 해결방법>>> 맨앞에 두거나 Main 메서드 안에 넣으면 오류가 없어진다. Top-level statements (최상위 문)(C# 9이상)main 매서드 안에 들어가지 않아도 맨위에 적을 시 자동으로 main 메서드 안에 넣은것과 같은 효과를 준다. 예전엔 프로젝트를 생성하면 Main() 메서드가 생겨서 그 안에 코드를 넣어서 실행시켜야 했다면지금은 Main()메서드 없이 1줄로 사용가능하다. 1줄로 보이지만 컴파일하면class Program{ static void Main() { ..

[Unity/TIL] - 네이밍규칙(코딩스탠다드)

코드에서 변수명 함수명을 작성할때는 여러가지 규칙이 있습니다.그리고 맨 처음 단어의 스펠링의 대소문자에 따라 카멜 케이스, 파스칼 케이스 라고 합니다. myPoint 카멜 케이스 enemyName 카멜 케이스 AttackMonster 파스칼 케이스FindCharacter 파스칼 케이스 다른 코딩 스탠다드>>https://learn.microsoft.com/ko-kr/dotnet/csharp/fundamentals/coding-style/coding-conventions .NET 코딩 규칙 - C#C#에서 일반적으로 사용되는 코딩 규칙에 관해 알아봅니다. 코딩 규칙은 코드를 일관되게 표시하고 코드 복사, 변경 및 유지 관리를 용이하게 합니다. 이 문서에는 문서 리포지토리 코딩 지침도learn.micr..