동적 텍스처

동적 텍스처란?

동적 텍스처는 게임에서 사용되는 텍스처 그룹의 한 종류로, 텍스처를 메모리에 로드하는 방식에 따라 다릅니다. 텍스처 그룹 설정에서 그룹을 "기본(Default)" 또는 "동적(Dynamic)"으로 표시할 수 있습니다. HTML5에서는 동적 텍스처 그룹이 지원되지 않습니다.

텍스처의 작동 방식

기본 그룹(Default Groups)

  • 기본 텍스처 그룹은 최종 게임 패키지(WAD 파일)에 포함됩니다.
  • 게임이 시작되면 이러한 텍스처 그룹은 RAM에 로드되고, 필요할 때 VRAM으로 미리 가져옵니다.

동적 그룹(Dynamic Groups)

  • 동적 텍스처 그룹은 게임 시작 시 로드되지 않습니다.
  • 필요할 때(예: 이미지가 그려질 때) 또는 수동으로 로드됩니다.
  • texturegroup_load() 함수를 호출하여 RAM에 수동으로 로드할 수 있습니다.
  • 기본적으로 이 함수는 그룹을 압축 해제하고 VRAM으로 미리 가져옵니다.
  • 두 번째 인자를 false로 설정하면 미리 가져오기를 비활성화할 수 있습니다.

동적 텍스처 그룹의 언로드

  • texturegroup_unload() 함수를 사용하여 텍스처 그룹을 언로드할 수 있습니다.
  • 이 함수는 메모리에서 제거하고 원래 압축된 형태로 디스크에 다시 저장합니다.

동적 그룹 모드

texturegroup_set_mode() 함수를 사용하여 동적 그룹의 "모드"를 "암시적(Implicit)" 또는 "명시적(Explicit)"로 설정할 수 있습니다.

암시적 모드(Implicit)

  • 기본 설정입니다. 동적 그룹의 자동 로딩을 활성화합니다.
  • 언로드된 동적 그룹의 이미지를 그리면 해당 텍스처 그룹이 로드됩니다.
  • 이 과정에서 약간의 지연이 발생할 수 있습니다.

명시적 모드(Explicit)

  • 자동 로딩을 비활성화합니다. 수동으로 로드해야 합니다.
  • 로드되지 않은 텍스처 그룹의 이미지를 그리면 오류가 발생합니다.
  • texturegroup_set_mode()에서 "대체(fallback)" 스프라이트를 설정할 수 있습니다.

경로 및 모딩

  • 텍스처 그룹 설정에서 동적 그룹이 최종 게임 디렉토리 내에 위치할 경로를 설정할 수 있습니다.
  • 그룹 형식을 "PNG"로 설정하면 내보낸 텍스처 파일을 직접 수정할 수 있습니다.

추가 함수

다음은 동적 그룹과 관련된 몇 가지 추가 함수입니다:

함수 이름 설명
texturegroup_set_mode() 모드를 설정하고 디버깅을 활성화하여 모든 텍스처 페이지 정보를 화면에 표시합니다.
texturegroup_get_status() 텍스처 그룹의 상태를 반환하여 로드 여부, 언로드 여부 등을 알려줍니다.

활용 예제

// 동적 텍스처 그룹 로드
texturegroup_load("my_dynamic_group");

// 동적 텍스처 그룹 언로드
texturegroup_unload("my_dynamic_group");

// 동적 그룹 모드 설정: 명시적
texturegroup_set_mode(true);

// 대체 스프라이트 설정
texturegroup_set_mode(true, fallback_sprite);
// 텍스처 그룹 상태 확인
var status = texturegroup_get_status("my_dynamic_group");
if (status == "unloaded") {
    // 그룹이 언로드된 경우 로드
    texturegroup_load("my_dynamic_group");
}
// 동적 텍스처 사용 예
draw_texture_group("my_dynamic_group", 0, 0);
// 동적 텍스처 그룹의 모드 변경
texturegroup_set_mode(false);

이 문서에서는 동적 텍스처의 개념과 활용 방법에 대해 설명했습니다.

Read more

기술 문서 해설 및 활용 예제

이 문서는 특정 기술에 대한 설명과 활용 방법을 다룹니다. 아래에서 내용을 쉽게 이해할 수 있도록 해설하고, 다양한 활용 및 응용 예제를 추가로 제공합니다. 기술 개요 이 기술은 게임 개발에서 자주 사용되는 기능으로, 특정 작업을 자동화하거나 효율적으로 처리하는 데 도움을 줍니다. 주로 게임의 로직을 구성하거나 사용자 인터페이스를 제어하는 데 사용됩니다. 주요

By 이재협/실장/시스템개발실/PHYSIA

키워드 설명서

이 문서는 특정 키워드에 대한 설명과 사용법을 제공합니다. 문법 (arguments); 인수 인수 이름 유형 설명 argument_name 인수에 대한 설명을 여기에 작성합니다. 반환값 (선택적 설명) 예제 code_example() { // 여기에 코드 예제를 설명합니다. } 코드 예제 설명 위의 코드 예제는 특정 기능을 수행하는 함수의 기본 구조를 보여줍니다. 이 함수는 인수를 받아들이고, 특정

By 이재협/실장/시스템개발실/PHYSIA

GameMaker 환경 설정 및 기능

이 문서에서는 GameMaker의 환경 설정 및 다양한 IDE 기능에 대한 정보를 제공합니다. 다음은 주요 항목들입니다: IDE 환경 설정 IDE(통합 개발 환경) 설정은 GameMaker의 전반적인 사용 경험을 조정하는 데 도움을 줍니다. 여기서 사용자는 개인의 필요에 맞게 다양한 옵션을 설정할 수 있습니다. 주요 설정 항목 설정 항목 설명 테마 IDE의 색상

By 이재협/실장/시스템개발실/PHYSIA

GameMaker IDE 설명서

GameMaker IDE는 게임을 만들고 소프트웨어에서 제공하는 모든 기능을 활용하는 주요 인터페이스입니다. 이 프로그램은 시작 화면부터 게임을 만들기 위해 사용하는 모든 편집기 창까지 포함되며, 매뉴얼과 다양한 튜토리얼에서 IDE라고 언급됩니다. IDE의 구성 요소 다음 섹션에서는 IDE에 대한 정보를 다룹니다: 1. 설정 및 기능 IDE의 설정 및 기능은 사용자가 게임 개발을 보다 효율적으로

By 이재협/실장/시스템개발실/PHYSIA