사전캠프/Unity 15

유니티 - 반복 실행 구조

게임을 만들다보면 특정 기능을 반복해서 실행해야 하는 경우가 자주 발생합니다.유니티에서 반복실행 구조를 만드는방법을 정리하겠습니다. 제가 알고있는 반복 실행 구조는 총 3가지로Time.deltaTime 이용코루틴(Coroutine) 함수 사용인보크(Invoke) 함수 사용이 있습니다. Time.deltaTime 사용이 방법은 Update문에서 지난 시간을 누적하여 일정시간이 지나면 작동되는 방식으로, 반복 작동을 구현하거나 일정 시간이 지나면 특정 기능이 작동하도록 만들 수 있습니다. 3초마다 함수 DoAction을 호출하는 코드입니다.//몇초마다 작동할지(3초)private float waitTime = 3f;private float countDown = 0;private void Update(){ ..

사전캠프/Unity 2024.09.05

유니티 기능 - TextMeshPro

유니티는 현재 텍스트를 사용할 때 TextMeshPro 를 사용합니다. 이 기능은 레거시의 Text와 사용법이 크게 다르기 때문에, 사용법을 따로 알아야 할 필요가 있습니다. 처음 TextMeshPro를 통해 텍스트를 생성할 때, 추가 패키지를 설치하게 됩니다.이후 TextMeshPro를 모두 TMP로 축약해서 부르겠습니다.Import TMP Essentials 버튼을 눌러 패키지를 받아줍니다. TMP로 만든 텍스트 오브젝트에는 이러한 컴포넌트가 붙게됩니다.Font Asset 칸에 폰트를 넣어 텍스트의 폰트를 변경할 수 있으며, 해당 폰트에 속한 Material을 Material Perset 을 통해 골라서 사용할 수 있습니다. Font Style을 통해 텍스트에 굵게, 기울임꼴, 밑줄, 취소선을 넣을수..

사전캠프/Unity 2024.09.04

C# 기능 - Linq

4주차 강의중, Linq의 OrderBy 를 사용하여 무작위로 카드를 배치하는것을 볼 수 있습니다.C#에서 컬렉션 데이터를 가공할때 사용하는 Linq 문법을 정리하도록 하겠습니다. Linq는 닷넷에서 지원하는 확장 메서드로, 사용하기위해 System.Linq 네임스페이스를 선언할 필요가 있습니다.using System.Linq; 숫자로만 이루어진 배열이나 콜렉션의 경우, Linq를 사용하여 합, 갯수, 평균, 최댓값, 최소값을 구할 수 있습니다.각각 Sum(), Count(), Average(), Max(), Min() 의 함수로 사용이 가능합니다.using System.Linq;{ int[] ints = { 1, 2, 3, 4, 5, 6, 7, 8 }; //합, 36 저장 int sum..

사전캠프/Unity 2024.09.03

구글 기반 광고 만들기 - 구글 애드몹

5주차 강의 내용으로, Unity 에서 제공하는 광고 시스템을 사용해 제작한 게임에 광고를 등록합니다. 해당 내용 관련으로, 구글 애드몹을 사용하여 광고를 추가하는법을 정리해보도록 하겠습니다.이 내용은 모두 모바일 게임에 광고를 삽입하는 방법입니다. 먼저, 구글 애드몹을 사용할 수 있도록 플러그인을 추가해줄 필요가 있습니다아래 깃허브에서 플러그인을 패키지를 받아줍니다.https://github.com/googleads/googleads-mobile-unity/releases Releases · googleads/googleads-mobile-unityOfficial Unity Plugin for the Google Mobile Ads SDK - googleads/googleads-mobile-unityg..

사전캠프/Unity 2024.08.28

유니티 기능 - #region, #if

5주차 강의, 광고 추가에서 사용되는 코드를 보면 #if 를 사용하는것을 볼 수 있습니다.  void Awake() { // Get the Ad Unit ID for the current platform: #if UNITY_IOS _adUnitId = _iOSAdUnitId; #elif UNITY_ANDROID || UNITY_EDITOR _adUnitId = _androidAdUnitId; #endif // Disable the button until the ad is ready to show: }이는 무슨 역할을 하는지 정리해보겠습니다. #region#region singletonpublic static GameManager Instance;private void Awak..

사전캠프/Unity 2024.08.26

4주차 과제 - 30초가 지나면 게임 끝내기

카드 게임인 만큼 속도감 있게 만들어 볼까요?30초간 플레이하면 게임이 종료되는 시스템을 추가해봅시다!GameManager.cs 에 30초가 지나면 게임이 종료되도록 기능을 추가해주어야합니다.현재, GameManager 스크립트입니다.public class GameManager : MonoBehaviour{ #region singleton public static GameManager Instance; private void Awake() { if(Instance == null) { Instance = this; } } #endregion public Text timeText; float time = 0...

사전캠프/Unity 2024.08.26

Unity 기능 - Input System

강의 진행중, Input.mousePosition 으로 마우스 포인터의 좌표를 얻는다거나, Input.GetMouseButtonDown(0) 으로 좌클릭을 인식하는것을 보셨을겁니다. 이러한 Input 클래스에 대하여 정리해보도록 하겠습니다. Input 유니티 메뉴얼 링크 입니다.https://docs.unity3d.com/kr/530/ScriptReference/Input.html UnityEngine.Input - Unity 스크립팅 APIInterface into the Input system.docs.unity3d.com Input 시스템의 경우, 기본적으로 입력에 따라 true와 false를 반환하거나, mousePosition과 같이 Vector2 값을 반환합니다. 일단 키보드, 마우스, 조이스..

사전캠프/Unity 2024.08.22

3주차 과제 - 해적고양이 만들기

숙제 설명LV.4에서 해적 고양이가 나오게 해볼까요?고양이와 통통한 고양이, 그리고 해적 고양이가 나오는거에요!게임 메커닉 개발을 복습하는 것으로, 게임을 더 풍성하게 만들어봅시다. 필수숙제해적고양이는 아래의 조건을 갖고 있습니다.normalCat 보다 사이즈가 작음 scale x: 0.8, y: 0.8normalCat 보다 빠르게 내려옴 -0.1f3번째 고양이 유형인 해적고양이를 만들고, 레벨 4에 도달하면 해적고양이가 등장하도록 만들어주어야 합니다. 처음 주어진 패키지에 해적고양이 스프라이트가 포함되어 있습니다. 일반 고양이의 프리팹을 수정해서 해적 고양이를 만들어주도록 하겠습니다.일반 고양이 프리팹을 화면으로 다시 가져온 후, Prefab - Unpack Completely 를 선택하여 오브젝트의 ..

사전캠프/Unity 2024.08.22

Unity 기능 : ScreenToWorldPoint

2주차, 3주차 강의중,  카메라에 클래스에 포함된 ScreenToWorldPoint 함수를 사용해서 오브젝트를 마우스 위치에 맞게 움직이는것을 구현하였습니다. 이 함수는 어떻게 마우스의 위치를 게임상의 위치좌표로 변환하는지 정리해보도록 하겠습니다.해당 함수의 유니티 메뉴얼입니다.https://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html Unity - Scripting API: Camera.ScreenToWorldPointWorld space coordinates can still be calculated even when provided as an off-screen coordinate, for example for instantia..

사전캠프/Unity 2024.08.22

2주차 강의 - 떨어지는 네모를 없에기

숙제 설명화면 밖을 벗어나는 네모들을 Destroy 해주기!시간이 지나면서 네모들이 계속 쌓여가고 있어요..!화면을 벗어나면 square를 Destroy 해봅시다.화면에 보여지는 네모와 실제 square(clone)의 수가 일치하면 완성! 필수숙제Square.cs 파일에 접근합니다.네모가 화면을 벗어나면 없애는 로직을 추가합니다.네모가 떨어지면서 화면 밖으로 나가면 네모를 삭제해야 합니다. square.cs에서 자신을 삭제하도록 만들어주어야하기 때문에, 네모 Position 의 Y값이 화면에 있는것보다 낮을경우 네모를 삭제해주면 됩니다.가장 크게 생성되는 1.5 크기의 네모를 45도로 돌렸을때, Y값이 -6.5 보다 낮으면 완전히 화면에서 사라지게 됩니다.이를 기준으로 만들어주겠습니다. 네모가 떨어지면서..

사전캠프/Unity 2024.08.21