게임프로그래밍/Unity_C#

[멋쟁이사자처럼부트캠프] 유니티 게임 개발 5기(2025.06.04-2025.06.05)

shine94 2025. 6. 5. 19:50

해당 글은 유니티 게임 개발 수업 후 정리한 글입니다

   https://bootcamp.likelion.net/school/kdt-ugm-5th

 

유니티 게임 개발 5기 : 멋사 부트캠프

개발부터 출시까지! 나만의 게임을 세상에 선보이는 유니티 부트캠프

bootcamp.likelion.net

 

 

 

 

2025.06.04(수)

* UI(User Interface)

   사용자와 시각적으로 상호작용할 수 있게 해주는 기능

 

* UI를 화면에 표시하려면 Canvas 하단에 존재해야 렌더링된다

 

* UI에 이벤트 적용하려면 EventSystem이 존재해야 한다

 

* Canvas Render Mode 3가지

   (1) Screen Space - Overlay
        카메라 없이도 작동

        UI는 항상 화면 최상단에 표시됨

   (2) Screen Space - Camera
        특정 카메라를 지정해야 함

        UI가 카메라의 렌더링 영향을 받음

   (3) World Space

        UI가 일반 3D 오브젝트처럼 월드 좌표계에 존재

 

* Anchor

   UI를 화면 비율에 맞춰 위치·크기를 자동 조절하기 위한 기준점 설정

 

* 텍스트(Text)

   문자를 출력할 수 있는 UI 요소

 

* TextMeshPro용 Font Asset 생성

   사용자 지정 폰트(.ttf)를 TextMeshPro에서 사용하려면 SDF로 변환해야 한다

   우클릭 > Create > TextMeshPro > Font Asset > SDF

 

* 한글을 사용하기 위한 Font Asset 만들기

32-126,44032-55203,12593-12643,8200-9900

 

   32–126                  기본 ASCII 문자 (영문, 숫자, 특수문자)
   44032–55203        완성형 한글 (가~힣)
   12593–12643        한글 자모 (ㄱ~ㅣ)
   8200–9900            특수 문자 (공백, 따옴표 등 일부 포함)

 

* 기본 텍스트 에셋 변경

   Edit > Project Settings... >

   TextMesh Pro > Settings > Default Font Asset

 

 

2025.06.05(목)

* 오브젝트 마우스 이벤트

using System;
using UnityEngine;

public class ObjectMouseEvent : MonoBehaviour
{
    private void OnMouseDown()
    {
        Debug.Log("OnMouseDown");	// 마우스 누를 때
    }
    
    private void OnMouseUp()
    {
        Debug.Log("OnMouseUp");		// 마우스 눌렀다가, 뗐을 때
    }
    
    private void OnMouseEnter()
    {
        Debug.Log("OnMouseEnter");	// 마우스가 오브젝트에 첫 진입했을때
    }
    
    private void OnMouseOver()
    {
        Debug.Log("OnMouseOver");	// 마우스가 오브젝트 위에 있을때
    }
    
    private void OnMouseDrag()
    {
        Debug.Log("OnMouseDrag");	// 마우스를 누르고 드래그 했을때
    }
    
    private void OnMouseUpAsButton()
    {
        Debug.Log("OnMouseUpAsButton");	// 오브젝트 범위내에서 마우스 뗐을 때
    }
    
    private void OnMouseExit()
    {
        Debug.Log("OnMouseExit");	// 마우스가 범위 벗어날때
    }
}