[Office 365] Excel 기본 글꼴 설정이 새 파일에 적용되지 않을 때 해결 방법

이미지
  ChatGPT 생성 이미지 Excel에서 기본 글꼴을 바꾸는 작업은 보통 간단해 보입니다. `File -> Options -> General`로 들어가 글꼴과 글꼴 크기를 바꾸고 확인을 누르면 끝이라고 생각하기 쉽습니다. 그런데 실제로는 이 설정이 바로 현재 열려 있는 파일에 적용되는 것이 아니라, 앞으로 새로 만드는 통합 문서에 적용된다는 점에서 많이 헷갈립니다. 가장 흔한 실패 장면은 세 가지입니다. 첫째, 사용자는 기본 글꼴을 바꾼 직후 이미 열려 있는 파일에서 글꼴이 바뀌지 않는 것을 보고 설정이 실패했다고 판단합니다. 둘째, 새 파일을 만들었는데도 기존 서식이 남아 있는 템플릿이나 시작 파일 때문에 새 글꼴이 보이지 않습니다. 셋째, Excel을 다시 시작하지 않아서 설정이 반영되지 않은 상태에서 테스트합니다. 이 글은 바로 그 세 가지 혼동을 분리해서 설명합니다. 단순히 “옵션을 다시 확인하세요”라고 끝내지 않고, 사용자가 실제로 보는 메뉴 경로와 성공 화면, 실패 화면, 재현 조건, 복구 순서를 순서대로 보여 드리겠습니다. 왜 새 파일에 기본 글꼴이 적용되지 않는가? Excel 기본 글꼴 문제는 대부분 `설정이 저장되지 않은 경우`보다 `적용 대상이 다른 경우`에서 생깁니다. 즉 옵션 자체는 맞게 바꿨지만 사용자가 기대한 대상과 Excel이 실제로 적용하는 대상이 서로 다를 때 문제가 시작됩니다. 첫 번째 원인은 현재 파일과 새 파일을 혼동한 경우입니다. `File -> Options -> General -> When creating new workbooks`에서 바꾸는 기본 글꼴은 지금 열려 있는 시트가 아니라 앞으로 새로 만드는 빈 통합 문서에 적용됩니다. 이미 열려 있는 파일이나 다른 사람이 만든 기존 파일은 기존 서식을 유지할 수 있습니다. 두 번째 원인은 Excel을 다시 시작하지 않은 경우입니다. Excel은 기본 글꼴 변경 후 앱 재시작이 필요한 경우가 많습니다. 옵션 창에서 확인을 눌렀더라도 테스...

[Unity] 유니티 오브젝트 생성과 삭제 스크립트

 


유니티로 게임을 만들다 보면 "필요한 오브젝트를 언제, 어디서, 어떻게 만들어야 할까?"라는 고민을 자주 하게 됩니다.

예를 들어, 총알이 발사될 때 새로운 총알 오브젝트를 만들어야 하고, 적 캐릭터가 쓰러지면 그 캐릭터를 삭제해야 하죠

이때 유니티에서는 Instantiat()함수로 오브젝트를 생성하고 Destroy() 함수로 삭제할 수 있습니다. 

이번 글에서는 쉽게 오브젝트 생성과 삭제의 기본 원리를 알아보도록 하겠습니다.


씬을 실행시키고 스페이스 바를 눌렀을 때 큐브가 추가됩니다.

그리고 일정 시간(3초) 후 큐브는 사라집니다.

이건 코드를 만든 다음 빈 오브젝트를 만들고 추가한 상태입니다.

먼저 공유해드린 코드는 빈 오브젝트를 만들고 거기에 추가해 주세요

using UnityEngine;


public class ObjectCreator : MonoBehaviour

{

    public GameObject cubePrefab; // 생성할 오브젝트(프리팹)


    void Update()

    {

        if (Input.GetKeyDown(KeyCode.Space))

        {

            Instantiate(cubePrefab, new Vector3(0, 1, 0), Quaternion.identity);

        }

    }

}


그리고 아래 코드는 큐브에 컴포넌트를 추가해 주세요
using UnityEngine;

public class ObjectRemover : MonoBehaviour
{
    void Start()
    {
        Destroy(gameObject, 3f); // 3초 뒤 삭제
    }
}

그럼 정리해보도록 하겠습니다

Instantiate 함수로 만든 오브젝트는 어디에 저장될까요?
 > 지정한 위치(Position)와 회전 값(Rotation)에 생성됩니다.

프리팹이 꼭 있어야 할까요?
> 아니요/ 이미 씬에 있는 오브젝트도 원본으로 사용할 수 있습니다.

Destroy를 쓰면 바로 사라지나요?
> 시간을 지정하지 않으면 즉시 사라집니다.

총알처럼 여러 개 빠르게 생성해도 될까요?
> 생성할 수 있습니다. 하지만 너무 많이 생성하면 성능에 문제가 생길 수 있습니다.

Instantiate로 만든 오브젝트 이름은 바꿀 수 있을까요?
> newObject.name = "새 이름"; 으로 변경할 수 있습니다.

Destroy를 호출해도 삭제가 안 될 때가 있는데 왜일까요?
> 코드에서 다른 객체를 참조하고 있거나, Prefab 자체를 Destroy 하려고 하면 안 됩니다.

Destroy 대신 SetaActive(false)를 쓰면 다른 점이 있을까요?
> Destroy()는 메모리에서 삭제하지만, SetActive(false)는 비활성화만 합니다.

일정 시간마다 오브젝트를 자동 생성하려면 어떻게 해야 할까요?
> InvokeRepeating()이나 코루틴(Coroutine)을 활용하면 됩니다.

삭제된 오브젝트는 다시 살릴 수 있을까요?
> 삭제되면 복구가 불가능합니다. 필요하다면 SetActive(false)로 비활성화를 고려하세요

Instantitate와 Destroy를 너무 자주 쓰면 게임이 느려질까요?
> 최적화를 위해 오브젝트 풀링(Object Pooling)기법을 활용하는 것이 좋습니다.


유니티에서 오브젝트를 생성하는 방법과 삭제하는 방법에 대해서 간략하게 살펴봤습니다.
Instantiate() > 오브젝트 만들기, Destroy() > 오브젝트 지우기
게임 개발에서 가장 자주 쓰이는 기본 기능이므로 꼭 이해하고 연습하는 걸 추천합니다.
특히 총알, 아이템, 적 캐릭터처럼 생겼다가 사라지는 오브젝트에 많이 활용되니 직접 여러 가지 예제를 만들면서 연습하는 걸 추천해 드립니다.

읽어주셔서 감사합니다. 추가로 궁금하신 내용이 있으시다면 하단의 글을 참고해 주세요

[Unity] Unity Rigidbody로 물리 적용하는 방법

[Unity] 유니티 컴포넌트가 뭐야? 초보자도 5분 만에 이해하는 핵심 정리

[Unity] 유니티 완전 초보를 위한 C# 스크립트 가이드

이 블로그의 인기 게시물

[Notion] 노션에서 페이지 간 링크 연결하는 방법 총정리

[Notion] 노션 문서 PDF로 저장하는 방법

[Notion] 노션 기본 템플릿 5가지 소개와 활용 팁