2d30 [Unity/2D] 체력바 게이지 상승하는 코드 작성 - UI, OnTriggerEnter2D, localScale 이전편 2024.04.03 - [Unity/2D] - [Unity/2D] 체력바 만들기 - Canvas, UI, Anchors 밑에서 위로 올라가는 Food의 중력 설정 Food에 Rigidbody의 타입을 Dynamic에서 'Kinematic'으로 바꿨습니다. 또한, 콜라이더에 'is Trigger'를 체크 해주었습니다. NormalCat의 콜라이더에도 'is Trigger'를 체크해주었습니다. 그러면 OnTriggerEnter2D 이벤트 함수를 사용해야겠죠? 이유는 아래 게시글을 참고해주세요. 2024.04.03 - [Unity/2D] - [Unity/2D] 밑에서 위로 올라가는 물체의 중력 - Rigidbody, Dynamic, Kinematic 차이 고양이가 Food에 맞으면 체력바 게이지 상승 .. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 3. [Unity/2D] 체력바 만들기 - Canvas, UI, Anchors NormalCat의 Hungry, Full 이미지 설정 NormalCat은 빈 오브젝트로 생성 Hungry, Full은 Sprites → Square 로 생성 우선 Full은 숨겨주겠습니다. Hungry 고양이의 체력바 이미지 생성 및 설정 Hungry 밑에 체력바를 생성해보겠습니다. Hungry → UI → Image 클릭 이제 Canvas를 클릭해보시면 Render Mode에 Overlay라고 적혀있죠? 휴대폰이라면 휴대폰 기기 스크린에, 노트북이면 노트북 기기 스크린에 직접적으로 그려진다고 생각하시면 됩니다. 자세한 설명은 더보기란▼ 더보기 Render Mode 중 Overlay는 카메라의 배경 위에 UI 요소를 렌더링하는 모드를 말합니다. 즉, Overlay 모드에서는 UI 요소가 카메라의 배경을.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 3. [Unity/2D] 디자이너와 협업하기, 리소스 받았을 때 편한점 이렇게 디자이너에게 패키지형태로 리소스를 받아서 작업하는 경우가 현업에선 흔할텐데요. 이때까지는 직접 Sprites → Square 에 들어가서 오브젝트를 생성했었는데, 리소스를 받아서 개발하는 것이 더 편하다라는 것을 알려드리려 합니다. 패키지를 Assets 폴더에 드래그 앤 드롭하고, import한 모습입니다. Square을 추가해주시고 해당 Square에 Sprite Renderer → Sprite 칸에 원하는 리소스 이미지를 끌어다 놓으면 이런식으로 리소스를 넣을 수 있습니다. 강아지 리소스는 또 추가한 것입니다. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 3. [Unity/2D] 풍선 터지는 애니메이션 만들기, New Clip(클립) 만들기 - Animation, Animator, Create New Clip Ballon_Die 애니메이션 클립 만들기 Assets → 'Ballon_Idle' 더블 클릭 Hierarchy → MainScene → 'Balloon' 더블 클릭 애니메이션 창이 뜨지 않는다면? 더보기란▼ 더보기 Balloon_Idle 밑에 'Create New Clip' 클릭 Animations 클릭 'Balloon_Die' 라는 이름으로 저장 녹화버튼을 누르고, 20으로 이동 후 Color 값 RGBA(255, 0, 0, 125) 설정 Scale 값 X, Y(2, 2) 설정 이후 녹화버튼 정지! Balloon_Die 로 가서 Loop Time 끄기! (딱 1번만 실행) Balloon Animator - 애니메이션 전환 적용하기 Balloon 이라는 Animator 더블 클릭 들어가보면 이런 화면이.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 2. [Unity/2D] isPlay 변수로 게임시간의 소수점값이 미세하게 달라지는 현상 방지하기 실제 게임시간과 게임종료시 뜨는 점수판의 게임시간이 미세한 오차로 나타나는 현상이 일어날 수 있습니다. 이를 방지하고자 isPlay라는 bool 자료형의 변수를 활용해보겠습니다. 이러한 오차가 발생하는 이유는 Time.timeScale = 0.0f; 때문입니다. 아래 게시글에서 '0초가 되었을 때 게임 종료 화면 활성화하기' 부분의 맨마지막 '더보기'란을 참고해주세요. 2024.03.28 - [Unity/2D] - [Unity/2D] 시간 감소 및 게임 종료, 프레임 - anchor(앵커), Time.deltaTime, Time.timeScale, ToString bool isPlay = true; // 타임의 소수점값이 미세하게 달라지는 것마저 방지하기 위한 변수 선언 float time = 0.0f;.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 1. [Unity] GameManager 싱글톤 패턴 - Singleton GameManager 싱글톤 처리하기싱글톤이란? '너는 딱 하나야!' 라고 할 수 있게 세팅해두는 것(그래야 다른데서 나를 부를 수 있습니다!)public static GameManager Instance;void Awake(){ if(Instance == null) { Instance = this; }}Instance == null 이란?null 은 비어있다는 뜻입니다.변수는 데이터/값을 담아 놓는 박스인데요, 이 변수(박스)가 비어 있을 때 Instance = this 를 해주겠다는 뜻입니다. 여기서 static 키워드는 '너 하나야'라고 표현해주기 위해 사용됩니다. + 내용추가 public static AudioManager instance; private void Awake() .. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 1. [Unity/2D] 쉐도우 효과 넣기 - Shadow, UI 쉐도우 효과가 뭐지? 할 수도 있으실거 같아서 미리 결과보여드리고 시작하겠습니다. 이렇게 하얀색 판넬 뒤에 노란색 그림자가 보이실텐데 이 효과를 만들어보겠습니다. 우선 Shadow 컴포넌트를 찾고 추가해주었습니다. Color 값은 R : 255 G : 255 B : 0 A : 150 으로 노란색을 적용해주었습니다. 쉐도우 효과 거리값은 X : 15 Y : -15 로 설정해주었습니다. 그러면 이렇게 하얀색 판넬 뒤로 노란색 쉐도우 효과가 생기게 됩니다. 모바일 화면 크기 설정이 궁금하다면? 2024.03.28 - [Unity/기타] - [Unity] 모바일 크기 설정 / 디스플레이 설정 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 3. 29. [Unity/2D] 깜빡이는 애니메이션 효과 - Animation, Animator Animation, Animator 컴포넌트를 만드는 법은 아래 게시글을 참고해주세요. 2024.03.28 - [Unity/2D] - [Unity/2D] 간단한 애니메이션 만들기 - Animator, Animation 우선 녹화버튼을 클릭합니다. 타임라인을 20으로 이동합니다. 20의 시간에 Sprite Renderer의 Color 값을 R : 200 G : 200 으로 변경해주었습니다. 이제 원래 색상으로 돌아가야겠죠? 40의 시간으로 가서 원래 색상인 R : 255 G : 255 으로 변경해주었습니다. 그리고 애니메이션 녹화버튼을 다시 눌러주시면 애니메이션 저장이 완료됩니다. 결과 모바일 화면 크기 설정이 궁금하다면? 2024.03.28 - [Unity/기타] - [Unity] 모바일 크기 설정 / .. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 3. 29. [Unity/2D] 게임 재시작 및 버튼 만들기 - On Click, Button, Time.timeScale 이전편 2024.03.28 - [Unity/2D] - [Unity/2D] 시간 감소 및 게임 종료 게임 재시작 버튼 만들기 EndPanel 에 Button 컴포넌트를 추가해주었습니다. using UnityEngine.SceneManagement; public class RetryButton : MonoBehaviour { // 버튼이 클릭될 때 Retry() 함수 실행 public void Retry() { // 'MainScene'이라는 씬 로드 SceneManager.LoadScene("MainScene"); } } 'RetryButton' 이라는 스크립트도 생성해주었습니다. 해당 스크립트를 EndPanel에 넣어주었습니다. Button 컴포넌트에 On Click () 에서 '+' 버튼을 클릭합니다... 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 3. 28. [Unity/2D] 시간 감소 및 게임 종료, 프레임 - anchor(앵커), Time.deltaTime, Time.timeScale, ToString 이전편 2024.03.28 - [Unity/2D] - [Unity/2D] 빗방울과 플레이어 충돌 체크 및 점수 올리기 - Singleton(싱글톤) 패턴 게임 종료 화면 Image 설정 Canvas → UI → Image 클릭해주겠습니다. R : 232 G : 52 B : 78 결과 게임 종료 화면 속 텍스트 설정 Image 밑에 Text 생성 텍스트는 게임 종료화면 이미지의 크기와 항상 똑같게 하려고합니다. 우선 Rect Transform에서 네모난 그림을 클릭 이 상태에서 Alt+Shift를 누르면 이렇게 모양이 좀 다르게 나오는데 여기서 맨 오른쪽 하단의 모양 클릭 위와 같이 설정 아까 Image오브젝트의 이름은 EndPanel로 변경 결과 게임 종료 화면 비활성화 이후 EndPanel의 오브젝트의.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 3. 28. [Unity/2D] 빗방울과 플레이어 충돌 체크 및 점수 올리기 - Singleton(싱글톤) 패턴 이전편 2024.03.28 - [Unity/2D] - [Unity/2D] 점수 보드 만들기 - UI(User Interface) 싱글톤 패턴 GameManager에 점수를 올려주는 기능을 만들건데, 이 기능을 다른 스크립트에서 불러올 수 있게끔 사전작업을 먼저 해주겠습니다. 그래서 '싱글톤'이라는 것을 만들 건데요, 싱글톤이라는 것은 나 하나밖에 없다 라는 것입니다. 한마디로 '이 프로젝트에서 GameManager라는 객체는 나 하나밖에 없다' 그리고 '여러 스크립트에서 접근이 가능하게 만들어주는 기능'이라고 생각해주시면 될 것 같습니다. GameManager.cs public static GameManager Instance; // 싱글톤을 위한 변수생성 private void Awake() { Ins.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 3. 28. [Unity/2D] 점수 보드 만들기 - UI(User Interface) 이전편 2024.03.28 - [Unity/2D] - [Unity/2D] 점수 보드 만들기 - UI(User Interface) UI는 Canvas라는 도화지 위에 그려지고, 카메라 위치와는 관계가 없이 보여집니다. → 버튼 / 텍스트 / 순위 등을 보여줄 때 사용됩니다. 점수 보드를 만들어 보겠습니다. 우선 Hierarchy창에 마우스 우클릭을 해주세요. UI → Legacy → Text 를 클릭합니다. 그러면 이렇게 우리가 원래 작업하던 공간이 아닌 별게의 Canvas 공간에 Text가 나타나게 됩니다. Canvas를 더블클릭해보면 이렇게 굉장히 넓은 영역으로 이동을 했습니다. 이 Canvas라는게 카메라가 찍는게 아니라 화면에 바로 그려지는 영역이라는 것을 알 수 있습니다. Text를 더블클릭하여 .. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 3. 28. 이전 1 2 3 다음 반응형