[Figma] 피그마 색상 선택과 변경 방법

이미지
  디자인하다 보면 자연스럽게 "어떤 색상을 쓸까?", "이미 적용한 색을 바꾸려면 어떻게 할까?" 이런 고민을 하게 됩니다. 특히 피그마는 웹 기반이기 때문에 버튼, 텍스트 ,배경 등 모든 요소에 색을 자유롭게 적용할 수 있기 떄문에 고민이 더 깊어질 수 있습니다. 그래서 일단은 피그마에서 색상을 선택하고 변경하는 방법에 대해서 알아볼 예정입니다. 색상 선택 방법 피그마에서 색상을 선택하는 기본 방법은 아주 간단합니다. 오브젝트를 먼저 선택해 주세요 색상을 바꾸고 싶은 도형, 텍스트, 아이콘 등이 있겠죠 오브젝트를 선택한 후에 오른쪽 속성 패널에서 Fill(채우기)에서 색상을 클릭하면 아래 이미지처럼 색상을 선택할 수 있는 UI가 나옵니다. 변경하고자 하는 색상을 선택해 주면 됩니다. 이때 색상을 변경하는 방법은 총 세 가지입니다. 색상 피커를 직접 드래그 해서 색상을 변경하는 방법 HEX 코드를 입력(예시: #FF0000, #00FF00 등) RGBA 값 입력 - Red, Green, Blue, Alpha(투명도) 값을 직접 입력합니다. 이렇게 하면 원하는 색상을 아주 정밀하게 선택할 수 있습니다. 색상 변경 & 관리 방법 색상을 고른 뒤에는 프로젝트 전반적으로 일관성 있게 사용하거나 상황에 맞게 변경해야 합니다. 색상 변경하기 이미 적용한 색상을 바꾸려면 위의 방법과 동일하게 Fill 항목을 클릭해서 변경합니다. 새로운 색상을 선택하면 바로 적용됩니다. 색상 스타일 만들기 자주 쓰는 색은 Style로 지정할 수 있습니다. Fill > 우측 상단 + 버튼을 클릭해서 원하는 이름을 입력하고 색상을 저장합니다. 그러면 아래 이미지처럼 스타일로 색상이 저장된 걸 확인할 수 있습니다. 라이브러리에 추가된 게 보이시죠? 스타일로 지정한 색상은 그 색이 적용된 모든 오브젝트가 자동으로 업데이트됩니다. 예를 들면 "메인 버튼 색상"을 초록에서 파랑으로 변경한 경우 전체 버튼이 모두 변경됩니다. 이 외에도...

[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# 스크립트 가이드

이 블로그의 인기 게시물

[Blender] 블렌더 속도 2배! 꼭 알아야 할 단축키와 설정 팁

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

[Blender] 블렌더 미러 모디파이어(Mirror Modifier) 활용법